AI Submission Intake: Stop Re-Keying Data Into Insurer Portals

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Submission Intake: Stop Re-Keying Data Into Insurer Portals.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Submission Intake: Stop Re-Keying Data Into Insurer Portals.

Partly. AI can read proposal forms, schedules, claims histories and emails into one checked record, which removes most of the typing. Getting that record into insurer portals without re-keying needs an insurer API or a single-entry quoting platform. Where neither exists, browser automation can fill fields, but it breaks easily and a person must still review before submitting.

So the realistic goal is "key once, check once": one master record per risk, extracted by AI and checked by a person, which then feeds your broker system, any comparative rater you use, and copy-ready blocks for the portals that remain. Before automating that last step, read each insurer portal's terms of use. Many prohibit automated access or shared log-ins, and a portal that locks your account mid-renewal season costs more than the typing ever did.

Follow me on Instagram@sagnikteaches

Where the re-keying actually happens

Before changing anything, trace one real submission from the client's first email to the last quote coming back, and time each step. A typical commercial submission passes through four stages:

Connect on LinkedInSagnik Bhattacharya
  1. Client documents arrive: a proposal form (sometimes the broker's, sometimes a previous insurer's), last year's schedule, a claims history or loss run from the incumbent insurer, a list of premises or equipment, and several emails with extra facts.
  2. Broker system: someone types the key details into the client and risk record.
  3. Each insurer portal: the same details are typed again, in each insurer's own field names and order, three to five times for a marketed risk.
  4. Quotes come back: as PDFs, which are then read and keyed into a comparison.

Steps 2 and 3 are where the hours go. Step 1 is where AI can remove most of the work. Step 3 is where removing the work depends on your insurers.

Subscribe on YouTube@codingliquids

Build a master record before touching any portal

The valuable part of this project isn't the AI; it's deciding, once, what a complete submission looks like for each class, and mapping it to each insurer's fields. That map is often called a crosswalk. A filled-in extract for a small office-based business:

Master fieldInsurer A portalInsurer B portalInsurer C portal
Legal name of businessProposer nameInsured nameCompany name
Trade descriptionBusiness description (free text)Trade (drop-down)Occupation code
Annual turnoverTurnover (last 12 months)Estimated annual revenueGross fees
EmployeesTotal staffEmployees incl. directorsHeadcount (full-time equivalent)
Claims last 5 yearsClaims yes/no, then detail per claimLosses: count and totalUpload loss history
Contents sum insuredContentsOffice equipment and contentsGeneral contents

Notice the traps already visible: "turnover" versus "gross fees", headcount including or excluding directors, a drop-down trade list that won't accept your free-text description. The crosswalk is where those decisions get made once, by an experienced handler, instead of differently by every person on every submission. Build it in a spreadsheet, one tab per class, and expect it to take a day or two for your main classes.

Extraction: from client documents into the record

Three ways to get documents into the master record, in order of set-up effort:

  • A business AI plan with a fixed prompt. Upload the documents to ChatGPT Business or Claude Team and ask for the master fields as structured output. No set-up beyond the prompt; good for testing the idea.
  • An automation with an AI step, in Zapier or Make, triggered when documents land in a folder or inbox, writing each field into the spreadsheet or broker system. The API route here uses structured outputs, so every run returns the same fields.
  • A document-extraction service: Microsoft's Azure Document Intelligence, now part of Azure Content Understanding in Foundry Tools, or Google Cloud's Document AI, which can be trained on your own form layouts. Worth it at higher volumes or with many scanned forms, and usually a developer's job to set up.

Whichever route, the extraction prompt carries the rules:

Extract the fields below from the attached documents for an insurance
submission. Return JSON with, for each field: value, source document,
page, and the exact text you took it from.
Rules:
- If a field isn't in the documents, value = "NOT FOUND". Never estimate.
- If documents disagree, value = "CONFLICT" and list both values.
- Money: copy the figure and state the unit exactly as written
  (for example "180" with unit "thousands").
- Claims: one entry per claim with date, cause, amount paid, amount
  reserved, status. Do not total them.
Fields: [paste master field list]

An illustrative extract from a web design studio's submission, and what the handler's check finds:

"turnover": {"value": "1.2m", "source": "proposal form", "page": 1,
  "text": "Turnover approx 1.2m"},
"employees": {"value": "14", "source": "email 12 Sept",
  "text": "we're 14 now including the two of us"},
"contents_sum_insured": {"value": "CONFLICT", "values":
  ["45,000 (last year's schedule)", "60,000 (email 12 Sept)"]},
"claims_5yrs": [{"date": "03/2024", "cause": "laptop theft",
  "paid": "2,100", "reserved": "0", "status": "closed"}]

Three things for the handler. "Approx 1.2m" is an approximation on the form; the insurer wants a figure, so it goes back to the client. The headcount of 14 includes the two directors, which matters for the insurer that asks for "employees including directors" but not for one that excludes them; the crosswalk says which. And the conflict on contents is exactly what the rule is for: the client's newer email is probably right, but a person confirms it rather than the AI choosing.

The emails deserve one extra field of their own, because clients mention changes in passing that no form asks about. Add "possible change in activities: quote any sentence describing new work, services, premises or customers" to the field list. On the same studio's thread, it returned:

"activity_changes": [{"source": "email 12 Sept",
  "text": "from next month we're also hosting a few clients' sites
  on our own server, so fingers crossed nothing goes down!"}]

That sentence changes the risk. Hosting client websites is a different activity from designing them, with different exposure if a server fails, and it may need its own disclosure and cover. It sat in the fourth paragraph of a friendly email about headcount. A handler typing fields from the proposal form would very likely have missed it; the extraction didn't, because it was told to look.

Validation rules that catch what extraction gets wrong

Before a person reviews the record, run simple checks. These work as spreadsheet formulas or as filter steps in an automation:

  • Units: any money field with a unit of "thousands" or "k" is converted and flagged for review.
  • Ranges: turnover per employee outside a plausible band for the trade; a sum insured of less than 100 or more than 100 million.
  • Dates: claim dates inside the five-year window; policy inception before expiry.
  • Totals: the number of claims extracted matches the count stated on the claims history.
  • Completeness: every field the class requires is present or marked NOT FOUND.

A realistic mistake the unit rule exists for: in an illustrative brokerage's first week of testing, a premises schedule listed buildings "in 000s", and the extraction returned a building sum insured of 850 instead of 850,000. Nobody noticed until the first portal quoted a premium that looked suspiciously cheap. Since then, the unit field has been mandatory and anything under 10,000 for a building is flagged. Rules like this are ordinary, dull and far more reliable than asking the AI to "sanity check" its own work. AI document extraction versus traditional OCR explains why both kinds of error happen.

Add one cross-document rule that no single extraction can apply: compare what the client says about claims with what the claims history shows. In an illustrative case, a contractor's proposal form answered "no" to "any claims in the last five years", while the incumbent insurer's loss run listed an open liability claim with a reserve of 5,000 and no payment yet. The client may genuinely have thought an unpaid claim didn't count. The rule flags any mismatch between the form's answer and the loss run's count, and the handler goes back to the client to correct the form before anything is submitted. The AI never decides which document is right on a disclosure question; that is exactly the conversation the broker exists to have.

Five ways to get the record to insurers, best first

RouteHow it worksReliabilityWatch-outs
1. Insurer API or your software's integrationYour broker system or trading platform sends the data directlyHighOnly where the insurer and your software support it
2. Single-entry quoting platformEnter once, quote several insurers, for example Applied's Tarmika Bridge in the commercial lines and markets it coversHighCoverage of insurers and classes varies; check yours
3. Desktop automation (RPA)Recorded flows fill portal fields, for example with Power Automate for desktop, which is free on Windows 11Medium to low: breaks when the portal changesPortal terms; someone must maintain the flows
4. AI browser agentsAn agent such as Claude in Chrome or ChatGPT Work (which replaced ChatGPT agent in July 2026) reads the record and fills formsLow to medium: slow, and pauses at log-insNever give it passwords; review every field; portal terms
5. Copy-ready field blocksThe record is formatted in each portal's field order for fast pastingHighStill manual, but typing becomes pasting

Most small brokerages end up with a mix: routes 1 and 2 for the insurers that support them, route 5 for the rest, and routes 3 or 4 only for a high-volume portal where the terms allow it and someone is willing to maintain it. Treat any browser agent as a supervised helper: sign in yourself, never hand it a password, and test how it behaves at log-ins and before the submit button, because vendors change that behaviour often and it decides whether the agent can ever run unattended. The broader question of AI filling in portals is covered in whether AI can fill in forms and supplier portals.

Route 5 is underrated. A before and after: before, a handler flicks between the proposal PDF, two emails and the portal, typing 40 fields and checking each. After, the checked master record has an "Insurer B" tab that lists the same 40 values in exactly the portal's order, with the portal's own labels, already converted to its units and drop-down wording. The handler pastes down the page and the checking has already been done once, in one place.

The drop-down fields are where the block earns its keep. Insurer B's trade list has no "web design"; its nearest entries are "computer consultancy", "graphic design" and "software development". An experienced handler decides once, in the crosswalk, that this studio's work maps to "graphic design" with a note in the free-text description about the hosting, and every later submission for a similar client inherits the decision. Without the crosswalk, three handlers pick three different entries over a month, the insurer rates the same kind of business three ways, and nobody can say why the quotes vary.

Reading the quotes back into one comparison

Step 4 in the trace, quotes arriving as PDFs, is the same extraction problem in reverse. Use the same rules (source, page, exact text, NOT FOUND) with a quote field list: premium, taxes and fees, total payable, excesses, key limits, endorsements and subjectivities. The realistic mistake here is comparing unlike figures. In one illustrative comparison, the AI took the premium before taxes and fees from one insurer's quote and the total payable from another's, so the cheaper quote looked dearer by about the amount of the fees. Extract premium, fees and total as three separate fields for every quote, and let the spreadsheet do the arithmetic. The comparison table then needs a broker's reading of the subjectivities before anyone calls a quote "best".

Portal terms, log-ins and who pressed submit

  • Read the terms of each portal before automating it. If they prohibit automated access, use routes 1, 2 or 5 for that insurer.
  • Never share log-ins with an AI tool or put passwords in a prompt. Each handler uses their own account, with multi-factor sign-in.
  • A person submits. Whatever filled the fields, the handler reviews the portal's summary page and presses submit. That is where responsibility for the presentation of the risk sits, and it doesn't move to software.
  • Keep the checked record with the submission on file, including the source references from extraction. If a question arises later about what was disclosed, it shows exactly where each figure came from.

A small commercial team handling 30 new submissions a week

An illustrative brokerage team of three handlers takes around 30 new commercial submissions a week, each marketed to three insurers on average. Timing a sample of ten, they find about 15 minutes to key the broker system and 15 minutes per portal: roughly an hour of keying per submission, or 30 hours a week across the team.

With extraction, validation and copy-ready blocks (no APIs yet): extraction runs in a few minutes, the handler's check of the master record takes about 10 minutes, and each portal takes about 5 minutes to paste and review. That is around 25 minutes of handler time per submission, or about 12.5 hours a week, freeing around 17 hours. When one insurer is later reached through a single-entry platform, another portal drops out of the sum.

Model costs are small next to that time. A submission of about 30 pages might be 20,000 input tokens and 2,000 output tokens: roughly six cents on Claude Sonnet 5, which lists at $2 input and $10 output per million tokens, and well under a cent on gpt-5.6-luna at $0.20 and $1.20. The real costs are set-up, the crosswalk, and whoever maintains it when an insurer changes its portal. Stopping re-typing between apps with AI automation covers the same economics outside insurance.

Run it in shadow mode for two weeks

For the first two weeks, handlers key submissions the old way while the extraction runs alongside. Compare the two field by field: how many fields matched, how many were NOT FOUND when the data existed, how many were wrong. Aim for zero wrong values that passed validation unflagged; NOT FOUND is fine, because a person fills it. An illustrative tally after ten submissions of 40 fields each: 371 of 400 matched; 22 came back NOT FOUND although the data existed, almost all on scanned pages that needed text recognition first; 7 were wrong. Validation flagged 5 of the 7. The two it missed were both headcounts that included directors where the insurer's field excluded them, so the fix was a crosswalk note and a new rule, not a new prompt. Only then switch the handlers to checking instead of keying. For the wider method, including how long to run it, see running an AI pilot in shadow mode.

Questions brokers ask about automating submissions

Is it safe to put client submissions into ChatGPT or Claude?

Use a business plan or the API, not a consumer account: ChatGPT Business, Claude Team and the OpenAI API don't train on your content by default. Submissions contain personal and commercial data, so check your client terms, your insurer agreements and your data-protection obligations, and keep a record of which tools process client data. If in doubt, ask your data-protection adviser.

Will insurers accept submissions prepared with AI?

Insurers receive the data, not the method, and what they care about is accuracy and completeness. The responsibility for presenting the risk accurately doesn't change: the client must disclose what they know, and you must present it faithfully. That is why a person checks the master record before anything is submitted, and why the checked record is kept on file.

Do I need a developer to set this up?

Not for the first version. Extraction through a business AI plan, a master record in a spreadsheet and copy-ready field blocks need no code. Automating the extraction with Zapier or Make is within reach of a confident administrator. Connecting to insurer APIs or building reliable desktop automation usually does need a developer or your software provider.

Further reads

Sources: Microsoft Learn on Azure Document Intelligence (now part of Azure Content Understanding in Foundry Tools); Google Cloud Document AI documentation; Applied Systems Tarmika Bridge materials; Microsoft Learn on Power Automate for desktop; OpenAI notices on ChatGPT agent's retirement and ChatGPT Work; Claude support pages on Claude in Chrome; Anthropic and OpenAI API pricing pages.

Want to stop re-keying submissions?

On a 1:1 call we'll trace one of your submissions from client email to insurer portal, design the master record and checks, and work out which of your insurers can be fed without re-keying.

Book a 1:1 call with me