Skip to content

Underwriting Document Chase

Example prompt: "When an underwriter emails us asking for more information on an application — claims history, statement of values, accountant's letter, risk survey — draft a request to the client, log what's outstanding, chase at sensible intervals, and flag anything still missing inside 7 days of the underwriter's deadline."

The Problem

An underwriter sends a subjectivities email asking for three things — five years of claims history, a current statement of values, and the most recent fire-risk-assessment. The account handler forwards it to the client with "see below, please send when you have a moment", and three weeks later the underwriter chases us, the cover is supposed to incept on the first of next month, and nobody has tracked which of the three documents the client has actually returned. The cases that bite are the renewals that go to market a week before incept date because we spent the previous month chasing a document that the client thought we had already received.

How GloriaMundo Solves It

We build a workflow that fires when an underwriter's subjectivities email lands in the broker mailbox or when we mark a row on the Applications sheet as 'Awaiting client documents'. An LLM step extracts the list of requested items from the underwriter's email (or reads them from the sheet). An integration step creates one row per document on the Subjectivities Tracker, each with status 'Requested' and the underwriter_deadline. An LLM step composes a single client email listing every outstanding document with a one-line note on what each one looks like, and an integration step saves it as a Gmail draft for the account handler to review and send. A scheduled step runs every weekday, finds rows still in 'Requested' or 'Partial' status, and bands them by days_to_underwriter_deadline — band 14 (gentle chase), band 7 (clear ask), band 3 (red alert in #underwriting), band 0 (escalate to producer). Every chase is logged with a (subjectivity_row_id, band) idempotency key. Glass Box preview shows every draft and every alert before they leave the office.

Example Workflow Steps

  1. Trigger (integration): An underwriter email lands in the broker mailbox referencing an open application, OR an account handler marks an Applications row as 'Awaiting client documents' on the Google Sheet.
  2. Step 1 (llm): Extract the list of requested items from the underwriter's email — typical items include claims history, statement of values, accountant's letter, fire-risk-assessment, business continuity plan, gap analysis, schedule of vehicles, schedule of drivers, schedule of premises.
  3. Step 2 (integration + code): For each requested item, write a row to the 'Subjectivities Tracker' tab with application_id, document_type, status 'Requested', request_date, underwriter_deadline, and a provisional subjectivity_row_id allocated as 'SUB-[YYYY]-[6-digit sequence]'. Dedupe on (application_id, document_type) — a row already in 'Requested' or 'Partial' resumes rather than duplicating.
  4. Step 3 (llm): Compose a single client email listing every outstanding document with a one-line note on what the underwriter expects each one to look like (e.g. 'claims history: a five-year loss run from the prior insurer or the loss-run service'). Reference the underwriter's deadline and the cover incept date.
  5. Step 4 (integration): Save the client email as a Gmail draft to the client contact on the Applications sheet. Persist gmail_request_draft_link to each Subjectivities Tracker row created in this run.
  6. Step 5 (scheduled, weekday): Every weekday at 9am, read the Subjectivities Tracker filtered to status 'Requested' or 'Partial'. For each row, compute days_to_underwriter_deadline and bucket into a band — 14, 7, 3, or 0.
  7. Step 6 (code, gate): Dedupe on (subjectivity_row_id, band) against the 'Subjectivities Chase Log' tab; a row already logged at this band halts; otherwise write a provisional row with status 'Allocating' before any drafting step.
  8. Step 7 (llm + integration): For bands 14 and 7, compose a chase email to the client naming the still-outstanding documents and the underwriter's deadline, save as a Gmail draft, and persist gmail_chase_draft_link to the provisional Chase Log row. For band 3, additionally post a red alert in #underwriting on Slack tagging the account handler. For band 0, escalate the alert to the producer with a link to the application and the still-outstanding list.
  9. Step 8 (integration): Post the daily underwriting digest in #underwriting on Slack — counts by band, the band-3 and band-0 names called out, the band-14 list for the account handler's review.
  10. Step 9 (integration): Flip the provisional Chase Log row's status from 'Allocating' to 'Chased'.

Integrations Used

  • Gmail — the underwriter mailbox trigger, the client document-request draft, the chase drafts
  • Google Sheets — the Applications, Subjectivities Tracker, and Subjectivities Chase Log
  • Google Drive — the per-application document folder where returned documents are filed
  • Slack — the daily underwriting digest, the band-3 red alerts, the band-0 producer escalations

Who This Is For

Commercial brokers and MGAs placing risks that require subjectivities or post-binding documentation — property schedules, fleet schedules, professional indemnity proposal extras, cyber risk surveys — where the underwriter's deadline is a hard gate and the cost of going to market again at the last minute is days of producer time and a worse quote.

Time & Cost Saved

An account handler tracking subjectivities across 20 to 40 open applications typically loses three to five hours a week to scrolling through emails to work out who is waiting on what, drafting individual chase notes, and apologising to underwriters who have not heard back. This workflow turns it into a 15-minute review of pre-drafted requests and chases every morning, and the band-3 and band-0 alerts surface the cases that actually need a phone call rather than another email. The applications that previously slipped past the deadline because nobody noticed the band-7 row no longer slip.