DocumentationIntroduction
GET STARTED

Documentation

Build and review commercial property cases with Astra Risk.

Astra Risk is a durable, human-reviewed underwriting agent for commercial property submissions. PostgreSQL jobs extract facts from a broker submission, check them against guidelines, pause for missing information, and resume when a broker responds. An underwriter makes every final decision.

Cases and Federato triage share the supplied 2025 commercial property appetite. Neither binds coverage.

Documentation

How to use Astra Risk

Astra Risk is an AI assistant for insurance work. Describe what you need in plain language and it does the reading, checking, and explaining; a person makes every final call.

There are two ways in:

  • Get an estimate is public. Chat with the assistant about tenant or car insurance and get a price range, the reasons behind it, and the questions that would tighten it.
  • The workspace is for underwriters. Hand it a broker's commercial property submission and the agent reads the notes, checks them against the carrier appetite, asks the broker when something is missing, and writes a brief for you to approve or decline. It can also rank the live Federato queue.
Estimates come from demo rate tables and cases use the supplied 2025 commercial property appetite. Quoting and binding stay with the carrier.

Get an estimate

Open Get an estimate. It is open to anyone. Type what you know in your own words, for example:

I rent an apartment in Toronto, my things are worth about $20,000, no claims.

The assistant replies with:

  • A price range per month and per year, in Canadian dollars.
  • What affects the price: each factor it used and whether it pushed the price up, down, or left it alone.
  • What it assumed to fill the gaps, so you can correct it.
  • Questions, each with a one-line reason it is being asked.

If your message leaves the product open, it asks first: tenant insurance or car insurance. If something required is missing, it asks for that before showing a price.

Answer the questions with the dropdowns and fields under the estimate and select Update estimate. Everything you have already said is remembered, so each question comes up once. You can also keep typing; new messages add to what the assistant already knows.

Some situations need a person. Three or more claims, unusually high-value contents, classic or very expensive vehicles, and provinces where basic auto insurance comes from the public insurer (British Columbia, Saskatchewan, Manitoba) all end with a next step in place of a price. The assistant tells you why and what to do next.

The line at the bottom of each reply names which model read your message. Only the facts it understood are saved.

Submit a case

Sign in with an approved Google account, then choose Create case in the sidebar or Create a submission on the overview page.

  1. Pick a sample or start blank. The sample menu has five ready-made submissions: an acceptable risk, territory and age referrals, a loss referral, a case that needs broker follow-up, and one with full appetite evidence. Use them to see each outcome without typing anything.
  2. Fill in the insured. Name, state, total insured value, and, if you have them, the oldest building year and historical loss count.
  3. Add carrier appetite evidence where you know it: new or renewal business, line, premium, eligible construction percentage, five-year loss dollars, and policy dates. Leave anything unknown blank. The agent asks the broker for it.
  4. Add the property address if you have it, and the agent pulls a dozen public datasets on the location. Paste the broker's notes. Unstructured text is fine. Optionally add a public URL about the property and the agent will visit it for extra evidence.
  5. Select Start analysis.

The case page opens straight away and updates on its own. While the agent works you see which stage it is on, what it is looking for, and a running commentary of what it just did and why that matters. A typical case takes under a minute.

What the agent gives you

When analysis finishes, the case page shows:

SectionWhat it tells you
BriefA short, plain-language summary of the risk that leads with anything you should look at.
Appetite recommendationA match score out of 100 against the carrier appetite, a priority score for the queue, and the suggested next step.
Listen to briefThe same brief read aloud, when the voice integration is on.
Activity traceEvery step the agent took, in order: intake, both reads of the notes, public research, guideline checks, broker follow-ups, and review actions.
Extracted factsState, insured value, year built, loss count, and each carrier appetite field, with where it came from, how confident the agent is, and the sentence of broker text it was read from. Facts are read by independent methods, a value is only ever cited with a verbatim quote, and a disagreement between the reads is listed beside the fact and becomes a finding of its own.
Carrier appetite checksEight checks: primary risk state, total insured value, building age, total premium, submission type, line of business, construction mix, and five-year loss value. Each is pass, refer, or unknown, with the evidence and rule behind it.
Public-source evidenceA cited excerpt from the URL you supplied, shown as context for you to verify.
Public property recordsWith a property address, the agent pulls the public record: FEMA flood zone, wildfire history, USGS seismicity, ten years of weather and the elevation from Open-Meteo, fire stations, hydrants and neighbouring hazards from OpenStreetMap, EPA-regulated sites, the Census tract, US Drought Monitor, and federal disaster declarations. Each becomes a cited finding, and the hazards move the priority score by a stated number of points, listed line by line beside the appetite score.

A refer means an underwriter should take a look. An unknown is a question for the broker.

Ask the agent

Under the analysis there is a small conversation box. Type a question, or open Voice and just talk: the mic stays live, a pause ends your turn, the reply plays straight back with the transcript running alongside. Either way the agent answers from the case record: which check to start with, where a fact came from, what it would ask the broker, how the public source lines up with the notes. Replies name their source and confidence when that matters. With Speak replies on, each answer is read aloud as well as written.

The conversation lives on the page while you keep it open. The case record stays as it is; broker replies and decisions still go through the forms below.

Broker follow-up

If a required fact is missing, the case pauses at Waiting for broker and the page shows the exact question to send. When the broker answers, paste their reply into Broker response and select Add response and resume. The agent re-reads the submission with the new information, re-runs every check, and produces a fresh brief.

Paused cases keep their place. If a day passes with the broker still quiet, the trace notes that the follow-up is due. Sending the reminder is up to you.

Approve or decline

When a case reaches Ready for review, write your rationale under Underwriter decision and choose Approve review or Decline. The decision and your reasoning are recorded on the case permanently and appear in the trace. Approving a review is a recommendation for the file. Quoting and binding happen in the carrier's own systems.

The queue

Open Queue. The last ranked queue loads straight away, and Rank again reads the live Federato API in about fifteen seconds: it discovers the fields the API exposes, reads every submission and each uniquely linked policy, and scores all of them against the same appetite the cases use.

Every row carries the carrier's own vocabulary. Target fits the target band on state, insured value, premium, and building age. Acceptable fits appetite on all eight factors with at least one outside the target band. Needs information has open answers; the row names each one, where it comes from, and what the submission becomes once they land. Outside appetite has an exception on at least one factor and says which, with the figure. The queue orders itself the same way: verified matches, then open answers, then exceptions.

Filter by line of business and disposition with the chips. Open as case turns a row into a case: every verified fact goes in as evidence, every open answer stays blank so the agent asks the broker for it, and the case remembers its place in the queue. Evidence and sources shows the points on every factor and where each value came from, and How the queue was read shows the queries the agent ran and why. More holds the slide deck and print options.

Models and rules

Rules decide; models read. Every appetite disposition comes from a deterministic engine that applies the carrier's thresholds, so the same evidence always gives the same answer and every factor cites its source. Language models do the reading: they pull the construction year and the loss count out of broker prose, and two independent reads plus a parser have to agree before a value is used. The model scorecard measures each reader on the same broker notes: accuracy, invented values, latency, and cost.

Quote requests

Every conversation on the public estimate page lands in Quotes as one evolving record: the product and province, the estimate or referral it ended with, how many turns it took, which model read the messages, and the facts the assistant heard. The header counts how many are waiting for an advisor. The list refreshes on its own.

Overview and settings

Overview shows how many cases are in analysis, waiting on a broker, or ready for review, plus shortcuts, recent cases, agent quality over the last 30 days, and a chart of submissions by day. Cases lists everything; filter by insured, state, or status. Settings switches between light and dark themes; the choice is saved in your browser.

Case statuses

A case is always in exactly one of these states.

StatusMeaning
ReceivedSubmitted and queued for analysis.
ExtractingThe agent is reading the broker's notes and any replies.
Checking guidelinesFacts are being tested against the carrier appetite.
Waiting for brokerSomething required is missing. The question is on the case.
Ready for reviewChecks are done. An underwriter decision is needed.
Approved, DeclinedFinal. The rationale is stored on the case.
Needs attentionAnalysis could not finish. The reason is shown on the case.

Where the lines are

  • Every estimate is a demo range and every case ends with a human decision. Quoting and binding stay with the carrier.
  • Public research goes to the one URL you supply and to open government datasets for the address you give. Every figure comes back with a link to the record it was read from.
  • Follow-up questions are written for you to send; the agent stays off email and messaging.
  • On the estimate page, only the facts the assistant understood are kept.
  • The activity trace records what the agent did and when, in the agent's own words on the page.

API

Everything the workspace does goes through a small JSON API on the same origin, so you can drive it from your own tools. Errors come back as { "error": string }.

POST/api/quote

Send text and any answers with a quoteId; get back the facts heard, the estimate or next step, and the questions.

GET/api/cases

The most recent cases, newest first.

POST/api/cases

Start a case with the same fields as the submission form. Returns the new case ID.

GET/api/cases/{id}

The case, its activity trace, and whether a voice brief is available.

POST/api/cases/{id}/actions

Deliver a broker response (kind: "broker_response") or a decision (kind: "approve" | "decline") with a reason. Include a client-generated id so a retry is safe.

GET/api/cases/{id}/audio

The review brief as spoken audio.

POST/api/cases/{id}/chat

Ask the agent about a case. Send text with the recent history, or a multipart audio recording to be transcribed first; set voice to get the reply back as MP3 too.

POST/api/triage

POST runs a live Federato ranking, stores it, and returns the full report; GET returns the last stored report.