What it took to build a COI agent for an insurance brokerage
A few months ago, an insurance brokerage I work with told me their account-management team was drowning. The largest single culprit wasn't sales pressure or carrier headaches — it was COIs.
Certificates of insurance. The single most repetitive piece of paperwork in a P&C brokerage. Every commercial client needs them, sometimes weekly, often urgently. Each one looks roughly the same. Each one takes an AM 10–20 minutes to pull policy data, populate a form, double-check, and send. Multiply by a few hundred clients and you have one full-time job's worth of paperwork buried inside a service team that should be doing higher-value work.
So we built an agent. Here's what it took.
The shape of the problem
Before any code, I sat with one AM for two mornings and watched her process COIs.
The work pattern was almost identical every time:
- Email arrives from a client or general contractor: "need COI for [project], deadline [date]"
- AM opens the AMS, finds the client, pulls the relevant policy
- AM opens the COI form template
- AM types or copies values across 15–30 fields
- AM sends the PDF back to the requester
- AM logs the activity in the AMS
The variability was almost entirely in step 1 (parsing what the requester actually needed) and step 5 (the exact wording of the reply). Everything in between was rote.
That's a textbook agent setup: high volume, low judgment, structured inputs and outputs, an AM who would happily hand it off.
The architecture (kept boring on purpose)
Three principles drove every design decision.
1. Human-in-the-loop by default. No COI goes out without an AM clicking "send." This wasn't a technical constraint — it was a trust constraint. An insurance brokerage cannot afford a wrong cert. The agent's job is to do everything up to the final review, not replace the review.
2. Folder-drag triage. Instead of building a fancy web UI, the AM just drags the request email (or PDF) into a designated folder. The agent watches the folder. That single decision saved us weeks of UX work and fits how the AM already handles email.
3. Single AM, single carrier, single product first. We didn't try to handle every COI type on day one. We picked one AM, one carrier she worked with the most, and one product line. Everything else got punted to phase 2. That's how this kind of project actually ships in 5 weeks instead of 5 months.
The agent itself does:
- Reads the inbound request, parses out the requester, the project, the certificate holder, the required limits, and the deadline
- Pulls the relevant policy data from the AMS
- Generates the COI as a draft
- Drops it in the AM's review folder with a one-line summary of what it did and any flags
- Waits for the AM to review and click send
- Logs the activity in the AMS once sent
About 200 lines of orchestration code, a handful of prompts, and one integration into the AMS. Boring. On purpose.
What we learned in the first month
The agent is right ~95% of the time on the first draft. The other 5% are cases where the request was ambiguous and the AM has to ask the requester for clarification. That's roughly the same error rate the AM had doing it manually — agents don't have to be perfect, they have to be at-or-better-than the human baseline.
The AM review is genuinely fast. A 12-minute task became a 90-second review. That's not "AI saves time" — that's "the structural cost of the task changed."
The bottleneck moved. Within two weeks, the AM was through her COI backlog. The constraint shifted to "what should she do with the freed-up hours?" That's a good problem to have. It's also the problem most AI projects never get to, because they never actually save anyone time.
Edge cases compound differently than expected. I assumed the long tail of unusual COIs would slow the agent's value. What actually happened: the AM handles the unusual ones herself in 10–15 minutes (same as before), and the agent handles the 80% of routine ones for free. The unusual ones aren't a problem — they're the work that needed her judgment all along.
What I'd do differently
A few things, honest:
- Start with the most repetitive client first, not the most strategically important one. I picked a strategic client for the pilot, which had more edge cases than a routine client would have. Slowed the learning loop.
- Build the activity-logging step earlier. I initially had the AM log the activity manually after send. Two weeks in, I realized that step was the new bottleneck. Wired it into the agent. Should have been there day one.
- Show the brokerage owner the throughput report from week one. They didn't see the impact until I emailed a chart at week four. By then the AM had already become a quiet advocate, but earlier visibility would have unlocked the next agent build faster.
What's next for that client
We're working on the next two agents now: an endorsement triage agent for the same shared inbox, and a renewal-readiness agent that watches policies 90/60/30 days out. Both follow the same shape — high volume, low judgment, AM-in-the-loop, ships in weeks not months.
If your business has a COI-shaped problem (it doesn't have to be COIs — anything repetitive and structured counts), the free audit is where we find it. One hour, no pitch, you walk away with a ranked list.
Insurance brokerage operations are full of these. Most service businesses are.