Triage and Routing
Read a commercial P&C broker submission and decide what happens to it next: decline, request missing information, route to straight-through quoting, or send it to the right underwriting desk. The underwriter opens a file that is complete, in appetite, and prioritized, and spends their time on risk selection rather than sorting.
The business problem
A commercial P&C submission arrives as a mixed package — an email with attachments, a zip file, or one large PDF bundling an ACORD application, a statement of values, loss runs, a broker cover note, supplemental questionnaires, and financials. Before an underwriter can even start pricing the risk, someone has to identify every document, pull the relevant facts into one account view, check it against appetite guidelines across however many lines of business are requested, and decide whether the file is even complete enough to work.
The Triage and Routing template automates that whole first pass. It classifies and extracts each document, reconciles everything into a single account view, then runs a deterministic triage engine that checks clearance, completeness, and appetite; assigns a complexity tier and a priority score; and decides a disposition. Clean straight-through risks and confident declines complete on their own — everything else routes to underwriting triage review with the rationale already attached.
Trigger and source data
The template ships with the Manual File Upload trigger. You can configure other triggers if you'd like, including a connection to an Outlook email inbox and starting runs programmatically through the Bevaya API. See Configure triggers.
To run the template, upload a broker submission package — an email with attachments, a zip file, or one large PDF. The template recognizes:
- Applications — ACORD forms or an agency or carrier commercial application
- Statements of values / exposure schedules — property, auto, or payroll schedules
- Loss runs — historical claims by line of business
- Broker email / cover narrative — target premium, need-by date, remarketing reason
- Supplemental questionnaires — line-specific risk questions
- Financial statements — for lines where financial strength matters (e.g. Directors and Officers)
- Other — anything that isn't clearly one of the above (MVRs, certificates, photos, loss control reports) is classified as Other and kept on the item, but not extracted
Lines of business in scope are Property, General Liability, Workers Compensation, Commercial Auto, Excess and Surplus, Package, Directors and Officers, Errors and Omissions, and Healthcare Liability.
Template starting point
Create an AI agent from the Triage and Routing template for a working flow that classifies, extracts, reconciles, triages, validates, and routes for review out of the box. Open it in the canvas, select an environment, click Start Editing, and adjust it to your document mix and appetite guidelines. See Create an AI Agent.
What the template preconfigures
The template will execute the following nodes:
| Step in the flow | Node it uses | Category |
|---|---|---|
| Prepare the uploaded files | Read Files | Utility |
| Process every document in the package | For Loop | Control |
| Classify each document | InsurGPT: Custom | InsurGPT |
| Route each document to the matching extractor | Switch | Control |
| Extract ACORD fields (named insured, FEIN, NAICS, lines and limits requested, prior carrier, payroll, experience mod, and more) | InsurGPT: Custom | InsurGPT |
| Extract exposure schedule fields (location count, TIV, construction, sprinklers, fleet, payroll by class code) | InsurGPT: Custom | InsurGPT |
| Extract loss run fields (carrier, line, valuation date, claim counts, incurred and reserved amounts, largest loss) | InsurGPT: Custom | InsurGPT |
| Extract broker email fields (agency, contact, target and expiring premium, need-by date, remarketing reason) | InsurGPT: Custom | InsurGPT |
| Extract supplemental questionnaire fields (line-specific risk questions — subcontracted work, public company status, healthcare facility type, hazardous materials, and more) | InsurGPT: Custom | InsurGPT |
| Extract financial statement fields (statement type, fiscal year end, revenue, net income, going concern) | InsurGPT: Custom | InsurGPT |
| Collect every document's extraction into one set | Custom Code Blocks | Utility |
| Reconcile the package into one account-level view | InsurGPT: Custom | InsurGPT |
| Check reconciled fields against validation rules | Field Validation | Utility |
| Run the deterministic triage engine (clearance, completeness, appetite, tier, priority, disposition) | Custom Code Blocks | Utility |
| Branch on whether the file qualifies for straight-through completion | Switch | Control |
| Route the package to a person, when review is required | Review | Utility |
| Close out the item | Complete | Action |
How the triage decisions are made
The decisions are rule-based by design. The InsurGPT nodes read and reconcile; a Custom Code Block applies an appetite guide held as data (prohibited and restricted classes, TIV limits, CAT states, loss thresholds, and required data by line) so every knockout and referral traces to a specific rule. The template ships with an illustrative demo appetite guide you can open directly in that node.
You can take a different approach to the same step:
- Provide the agent with your underwriting guidelines. Replace or supplement the rules node with an InsurGPT node that reads your appetite guide and underwriting manual as reference documents and returns a disposition with its reasoning. This adapts faster to guideline changes but is harder to audit rule by rule.
- Connect to your own systems. Clearance (duplicate, broker of record, OFAC, and licensing checks) is a placeholder in the template and reports as not performed. Connect those checks to your policy administration and compliance systems through an HTTP node, and the triage rules can use real results.
What builders must configure before deployment
- Appetite guidelines. The template ships with a demo appetite configuration — prohibited and restricted classes by NAICS code and keyword, per-line-of-business knockouts, specialty and referral triggers, and straight-through thresholds across nine lines of business (Property, General Liability, Workers Compensation, Commercial Auto, Excess and Surplus, Package, Directors and Officers, Errors and Omissions, and Healthcare Liability). Replace it with your own underwriting guidelines before going live.
- Clearance. Clearance is a placeholder in this version — the flow doesn't yet run any real duplicate/incumbent check, broker-of-record check, OFAC sanctions screening, or producer licensing check. It reports each one as "Not Performed" and marks the file "Cleared (Stub)" so the rest of triage can proceed. Wire these to your actual clearance systems before relying on the disposition for anything beyond completeness and appetite.
- Priority scoring weights. The point values behind premium size, need-by urgency, completeness, and loss ratio (and the score-to-band cutoffs) are a starting model — tune them to how your team actually prioritizes work.
- Validation thresholds and review routing. Set confidence thresholds and the reviewer assignment to your standards. See Utility nodes.
- A connection to your policy or agency management system. We recommend an HTTP node after validation to search your system for the account or broker record, followed by a Custom Code Block to apply your own matching rules.
How the AI agent behaves
The agent classifies and extracts each document in the package, then reconciles everything into one account-level view — named insured, exposure, loss history, requested lines and limits, and broker details — resolving conflicts across sources into a single set of values plus a note of any source conflicts it found.
Only lines the broker actually requested count. An unchecked option printed on an application is not a request, and the broker's stated ask wins when it conflicts with the application.
That reconciled view then runs through a deterministic triage engine — clearance (a placeholder in this version; see What builders must configure before deployment), completeness against the fields and documents required for every requested line of business, appetite against prohibited and restricted NAICS codes and keywords, years in business, loss ratio and shock losses, prior non-renewals, and per-line-of-business knockout, specialty, and referral rules, and a complexity tier.
The triage rules then resolve in a fixed order:
- Any knockout on a requested line: Decline.
- Missing mandatory data or documents: NIGO, with a drafted, itemized request to the broker.
- Any specialty trigger: Specialty.
- Every requested line meets its straight-through criteria and nothing is referred: STP.
- Otherwise: Standard, with referral triggers listed for the underwriter.
Decline and STP complete without review only when no field driving the decision came back low confidence.
The engine also produces a priority score (0–100, banded High/Medium/Low) from premium size, need-by urgency, completeness, and loss ratio, and an authority profile summarizing industry, lines of business, state, requested limit, and the underwriting track the file should follow. Every knockout, specialty trigger, referral, and missing item carries a plain-language reason, and if the engine itself hits an unexpected error, it never halts the flow — it routes the file to a person with the error stated rather than guessing a disposition.
Human review model
Review happens on the item in the Bevaya Platform, organized into these groups on both the Insights and Review tabs:
- Triage Decision — disposition, quoting track, complexity tier, priority score and band, authority profile, lines of business, and the rationale
- Clearance — clearance status and the individual checks, shown as "(Stub)" since none run yet in this version
- Completeness — completeness status, missing items, and a drafted broker information request when the file is NIGO
- Appetite — appetite status, knockout reasons, referral triggers, and the appetite guideline version applied
- Insured Profile — named insured, DBA, FEIN, NAICS, operations, state, requested lines, years operating, revenue, and employees
- Exposure — TIV, largest building value, locations, construction, oldest building year, sprinklers, CAT exposures, payroll, experience mod, power units, drivers, and operating radius
- Loss History — years covered, five-year claim count, open claims, five-year incurred, largest claim, five-year loss ratio, and large open reserves
- Broker Details — agency, broker name and email, target and current premium, need-by date, requested limit, and special requests
- Data Quality — any conflicts the reconciliation step found across source documents
When a package routes for review, the exception reason names the specific flags that drove it — a knockout, a missing item, or a referral trigger — so the reviewer knows exactly what to check first. See Human review.
Run status and reporting
Each package becomes an item that moves through the standard lifecycle statuses — In Progress, Review, Complete, Failed, Canceled. Watch individual runs and inspect each step's input, output, and status in Run history, and see live counts of items by status on the Item status reporting page.
Example run
An electrical contractor's broker emails an application, a contractors supplemental, a fleet and payroll workbook, and loss runs from two prior carriers, requesting General Liability, Commercial Auto, and Workers Compensation.
- The flow ingests the package and classifies five documents.
- It extracts payroll by class, the experience mod, fleet size, and five years of losses, then reconciles one account view.
- Completeness passes: every required field and document for all three lines is present.
- Appetite passes with no knockouts. The fleet of 11 power units exceeds the straight-through limit for auto, so the file is tiered Standard rather than STP.
- The reviewer sees a Standard recommendation with priority 68, confirms it, and the item routes to the standard underwriting desk.
Common failure modes
- A hard-required field or document is missing. The file is marked NIGO and a broker information request is drafted automatically, listing exactly what's needed — rather than guessing at a value or blocking on an unclear reason.
- A field driving a Decline or STP disposition is low-confidence. The engine withholds straight-through completion and routes to review instead, so a low-confidence extraction can't silently drive an automated decline.
- The triage engine itself errors on unexpected input. Rather than halting the flow, it falls back to a Standard disposition and routes to a person with the actual error stated, so a bad input never gets stuck or silently mis-triaged.
- A submission spans lines of business with different requirements. Completeness and appetite are evaluated per requested line and then combined, so a package requesting both Property and Workers Compensation is checked against both sets of rules rather than just one.
Recommended rollout path
- Replace the demo appetite configuration with your actual underwriting guidelines — prohibited/restricted classes, per-line knockouts, and straight-through thresholds.
- Wire clearance to real systems, or confirm with your underwriting team that shipping it as a placeholder is acceptable for your initial rollout.
- Connect it to your policy or agency management system. Add the HTTP and Custom Code Block nodes for your account search and matching logic.
- Build and test on real submissions. Use Run Draft on representative packages across your lines of business, inspecting each step. See Test and debug a draft.
- Pilot with underwriters to confirm the disposition, tier, and priority logic match how your team actually triages work.
- Promote to production. Publish the flow and configure your production trigger. See Drafts and publishing.
Where to go next
- Utility nodes — Field Validation, Custom Code Blocks, and Review.
- InsurGPT nodes — classification and extraction.
- Control nodes — Switch and For Loop.
- App integration nodes — connect a write-back to your own systems.
- Human review — the Insights and Review tabs the reviewer works from.
- Item status reporting — track packages by status.
- Rating & Quoting — the step after, for a submission that clears triage.
- Use cases overview — the full catalog of supported patterns.