Insurance Agency AI Receptionist: Quote Details It Misses

On this page
A new-business quote call feels easy to automate. The agent asks a few questions and creates a lead. Nobody hears an error. Then a producer opens the lead in the agency management system and runs the comparative rater. Roof year is blank. One driver is listed, but the household has a 16-year-old. The producer calls back, or quotes with a guess. Underwriting catches the guess days later, and the premium moves.
This post is for product teams at agency management software companies. You run one voice agent across hundreds of independent P&C agencies. In March 2025, Momentum AMP announced a partnership with Sonant AI. It described "a digital receptionist managing inbound inquiries." Sonant's Momentum integration page says a quote caller's details are captured, and records "flow back into Momentum AMP automatically." That is the category. If you build the insurance agency AI receptionist yourself, the question is how complete those details really are.
Servicing calls are covered in our post on testing AI policy change calls. The broad view sits in our voice agent testing guide for insurance. This post goes deep on one flow: new-business insurance quote intake.
What a quote intake call must produce
The call is not the product. The record is. A producer needs a record the comparative rater can price without another call.
Quote intake record: the structured lead a new-business quote call writes to the agency management system. It holds every field a carrier rater needs for each line. Each field also carries a state: confirmed, unconfirmed, unknown or never asked. It ends with the requested effective date, bundle intent and producer handoff status.
Here are the fields that matter for personal auto and homeowners, and how callers actually say them.
| Field | Why the rater needs it | How callers say it | Common miss |
|---|---|---|---|
| All household drivers, DOB, license status | Driver rating; unlisted drivers | "It's just me" | Teen with a permit, spouse, adult child at home |
| Violations and accidents (3–5 yrs) | Surcharges | "Nothing major" | Speeding ticket, not-at-fault accident |
| Vehicles, VIN or year/make/model | Vehicle rating | "My Honda" | Year, trim or second car |
| Garaging address | Territory | Gives mailing address | Car kept at college or a second home |
| Current carrier, limits, continuous coverage | Prior-insurance tiers | "Full coverage" | Real limits; a lapse last year |
| Year built, roof year and material | Home rating and eligibility | "Roof is pretty new" | Roof replaced year, not house year |
| Square footage, construction | Replacement cost | "About 2,000" | Basement included or not |
| Prior home claims | Eligibility and surcharges | "No claims" | A water claim filed with the old insurer |
| Effective date, bundle intent | Quote timing and discounts | "When my policy renews" | Actual renewal date |
The Maine Bureau of Insurance consumer guide to personal auto insurance confirms several. Insurers ask about "accidents and moving violations." They ask whether prior coverage "was canceled or nonrenewed." Applications ask where the vehicle "will be garaged."
Some fields should not come from the caller at all. Protection class is one. Verisk's PPC program FAQ describes it as "a number from 1 to 10" per community. Class 10 means the fire suppression program "does not meet Verisk's minimum criteria." No homeowner knows their class. Derive it from the address in the rater. Don't ask.

Where an AI receptionist drops quote details
Each miss below reads fine in a transcript. The record is short one field, or holds a value the caller never said.
Drivers nobody mentioned
The agent asks "Who will be driving?" The caller says "Just me." Two turns later they mention dropping their son at practice. A human CSR asks if the son drives. A model often misses the link. Laban et al. ran over 200,000 simulated conversations in LLMs Get Lost in Multi-Turn Conversation. They found "an average drop of 39%" when task details arrive across turns, not all at once. They also found that models lock in early assumptions. "Just me" is an early assumption.
Violations and accidents the agent softened
"Any accidents or tickets?" "Nothing major." The agent writes zero. The caller meant one speeding ticket and a not-at-fault fender bender. Underwriting will pull the motor vehicle record anyway. If it shows one ticket, the quote changes.
Garaging address equals mailing address
The agent copies the mailing address into garaging. The car actually lives at college, three hours away. Territory drives rate. Ask about garaging separately for every vehicle.
Roof age guessed from year built
"When was the house built?" "1998." The agent fills roof year with 1998, or leaves it blank. The roof was replaced in 2019. Roof age is often an eligibility question, not just a rating one. In Florida, section 627.7011(5) says an insurer "may not refuse to issue or refuse to renew" a homeowner's policy for a roof "less than 15 years old solely because of the age of the roof." For roofs 15 years or older, the homeowner can get an inspection. So a wrong roof year can push a lead into the wrong eligibility bucket.
Prior claims that underwriting finds anyway
The caller says "no claims" and means no claims with the agency. A water claim with another insurer still counts. The Connecticut Insurance Department's CLUE FAQ says the LexisNexis database holds "up to 7 years of personal property claims history." It says reports are "used almost exclusively to underwrite and rate new policies." New business is exactly when the claim surfaces.
"Full coverage" stored as a limit
"Full coverage" is not a limit. The agent should capture the current carrier, the liability limits on the declarations page and whether coverage lapsed. If the caller can't find the page, the field is unknown. It is not "state minimum" and it is not "100/300."

Why a guessed field is a misrepresentation risk
A blank field costs a callback. A guessed field costs more. The caller never said "no prior claims." The agent wrote it, and the application now carries it.
Rescission rules differ by state, but the logic is similar. New York's Insurance Law section 3105 defines a misrepresentation as "a false representation." It says a misrepresentation is not material unless knowing the facts "would have led to a refusal by the insurer to make such contract." Prior claims and roof age are the facts that drive refusals. A defaulted "no" in those fields is the worst value your agent can write.
The design rule follows. Unknown is never no. Store four states per field, not two:
1. Confirmed. The caller said it and the agent read it back.
2. Unconfirmed. The caller said it, with no readback.
3. Unknown. The agent asked and the caller didn't know.
4. Never asked. The agent skipped it.
Only the first state should prefill a rater field without a producer flag. "Never asked" is an agent bug. "Unknown" is a normal outcome that the producer handles.
Licensing and privacy limits on quote intake
This section summarizes public rules. It is not legal advice; confirm specifics with counsel in each state you serve.
The agent collects. A licensed producer quotes. The NAIC Producer Licensing Model Act (Model 218) says "a person shall not sell, solicit or negotiate insurance" in a state unless licensed there. It defines negotiate as "conferring directly with or offering advice directly to a purchaser or prospective purchaser." It exempts employees whose work is clerical and only indirectly related to selling. Keep the agent inside clerical intake. It should not quote premiums, compare carriers, recommend limits or promise a bundle discount. "You'll save 20% if you bundle" is a sales claim. "A licensed agent will check bundle options for you" is intake.
Driver's license numbers and dates of birth are nonpublic personal information. A BCLP analysis finds the Gramm-Leach-Bliley Act "facially applicable to carriers, producers, and captive/managing agents." For insurance, 15 U.S.C. 6805 assigns enforcement to "the applicable State insurance authority." The agent should not read a full license number aloud. Mask it in transcripts and logs. Our guide to PII leakage detection covers spoken readbacks and logs.
Why speech pipelines drop quote fields
Three mechanisms explain most misses. Each needs a different fix.
Slot filling across turns. A bundled auto and home call can need dozens of fields. Callers answer out of order and correct themselves. The model tracks state in its context, not a schema. Early fields get overwritten or forgotten. Fix it with an explicit slot schema the agent updates by tool call, plus a final "what's missing" check in code.
Numbers and dates over the phone. DOBs, years, ZIPs and VINs are digit strings on an 8 kHz line. "Nineteen ninety" and "nineteen nineteen" differ by one syllable. Our post on STT accuracy for names and entities explains why these strings fail more than words. VINs have a check digit at position 9 under 49 CFR 565.15, so validate before writing. The same capture problem appears in dealership service scheduling.
Silence while the caller looks things up. Callers go find the declarations page or the registration. That leaves long pauses. In Careless Whisper, Koenecke et al. found "roughly 1% of audio transcriptions contained entire hallucinated phrases or sentences." Hallucinations were more frequent for speakers with longer non-vocal durations. A transcript can contain a limit the caller never spoke. Only the audio shows it.
Repetition matters too. The tau-bench paper introduced pass^k: does an agent succeed on all k runs of a task? It found gpt-4o succeeded on fewer than half of tasks, inconsistently across trials. One clean test call proves little. Our post on tool-argument accuracy covers why the arguments written, not the words spoken, decide the outcome.
The rater-ready rubric
The rater-ready rubric scores every quote call against the fields your carriers' raters require. It turns "the lead looked fine" into numbers you can gate releases on.
| Tier | Fields | Rule |
|---|---|---|
| Tier 1, blocking | Every household driver with DOB and license status; each vehicle; garaging ZIP; current carrier and limits; effective date; home year built, roof year, roof material, square footage, construction; prior claims | Must be confirmed or unknown. Never asked fails the call. |
| Tier 2, pricing | Violations with dates; annual mileage; continuous coverage months; bundle intent; mortgagee | Unconfirmed allowed; producer flag |
| Tier 3, derived | Protection class, territory, replacement cost estimate | Never ask the caller; derive in the rater |
| Forbidden | Premium amounts, carrier recommendations, coverage advice | Any occurrence fails the call |
Four metrics come from the rubric:
- Field completeness vs rater. Tier 1 fields confirmed or unknown, divided by Tier 1 fields the rater requires.
- Re-quote rate. Leads whose premium changed after underwriting reports, divided by leads quoted.
- Handoff latency. Time from call end to the first producer touch on the lead.
- Producer edits per lead. Fields the producer changed before running the rater.
Producer edits per lead catches what completeness misses. A field can be "complete" and wrong.

Code: a completeness check against a rater field contract
This simplified Python scores one quote intake record. It loads a field contract per line, counts Tier 1 states and flags defaulted values with no caller evidence.
# Simplified. Score a quote intake record against a rater field contract.
TIER1 = {
"auto": ["drivers", "vehicles", "garaging_zip", "current_carrier",
"current_limits", "effective_date"],
"home": ["year_built", "roof_year", "roof_material", "sq_ft",
"construction", "prior_claims"],
}
OK_STATES = {"confirmed", "unknown"}
def score(record: dict) -> dict:
required, ok, issues = 0, 0, []
for line in record["lines"]: # e.g. ["auto", "home"]
for f in TIER1[line]:
required += 1
field = record["fields"].get(f, {"state": "never_asked"})
if field["state"] in OK_STATES:
ok += 1
else:
issues.append(f"{f}: {field['state']}")
# A value with no caller turn behind it is a default, not an answer.
if field.get("value") is not None and not field.get("evidence_turn"):
issues.append(f"{f}: value without caller evidence")
for d in record["fields"].get("drivers", {}).get("value", []):
if d.get("dob") and not d.get("license_status"):
issues.append(f"driver {d['name']}: license status missing")
return {"completeness": round(ok / required, 3), "issues": issues}
rec = {"lines": ["auto", "home"], "fields": {
"drivers": {"state": "confirmed", "evidence_turn": 4,
"value": [{"name": "A", "dob": "1984-02-11", "license_status": "valid"}]},
"vehicles": {"state": "confirmed", "evidence_turn": 7, "value": ["2021 Honda CR-V"]},
"garaging_zip": {"state": "confirmed", "evidence_turn": 9, "value": "30062"},
"current_carrier": {"state": "unknown"},
"current_limits": {"state": "unconfirmed", "evidence_turn": 12, "value": "100/300/100"},
"effective_date": {"state": "confirmed", "evidence_turn": 15, "value": "2026-11-01"},
"year_built": {"state": "confirmed", "evidence_turn": 18, "value": 1998},
"roof_year": {"state": "confirmed", "value": 1998}, # copied, never asked
"sq_ft": {"state": "confirmed", "evidence_turn": 20, "value": 2000},
"construction": {"state": "confirmed", "evidence_turn": 21, "value": "frame"},
"prior_claims": {"state": "confirmed", "value": 0}, # defaulted
}}
print(score(rec))
# {'completeness': 0.833, 'issues': ['current_limits: unconfirmed',
# 'roof_year: value without caller evidence', 'roof_material: never_asked',
# 'prior_claims: value without caller evidence']}The two silent failures are the ones the hero image shows. Roof year was copied from year built. Prior claims defaulted to zero. Both look "confirmed" in the record, so completeness alone says 83%. The evidence check is what exposes them.
Worked math: what incomplete intake costs a platform
These numbers are an illustrative assumption, not data from any platform.
Your platform serves 400 agencies. Each takes 15 new-business quote calls a day. That is 6,000 quote intake records a day. Say 12% are missing at least one Tier 1 field. That is 720 producer callbacks a day. At 6 minutes per callback, producers spend 72 hours a day across your customer base re-asking questions. Say 2% carry a defaulted value that survives to the quote. That is 120 quotes a day headed for a re-quote after underwriting.
Now the test budget. Say a prompt change might drop field completeness from 95% to 92%. To detect that with 80% power at a 5% two-sided significance level, use the two-proportion formula:
n = (1.96 × √(2 × 0.935 × 0.065) + 0.84 × √(0.95 × 0.05 + 0.92 × 0.08))² / 0.03²
That is (0.683 + 0.293)² / 0.0009, or about 1,060 calls per arm. Twenty manual test calls cannot see a three-point drop. A simulated suite can.
How to test an insurance agency AI receptionist for quote intake
How do you test an insurance agency AI receptionist? Test the record, not the conversation. Treat each line of business as a field contract and each release as a gate.
1. Write the field contract per line and per carrier. Pull required fields from the raters your agencies use. Mark Tier 1, Tier 2 and derived fields. This contract is your ground truth.
2. Generate scenarios from the prompt and flows. Cover single auto, multi-car households, home only, bundles and renters. Evalgent generates test scenarios from an agent's prompt and flows, including branches, policies, hard constraints and coverage gaps. Intake flows have many branches, so this matters.
3. Seed the hard households. A teen with a permit mentioned in passing. A car garaged at college. A 1998 house with a 2019 roof. A water claim with the old insurer. A caller who says "full coverage" and can't find the declarations page. A lapse last spring.
4. Vary the caller. Use caller profiles for accent, speech pace, interruptions, long lookup pauses and background noise. Run calls over the phone path your agencies use, PSTN or SIP.
5. Seed licensing traps. "What would it cost?" "Which company is cheapest?" "Do I need more liability?" Each should route to a licensed producer, never get a number or advice.
6. Assert on the written record. Compare each field and its state with the scenario's expected record. Fail any Tier 1 "never asked" and any value without caller evidence.
7. Judge the audio. A transcript can show a limit the caller never spoke. Evalgent evaluates from the call audio, not only the transcript, and attaches evidence to each verdict.
8. Repeat and sample agencies. Run each scenario enough times to measure pass^k. Sample agency configs, since scripts and carrier panels differ. Our post on testing one agent across many customer setups covers config sampling.
Ship behind a canary and compare metrics. Our guide to shipping prompt changes safely covers staged rollouts.
What to monitor after go-live
Score every call, not a sample. Defaulted fields are rare per call and costly per lead. Our case for this is in score every call, not a sample.
| Metric | Definition | Example alert threshold |
|---|---|---|
| Field completeness vs rater | Tier 1 confirmed or unknown / Tier 1 required | < 95% per agency per week |
| Never-asked rate | Tier 1 fields never asked / Tier 1 required | > 1% |
| Defaulted-value rate | Values with no caller evidence turn | Any occurrence in roof year or prior claims |
| Re-quote rate | Premium changed after underwriting / leads quoted | Above the agency's human-handled baseline |
| Handoff latency | Call end to first producer touch | Median above the agency's target |
| Producer edits per lead | Fields changed before rating | Rising week over week |
| Licensing-language rate | Premiums, carrier picks or advice spoken | Any occurrence |
Re-quote rate and producer edits need the lead history from the agency management system, joined by call ID. Evalgent's production monitoring takes pushed call recordings, maps each call to a scenario and judges it. Custom metrics such as field completeness can run on every call. It flags tool-call failures and policy failures with fix recommendations.
Handoff quality has its own post on escalation accuracy. If you are buying rather than building, our guide on evaluating an insurance quoting voice agent vendor covers the procurement side.
Frequently asked questions
What information does an AI receptionist need for an insurance quote?
An AI receptionist needs every household driver with date of birth and license status, violations and accidents, each vehicle, the garaging ZIP, current carrier and limits, and the effective date for auto. For homeowners it needs year built, roof year and material, square footage, construction and prior claims. Protection class and territory should come from the rater, not the caller.
Can an AI receptionist give insurance quotes?
An AI receptionist should not give insurance quotes or recommend carriers or limits. NAIC Model 218, the basis for state producer licensing laws, requires a license to sell, solicit or negotiate insurance. The agent can collect quote details as clerical intake. A licensed producer should run the rater and present the premium. Confirm state rules with counsel; this is not legal advice.
Why do insurance quotes change after underwriting?
Insurance quotes change after underwriting when reports contradict the intake. Carriers pull CLUE claims history, which holds up to seven years of property claims, and motor vehicle records. A missed driver, a forgotten claim, a wrong roof year or a lapse in coverage changes the premium or eligibility. Complete, honest intake with unknowns marked as unknown reduces re-quotes.
How do you measure quote intake completeness?
Quote intake completeness is the share of a carrier rater's required fields that the call captured as confirmed or explicitly unknown. Track never-asked fields separately, since they are agent bugs. Add a check for values with no caller evidence, such as defaulted prior claims. Pair completeness with producer edits per lead to catch complete but wrong fields.
How do you test an insurance agency AI receptionist?
Test an insurance agency AI receptionist against a field contract built from your carrier raters. Generate scenarios for single-car, multi-driver, home and bundle callers. Seed hard cases like a teen driver mentioned in passing or a replaced roof. Vary accents, noise and pauses. Compare the written record field by field, judge the audio and repeat each scenario.
Should an AI receptionist ask about roof age and prior claims?
An AI receptionist should ask about roof age and prior claims on every homeowners quote. Roof year is often an eligibility factor, and Florida law sets a 15-year roof age threshold. Prior claims appear in CLUE reports during underwriting. Ask for the roof replacement year separately from year built. Record "unknown" when the caller is unsure.
How should an AI receptionist handle driver's license numbers?
An AI receptionist should capture driver's license numbers only if the agency's workflow needs them on the call. It should not read full numbers back aloud. Mask them in transcripts, logs and summaries. Insurance producers fall under the Gramm-Leach-Bliley Act through state insurance regulators. License numbers and dates of birth are nonpublic personal information.
What is a good re-quote rate for AI quote intake?
A good re-quote rate for AI quote intake is one at or below the same agency's rate for human-handled calls. No public benchmark exists for this metric. Measure each agency's baseline from CSR-handled quotes first. Then compare AI-handled leads by line of business, and investigate any field that drives most premium changes.
The bottom line
An insurance agency AI receptionist rarely gets quote intake wrong out loud; it gets it wrong by skipping or defaulting the fields nobody volunteers. Score every call against your carrier raters' required fields, keep unknown separate from never asked, and watch re-quotes and producer edits to catch what completeness misses.
Related Articles

How to automate voice agent testing: synthetic callers vs manual QA
Learn how ai test automation replaces manual QA for voice agents. Compare synthetic callers vs human testers, with a 5-step framework to scale without hiring.
Read more
AI Agent Testing vs Voice Agent Testing: What General Tools Miss for Voice
AI agent testing measures text outputs. Voice agent testing measures behaviour through an acoustic pipeline. Five failure categories general tools miss.
Read more