Insurance
Claims triage
A triage agent that reads each first-notice-of-loss, classifies severity and coverage, and routes it to the right adjuster with the facts already extracted — so claims stop aging in a shared inbox.
- LangGraph
- Anthropic
- Postgres
- River
time to first action
adjuster capacity
In short
- Every claim is classified and routed the moment it arrives, not when someone opens the inbox.
- Severity and missing-information checks run up front, so adjusters open a claim that's ready to work.
- Coverage decisions the model isn't sure about go to a human — never auto-denied.
The engagement
- Sector
- Insurance (P&C)
- Company shape
- Regional carrier, high claim volume
- Engagement
- Triage agent + adjuster tooling, ~10 weeks
- Region
- North America
Anonymised by policy
The challenge
First-notice-of-loss arrived by email, web form, and PDF, landed in one shared queue, and waited for a human to read, classify, and route it. Simple claims and complex ones aged at the same rate, and the delay was worst on exactly the severe claims that needed a fast response.
A blunt auto-classifier was a non-starter in a regulated line: a wrong coverage or severity call has real consequences, so anything the model touched had to be explainable and reversible — and a low-confidence coverage decision could never auto-deny a claimant.
The approach
- 1Extract before you classify
Each claim is normalised and the key facts (loss type, date, policy, damages) are extracted and cited before any routing decision, so a human can check the inputs.
- 2Severity and coverage as separate calls
The agent scores severity and checks coverage independently, and a low-confidence coverage call is flagged for an adjuster rather than decided.
- 3Route with the work already done
The claim reaches the right adjuster with facts extracted, missing information listed, and severity attached — so the human starts from a prepared file.
- 4Reversible and logged
Every routing and classification decision is logged and reversible; nothing the agent does is a dead end.
The solution
The agent ingests each notice, extracts and cites the claim facts, scores severity, and checks coverage. High-confidence, low-severity claims route straight to the right queue; anything severe or uncertain is escalated to an adjuster with the extracted facts and a list of what's missing. Coverage is never auto-denied — a low-confidence decision is a human decision.
Because every step is logged and reversible, the carrier gets speed without giving up the audit trail a regulated line requires.
The system we built
- Intakeemail / form / PDF
- Extract + citeloss facts, policy
- Severity scoretriage priority
- Coverage checkflag low-confidence
- Routeto the right adjuster
The results
time to first action
median, vs. the shared-inbox baseline
adjuster capacity
claims handled per adjuster-day
auto-denied claims
low-confidence coverage always goes to a human
Data & safety
- Guardrails
- Coverage is never auto-denied; low-confidence decisions route to a licensed adjuster.
- Traceability
- Every classification and routing decision is logged, cited, and reversible for audit.
- Data handling
- Claim data stays within the carrier's environment; no PII to third-party models.
The stack
- LangGraph
- Anthropic
- Postgres
- River