AI Receptionist for Moving Companies: Can You Trust It?

On this page
An AI receptionist can sound perfect and still be wrong. The caller says, "Third floor walk-up, and there's a piano." The agent says, "Got it, we'll send a crew Saturday." The CRM holds a two-bedroom job, no stairs, no piano, and a two-man crew. The call was warm. The record is wrong. You find out in the driveway.
This post is an audit, not a build guide. Moving company AI receptionist accuracy is measurable. Below are 12 checks, a scoring rubric, sample-size math and a one-week protocol for live calls. It is written for teams that built and run an AI phone agent for movers inside software used by many movers. Each mover has its own tariff, crews and wording, so one average hides the failures.
The build playbook for moving company AI phone answering lives in AI Receptionist for Moving Companies: 2026 QA Playbook. This post asks a narrower question. Is the agent accurate today, and can you prove it?
What accuracy means on a moving call
A moving call is the front door to a workflow. The caller speaks. The agent captures fields. The agent then writes to the moving CRM: a customer, a lead, a move with addresses, an inventory and a crew plan. A sales rep or dispatcher trusts that record later.
So accuracy has three layers, and each fails on its own.
1. Heard. Did speech recognition get the addresses, dates, item counts and callback number right?
2. Decided. Did the agent pick the right move type and say only what it may say about price?
3. Written. Did the right values land in the right fields on the right customer record, once?
A transcript audit sees layer one at best. A record audit sees layer three but not why it broke. This audit runs from call audio to CRM record to final invoice. For the general method, see Voice Agent Accuracy Audit: What It Measures.
The 12 accuracy checks
Here is the scorecard. Each check has a source of truth. If you cannot name one for a check, that gap is itself a finding.
| # | Check | Source of truth | Tier |
|---|---|---|---|
| 1 | Origin and destination addresses | Caller audio; address validation service | Core |
| 2 | Move date and window | Caller audio; dispatch calendar | Core |
| 3 | Move type, mover or broker | Mover config; USDOT and MC registration | Core |
| 4 | Inventory and special items | Caller audio; final survey or invoice | Core |
| 5 | Access conditions | Caller audio; crew report | Core |
| 6 | Services scope | Mover service list; final invoice lines | Watch |
| 7 | Estimate type wording | Estimate type on file | Gate |
| 8 | Price and fee statements | Mover tariff and price policy | Gate |
| 9 | Liability and valuation wording | Mover's written liability terms | Gate |
| 10 | Contact capture and customer match | Callback test; CRM duplicates | Core |
| 11 | Status, claim and handoff routing | Dispatch record; claims policy | Core |
| 12 | Write-back integrity | Field-by-field diff against the call | Gate |

The tier decides how you treat a miss. Gate checks carry legal or money risk, so one confirmed failure blocks release. Core checks have a pass-rate target. Watch checks track drift.
Addresses and dates: checks 1 and 2
Addresses are the densest data on a moving call. There are two of them, each with a number, street, unit, city and ZIP. Callers say "forty-one eighteen" or "four one one eight." A one-digit slip moves the job across town. A swapped origin and destination changes travel time and sometimes price.
Whether the agent is a moving company answering service AI or a full quoting agent, check the captured address against the caller's words first. Then run it through an address validator. Flag any that fails to resolve or returns a different ZIP. Units and floors deserve their own check, because "apartment 4B" and "floor 4" sound alike.
Dates fail differently. "The first" and "the third" sound close. "Next Saturday" depends on the call date. Store an ISO date and compare it with what the caller said, not with the agent's read-back. For the lead-record side of this, see Is Your Moving AI Creating Bad Leads?. See also Evaluating STT for Names and Entities.
Move type and who is moving: check 3
Local, in-state and interstate moves follow different rules. FMCSA's consumer pages frame the document requirements around interstate moves. In-state rules vary by state, so keep the jurisdiction per mover in config, not in a prompt.
The second split is mover versus broker. FMCSA says movers "own trucks and employ moving staff," while brokers are intermediaries that are not authorized to transport goods. A broker's estimate must be based on the tariff of the mover that is hired. An agent that says "we will move you" for a broker makes a claim the business must stand behind. Test that the agent describes the company's actual role, and that the USDOT number it reads out matches the registration.
Inventory and access: checks 4 and 5
Inventory drives crew size, truck size and price. It is also error-prone, because callers describe a home, not a list. "A normal two-bedroom" hides a piano, a safe and a treadmill.
Score two things. Did the agent ask about special items? Did every item the caller named reach the record? Missing items are the common failure.
Access is the quiet price driver. Stairs, elevators, long carries and parking permits all change time on site. The caller says "there's a long walk from the street." The agent writes "access: normal." Score each access phrase against the record.
Services scope: check 6
Packing, disassembly, appliance hookups and storage are invoice lines. A caller who asks "can you also pack the kitchen" has added a service. Does the record show it? Worked examples are in Wrong Moving Estimates From Your AI Agent? Find the Cause.
Estimate wording, price and liability: checks 7, 8 and 9
These are the gate checks. They are about what the agent says, and the rules are specific.
Estimate wording. A non-binding estimate is not a guarantee. Under 49 CFR 375.405, the estimate must tell the shipper they "will not be required to pay more than 110 percent of the non-binding estimate at the time of delivery," while final charges follow the mover's tariffs. A binding estimate caps what the shipper owes. If the agent says "guaranteed" about a non-binding estimate, the call created a dispute. 49 CFR 375.401 also requires a physical survey, unless the shipper waives it in a signed writing before loading. A phone call is not a survey, so the agent should not present its number as one.
Price. Test for firm numbers the agent may not give, and ballparks the caller hears as promises. Also test fees: stairs, long carry, fuel, materials.
Liability. 49 CFR 375.201 requires the mover to disclose its liability limits to the individual shipper in a clear and concise manner. The agent should never improvise on valuation coverage, such as "everything is fully insured." Read approved wording or hand off to a person. Before a bill of lading is executed, 49 CFR 375.213 also requires the mover to give the shipper a written estimate, an arbitration summary and complaint procedures. An agent should not imply that any of that has happened on a phone call. This is not legal advice; ask counsel which rules apply to each mover.
Contact and customer match: check 10
Households have two phones. The agent matches on caller ID, then books under the wrong person or creates a duplicate lead. Test with a callback: dial the number on the record. A single wrong digit makes a lead unreachable. Metrics are in Is Your Moving AI Creating Bad Leads? and follow-up in Speed-to-Lead AI for Movers.
Status, claims and handoff: check 11
Moving day brings "where is the truck?" calls. Status answers must read live dispatch data and never invent an arrival time. Damage reports must reach a person with the details intact, because claims have deadlines. Under 49 CFR 370.3, claims follow the time limits in the bill of lading or contract. Measure handoffs with Escalation Accuracy: Measuring Good Handoffs.
Write-back integrity: check 12
This check catches what the others missed. List every field the call should set, then diff against the record. Silent failures include a duplicate customer, a job under the wrong move type, and a note holding the caller's words while the structured field stays empty. For tool-call arguments, see Evaluating Tool-Argument Accuracy from Speech.
Capacity and crew assignment sit further downstream, in Moving Company Scheduling Software With AI: What Breaks.
Why errors start at the audio layer
Phone audio is thin. Twilio's Media Streams carry mu-law audio at an 8,000 Hz sample rate. That bandwidth blurs "fifteen" and "fifty," and "B," "D" and "P." A caller in a kitchen full of boxes makes it worse.
Speech recognition also does not fail evenly, and word error rate is rarely the same across callers. Stanford's summary of a 2020 study reports that five commercial systems misunderstood 35% of words from Black speakers against 19% for white speakers. That study used interviews, not phone calls. The lesson for movers is that your error rate is a spread across caller groups, not one number. Test by accent and noise. See Accent Robustness for Voice Agents and How to Test STT Under Background Noise.
Agents are also inconsistent. The tau-bench paper (Yao et al., arXiv 2406.12045) proposes pass^k, a measure of reliability over repeated trials. Its abstract says agents "succeed on <50% of the tasks, and are quite inconsistent (pass^8 <25% in retail)." One good run proves little, so replay important cases several times.
Transcript-only scoring misleads for the same reason. A transcript can read cleanly while the audio shows the caller said "fourteen" and the agent heard "forty." Evalgent's approach is to judge from the audio, not only the transcript, because many real failures sit between what was said and what was written.
The scoring rubric
This turns moving company AI receptionist accuracy into numbers you can compare week to week, and it covers AI moving quote accuracy as well.
Score every sampled call on every check it exercises: pass, fail or not applicable. Never average across checks. Tag each call with its move type and mover.
Then color each check from its error interval, not its raw rate.
| Color | Rule | Action |
|---|---|---|
| Red | The lower bound of the 95% interval is above the target error rate | Fix before the next release |
| Amber | The target sits inside the interval | Sample more calls |
| Green | The upper bound is below the target | Keep monitoring |
The targets below are suggestions, not an industry standard. Set your own.
| Tier | Suggested target error rate | Extra rule |
|---|---|---|
| Gate (7, 8, 9, 12) | 1% | One confirmed failure with customer impact blocks release |
| Core (1 to 5, 10, 11) | 5% | Red on any core check blocks release for that flow |
| Watch (6) | 10% | Review monthly |
Worked math: how many calls is enough
The interval is the point. Review 60 calls, find zero errors, and you have not shown the rate is zero. The 95% Wilson upper bound is about 6.0%. This is an illustrative calculation with the standard Wilson score interval, a confidence interval for proportions.
| Calls scored on the check | Errors found | 95% interval for the true error rate | Color vs a 5% target |
|---|---|---|---|
| 30 | 0 | 0% to 11.4% | Amber |
| 100 | 0 | 0% to 3.7% | Green |
| 100 | 2 | 0.6% to 7.0% | Amber |
| 60 | 5 | 3.6% to 18.1% | Amber |
| 100 | 12 | 7.0% to 19.8% | Red |

Read the fourth row twice. Five errors in 60 calls is an 8% raw rate, yet the interval starts below the 5% target. That check is amber, not red. Collect more calls.
Most checks do not apply to every call. A status call never tests inventory. Plan the sample so each check gets about 30 observations, or accept a wide interval.
Multi-mover platforms add a second problem. Sixty calls from 40 movers is 1.5 calls per mover. You can score the platform, not any single setup. Pool for the platform score, then audit movers whose config differs, as in One Voice Agent, 500 Customer Setups.
The scoring helper is simplified and runs as written.
from math import sqrt
def wilson(k, n, z=1.96):
"""95% Wilson interval for k errors in n observations."""
p = k / n
d = 1 + z * z / n
c = (p + z * z / (2 * n)) / d
h = z * sqrt(p * (1 - p) / n + z * z / (4 * n * n)) / d
return max(0.0, c - h), min(1.0, c + h)
def color(k, n, target):
lo, hi = wilson(k, n)
if lo > target:
return "red"
if hi < target:
return "green"
return "amber"
print(color(5, 60, 0.05)) # amber
print(color(12, 100, 0.05)) # redThe check-12 diff is a few lines too. Field names are examples; use your CRM's.
FIELDS = ["origin_zip", "dest_zip", "move_date", "move_type",
"stairs_origin", "special_items", "phone"]
def diff_record(labelled, crm):
"""Return the fields where the CRM disagrees with the human label."""
bad = {}
for f in FIELDS:
want, got = labelled.get(f), crm.get(f)
if f == "special_items":
want, got = set(want or []), set(got or [])
if want != got:
bad[f] = {"said": want, "stored": got}
return badAny non-empty result is a check-12 failure. Read the audio to learn whether it was heard, decided or written.
How to run a one-week accuracy audit on your live calls
This plan assumes you record calls and can export CRM records. Time figures are planning assumptions.
1. Define truth for each check (Monday). For each of the 12 checks, write the source of truth, the target error rate and the tier. If a check has no source of truth, add it to a gap list.
2. Pull and stratify the sample (Monday). Export last week's calls with CRM records. Group by intent and move type. Aim for 60 calls or more.
3. Add the hard cases (Tuesday). Include noise, accents, interruptions, long inventories and multi-stop moves. Tag them.
4. Label from the audio (Tuesday and Wednesday). A person listens to each recording and writes what the caller said per field. Budget about eight minutes per call, a planning figure. A second person re-labels 10 calls.
5. Diff against the record (Wednesday). Compare the labelled truth to the CRM fields. Record the first point of failure: heard, decided or written.
6. Compare with the invoice (Thursday). For calls that became jobs, check final invoice lines against what the caller said.
7. Score and color (Thursday). Count errors per check, compute the interval and assign green, amber or red. Amber means "unknown," and that is useful.
8. Turn failures into tests (Friday). Each confirmed failure becomes a replayable scenario: words, accent, noise and expected record. Rerun each several times.
9. Set the next trigger (Friday). Re-run the scorecard after any prompt, model, speech-recognition or mover-config change. Spot-check about 30 calls weekly.

The grid shows one way to stratify 60 calls. The counts are illustrative. New-quote calls get the most weight because they exercise the most checks.
Labelling by hand across many movers is slow. Evalgent runs a call simulator over phone, SIP or WebRTC, with caller profiles for accent, pace, interruption and background noise. It generates scenarios from your agent's prompt and flows, and it judges from the audio with evidence and human review of verdicts. For live traffic, you push call recordings. They are transcribed, mapped to scenarios and judged, and Evalgent flags tool-call failures and policy failures with fix recommendations. It works with teams to set up evals for a first agent; it is sales-led, not self-serve.
Reading the results: three patterns
After a first audit, failures usually fall into three buckets. Heard wrong, written wrong means speech recognition produced the wrong address or item, and the agent trusted it. Add a read-back for high-stakes fields and rule-based validation: ZIP against city, date in the future, phone length. Heard right, decided wrong means the transcript is correct but the move type, estimate label or liability line is wrong. Check the mover's config first, because a stale tariff looks like an AI error. Decided right, written wrong is a tool-call or integration bug, so fix it in code, not in the prompt.
Where to go deeper
Use this map after your first scorecard.
| If your weak check is... | Read |
|---|---|
| Overall build and QA plan | AI Receptionist for Moving Companies: 2026 QA Playbook |
| 7 and 8, estimate and price | Wrong Moving Estimates From Your AI Agent? |
| 10, lead quality and duplicates | Is Your Moving AI Creating Bad Leads? |
| Crew, truck and calendar | Moving Company Scheduling Software With AI |
| Fast follow-up to new leads | Speed-to-Lead AI for Movers |
| Storage-in-transit and storage calls | Self-Storage AI Phone Answering |
| 11, transfers | Escalation Accuracy: Measuring Good Handoffs |
| Per-mover config drift | One Voice Agent, 500 Customer Setups |
| Before turning on a new mover | Go-Live Checklist for Every New Customer's AI Phone Agent |
| Live monitoring after launch | How to Monitor Voice Agents in Production |
If the agent also places confirmation calls, consent rules apply. The FCC adopted new revocation rules on September 30, 2026 and released them October 1, 2026 (FCC 26-67). Per Kelley Drye's summary, callers may name exclusive opt-out methods. Effective dates depend on Federal Register publication. This is not legal advice.
Frequently asked questions
How accurate is an AI receptionist for a moving company?
There is no single number. Accuracy varies by check, mover and caller. Addresses, inventory and write-back usually decide trust. Measure each of the 12 checks against the CRM record and final invoice, then report a range. With 60 scored calls and zero errors, the true error rate could still be about 6%.
What mistakes does AI make when quoting a move over the phone?
Expect a missed special item, a lost access note, a firm number given when policy forbids it, and "guaranteed" said about a non-binding estimate. Quiet ones are duplicate leads and wrong callback digits. Your audit shows which dominate.
How do I audit my moving company's AI phone agent?
Pick a source of truth for each of the 12 checks. Sample at least 60 calls across intents and move types. Label each from the audio, diff against the CRM record, and compare converted jobs with the final invoice. Score each check with an error interval, then turn each failure into a replayable test.
How many calls should I review to check an AI receptionist?
At least 60 calls overall, and about 30 observations per check you care about. Fewer leaves wide intervals. Zero errors in 30 observations still allows a true rate near 11%. Sample by intent so each check appears, and over-sample hard cases such as noise, accents and long inventories.
Can an AI receptionist give a binding moving estimate?
Treat it as a gate check. A binding estimate is a written commitment, and federal rules expect a physical survey unless the shipper waives it in writing. A phone agent can gather details and give a labelled ballpark if policy allows. Firm numbers should come from a person. This is not legal advice.
Does an AI receptionist mishear addresses and move dates?
Yes, especially on 8 kHz phone audio with noise. House numbers, ZIP codes and dates like "the first" and "the third" are common slips. Compare captured values to the caller's words, validate addresses with a lookup, and add a read-back step.
What should an AI receptionist say about moving insurance and liability?
Only approved wording, or a handoff. Federal rules require the mover to disclose its liability limits to individual shippers clearly. An agent that improvises, such as "everything is fully covered," creates risk. Test with callers who ask about coverage, and score any unapproved statement as a gate failure.
How often should I re-audit a moving AI after a change?
Re-run the full scorecard after any change to the prompt, model, speech recognition or a mover's configuration. Between changes, spot-check about 30 calls weekly. Before peak season, replay your saved failure scenarios, because a single change ships to every mover at once.
The bottom line
Moving company AI receptionist accuracy is a set of per-check error rates measured against the CRM record and the final invoice, with honest intervals. Run the 12-check audit on 60 or more live calls this week, and turn every failure into a test that must pass before the next release.
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