Bot Integration API: Status Transition Webhooks, DMS Linking, and Quality Check Workflows for RPA-Extracted Data
How InsightUW ingests Marine Hull & Machinery submissions from RPA bots, tracks document management URLs, and runs a CBP quality check before any extracted data reaches an underwriter.
The Problem
Carriers investing in RPA (Robotic Process Automation) face a paradox: bots extract data faster than humans, but nobody trusts the output. A bot pulls vessel specifications from a Marine Hull & Machinery application — tonnage, hull material, class society, flag state — and pushes it into the underwriting system. But who verifies it?
In most shops, the answer is "nobody until something blows up." The bot pushes data directly into the policy admin system. Three months later, a claims adjuster discovers the hull material was misread as "steel" when the application clearly stated "aluminum composite." The reserve is wrong. The reinsurance ceding is wrong. Everything downstream is wrong.
The root causes:
- No status machine — bots push data once; there's no intermediate "pending review" state
- No DMS linkage — the bot extracted from a document, but there's no link back to the source page
- No quality check queue — extracted data goes straight to the underwriter's screen with no CBP verification layer
- No reject/correction flow — when a human spots an error, there's no structured way to send it back for re-extraction
- No audit trail — which bot, which version, which document, which field — none of it is tracked
The cost: A single misextracted limit field on a Marine Hull policy can swing exposure by $10M+.
The InsightUW Bot Integration Architecture
InsightUW treats bot-extracted data as untrusted input that must pass through a structured quality gate before it enters the underwriting workflow.
The Status Machine: 6 States, Zero Ambiguity
Every bot-sourced submission moves through a strict state machine. No state can be skipped. Every transition fires a webhook and logs an audit event.
| State | Who Owns It | What Happens | Duration |
|---|---|---|---|
new |
System | Submission created, documents linked | < 1 second |
| extraction pending | Bot | Bot is actively extracting fields from documents | 10-60 seconds |
| extraction complete | System | All fields extracted, confidence scores attached | < 1 second |
| quality check | Underwriting Assistant | Human reviews extracted data against source documents | 5-15 minutes |
| qc approved | System | QC passed, data is trusted | < 1 second |
| in review | Underwriter | Submission in UW work queue with verified data | Hours-days |
The Scenario
A broker submits a Marine Hull & Machinery application for a Panamax bulk carrier. The submission arrives in the company's document management system (DMS), and a UiPath bot picks it up for extraction.
The Vessel:
- Name: MV Pacific Meridian
- Type: Panamax Bulk Carrier
- Year Built: 2019
- Flag State: Marshall Islands
- Class Society: Lloyd's Register
- Gross Tonnage: 82,400 GT
- Hull Value: $38,000,000
- Machinery Value: $12,000,000
- Total Insured Value: $50,000,000
- Trade Area: Worldwide excluding war zones
Step 1: Bot Creates the Submission
The UiPath bot calls the InsightUW API to register a new submission:
Step 2: System Queues for Quality Check
The system detects that trade area has confidence 0.87 (below the 0.90 threshold). InsightUW automatically:
- Sets status to quality check
- Assigns to next Underwriting Assistant in the QC rotation (Maria Santos)
- Flags the low-confidence field with a yellow highlight
- Links the DMS document URL so Maria can view the source
Step 3: CBP Reviews in the QC Queue
Maria opens her QC work queue:
| Submission | Insured | LOB | Flagged Fields | DMS Link | Wait Time |
|---|---|---|---|---|---|
| SUB-2026-MH-0042 | Pacific Meridian Shipping | Marine H&M | 1 (trade_area) | View Source | 2 min |
| SUB-2026-MH-0039 | Nordic Tankers AS | Marine H&M | 3 (hull_value, tonnage, class) | View Source | 8 min |
She clicks into SUB-2026-MH-0042 and sees the extraction results side-by-side with the DMS document:
| Field | Extracted Value | Confidence | Source Page | Status |
|---|---|---|---|---|
| vessel_name | MV Pacific Meridian | 98% | Page 1 | ✅ Auto-approved |
| vessel_type | Panamax Bulk Carrier | 95% | Page 1 | ✅ Auto-approved |
| year_built | 2019 | 99% | Page 1 | ✅ Auto-approved |
| flag_state | Marshall Islands | 97% | Page 2 | ✅ Auto-approved |
| class_society | Lloyd's Register | 96% | Page 2 | ✅ Auto-approved |
| gross_tonnage | 82,400 GT | 94% | Page 2 | ✅ Auto-approved |
| hull_value | $38,000,000 | 91% | Page 3 | ✅ Auto-approved |
| machinery_value | $12,000,000 | 89% | Page 3 | ⚠️ Review |
| total_insured_value | $50,000,000 | 93% | Page 3 | ✅ Auto-approved |
| trade_area | Worldwide excl. war zones | 87% | Page 4 | 🔴 Flagged |
Maria clicks the DMS link, navigates to page 4, and reads: "Trading area: Worldwide excluding war zones and high-risk areas as defined by the Joint War Committee (JWC) listed areas."
The bot truncated the value. Maria corrects it:
Step 4: CBP Approves (or Rejects)
Approve flow:
Reject flow (if the extraction was fundamentally wrong):
On rejection, the status reverts to extraction pending, the bot receives a webhook notification, and a new extraction cycle begins.
DMS URL Tracking
Every bot submission carries a dms document url that links back to the source document in the carrier's document management system (NetDocuments, iManage, SharePoint, or custom DMS). This creates a permanent chain of custody:
At every stage — QC review, underwriter analysis, quote generation, audit — any user can click the DMS link and see the exact source document the bot extracted from.
Webhook Notifications
Every status transition fires a webhook to registered listeners (bot orchestrators, DMS systems, downstream policy systems):
Webhook events fired for MV Pacific Meridian:
| # | Event | Status Transition | Fired At | Listener |
|---|---|---|---|---|
| 1 | submission.created |
→ new |
9:00:00 | DMS, Bot Orchestrator |
| 2 | submission.extraction_started |
new → extraction pending |
9:00:01 | Bot Orchestrator |
| 3 | submission.extraction_complete |
extraction pending → extraction complete | 9:00:45 | QC Engine |
| 4 | submission.qc_queued |
extraction complete → quality check | 9:00:46 | CBP FIFO Engine |
| 5 | submission.qc_approved |
quality check → qc approved | 9:07:46 | UW Assignment Engine |
| 6 | submission.assigned |
qc approved → in review | 9:07:47 | UW Notification, DMS |
Auto-Notification to CBP via FIFO
When a bot submission enters the quality check state, InsightUW's FIFO engine assigns it to the next available Underwriting Assistant on the QC rotation — separate from the general submission intake rotation. This ensures QC work doesn't compete with new submission triage.
| QC Rotation | Analyst | Last QC Assigned | QC Count Today | Status |
|---|---|---|---|---|
| 1 | Rachel Torres | 9:05 AM | 6 | Active |
| 2 | Kevin Patel | 8:58 AM | 5 | Active |
| 3 | Maria Santos | 8:42 AM | 4 | NEXT |
| 4 | David Kim | 8:50 AM | 5 | Active |
Maria has the oldest last qc assigned at timestamp — she gets the MV Pacific Meridian QC review. A push notification appears in her app header bell within 1 second.
Confidence Thresholds Configuration
Administrators configure per-LOB confidence thresholds. Fields below the threshold require manual QC review; fields above are auto-approved:
| LOB | Auto-Approve Threshold | Flag for QC Threshold | Reject Threshold |
|---|---|---|---|
| Marine Hull & Machinery | >= 0.95 | 0.85 - 0.94 | < 0.85 |
| Cyber Liability | >= 0.92 | 0.80 - 0.91 | < 0.80 |
| General Liability | >= 0.90 | 0.75 - 0.89 | < 0.75 |
| Workers Compensation | >= 0.90 | 0.80 - 0.89 | < 0.80 |
Marine H&M has the highest threshold because vessel specifications are safety-critical — a misread gross tonnage can invalidate classification society requirements.
The Full Timeline: MV Pacific Meridian
| Time | Event | Status | Actor |
|---|---|---|---|
| 9:00:00 AM | Bot creates submission from DMS doc MH-2026-0891 | new |
UiPath Bot v3.2 |
| 9:00:01 AM | Bot begins field extraction | extraction pending | UiPath Bot v3.2 |
| 9:00:45 AM | Bot completes extraction — 10 fields, 1 flagged | extraction complete | UiPath Bot v3.2 |
| 9:00:46 AM | System queues for QC, assigns to Maria Santos | quality check | FIFO QC Engine |
| 9:00:47 AM | Push notification sent to Maria | quality check | Notification Service |
| 9:01:30 AM | Maria opens QC queue, clicks into submission | quality check | Maria Santos (UA) |
| 9:03:00 AM | Maria opens DMS link, views source document | quality check | Maria Santos (UA) |
| 9:05:00 AM | Maria corrects trade_area, confirms other fields | quality check | Maria Santos (UA) |
| 9:07:46 AM | Maria clicks Approve — QC passed | qc approved | Maria Santos (UA) |
| 9:07:47 AM | System assigns to James Mitchell (Marine UW) | in review | FIFO UW Engine |
| 9:07:48 AM | Push notification sent to James | in review | Notification Service |
| 9:10:00 AM | James opens submission — verified data + DMS link | in review | James Mitchell (UW) |
Total time from bot extraction to UW review: 10 minutes. Of that, 7 minutes was human QC review.
Key Metrics
| Metric | Without QC Workflow | With InsightUW QC Workflow |
|---|---|---|
| Bot extraction errors reaching UW | 12-18% of fields | 0.3% (caught at QC gate) |
| Time to discover extraction error | 3-14 days (at quote or bind) | 5-15 minutes (at QC step) |
| Cost of late-caught error | $5K-$50K (re-work, re-quote) | $0 (caught before UW sees it) |
| DMS traceability | None — bot output disconnected | 100% — every field linked to source page |
| QC review time per submission | N/A (no QC existed) | 7 minutes avg (Underwriting Assistant) |
| Audit trail for bot data | Bot log files (separate system) | Unified audit — bot, QC, UW in one trail |
| Rejection rate (re-extraction) | N/A | 8% of submissions sent back to bot |
| Fields auto-approved (high confidence) | N/A | 82% of fields pass threshold |
InsightUW's Bot Integration API turns RPA from a black box into a trusted, auditable pipeline — with human quality checks where they matter most. Request a demo to see the QC workflow in action.