Towing Company AI Dispatch Calls: Location and ETA

On this page
Sources last checked November 2026. Tow and consent rules differ by state, so the legal examples below are labelled as examples. This is not legal advice.
A stranded driver calls at 11 p.m. in the rain. The agent has about a minute to learn where they are, what is wrong and who pays. Then it must hand a clean job to a human driver and tell the caller when help is coming.
If your team built tow truck dispatch AI inside a dispatch or fleet product, the call is the front door of a workflow. Speech becomes a dispatch ticket. The ticket becomes a driver's route. One wrong digit sends a truck to the wrong place while the caller waits in the dark. This post covers the failure points in order: location, safety, vehicle fit, ETA and calls that should never be automated. It ends with a test plan for your next prompt change.
Choosing a vendor instead of testing your own build? Start with how to evaluate a roadside assistance voice agent vendor. This post assumes you already run the agent, whether you call it a towing company AI answering service or AI dispatch for towing.
What one tow call has to capture
Every field below ends up on a dispatch ticket. Each has a typical way to go wrong.
| Field | Why dispatch needs it | Typical silent error |
|---|---|---|
| Road, mile marker, direction of travel | Driver must find the car and reach the correct side of a divided road | Digits swapped or direction dropped |
| Exit, cross street, landmark | Backup when no marker is visible | Caller's nearest landmark replaced by a guess |
| Parking lot or roadside | Changes access, safety and who authorised the tow | Lot tow booked as a roadside job |
| Year, make, model (vehicle details) | Decides truck type and hookup method | Model heard as a similar-sounding trim |
| Drivetrain, EV, low clearance | Decides flatbed or wheel-lift | AWD or EV never asked |
| Problem type | Tow, jump, tire, lockout or fuel | Tow booked for a jump |
| Destination | Shop address or home | Wrong shop, or no destination stored |
| Payer | Cash, card, insurer or motor club | Authorization number read back wrong |
| Callback number | Driver or dispatcher must reach the caller | Wrong digit, dead line |
Most ticket fields are strings and numbers spoken over a noisy phone line. That is why this call is a good test of speech-to-text, not only of the language model behind it. For the entity-level view, see STT entity accuracy for voice agents.
Location: where most silent errors begin
Location is the field that ruins the most jobs. Here is how highway locations actually work, and why speech makes them fragile.
How mile markers work
The US Manual on Uniform Traffic Control Devices (MUTCD) defines the green mile marker. On freeways the sign has 10-inch white numerals on a 12-inch-wide green background and carries the word MILE. Zero distance "should begin at the south and west State lines," so numbers rise as you travel north or east. On divided highways, distance is measured on the northbound and eastbound roadways. Southbound and westbound signs sit opposite their northbound or eastbound counterparts. Signs go on the right-hand side of the roadway. Source: FHWA MUTCD 2009, Part 2H.
Two consequences matter for an agent:
1. One number, two roadways. Marker 142 exists on both sides of a divided highway. Without direction of travel, the ticket points at two places that may be miles apart by road.
2. Numbers fall when you drive south or west. A southbound caller sees markers count down. A caller who says "the numbers are going up" has told you something about direction. Cheap to ask, hard to fake.

Why spoken digits break
"One forty-two" and "one twenty-four" sound close on a phone line, especially with wind and trucks passing. A 2024 arXiv paper on spoken-number recognition tested 1,149 utterances. Whisper-Large scored 4.6% word error rate and Whisper-Small 5.8%. A numeric-tuned Google setup scored 2.9%, and a purpose-built small model 1.8%. The authors saw Whisper confuse "sixteen" with "sixty" on short numbers. Source: Digits micro-model for accurate and secure transactions. That test was not on roadside audio. Treat it as a sign that number pairs are a weak spot. Then measure your own stack on highway-noise audio.
Worked example: what an 18-mile error costs
This is an illustrative calculation, not measured data. The caller says "mile one forty-two, southbound." The agent stores 124. At an average of 55 mph, 18 miles is about 20 minutes of driving. If the driver reaches 124 and finds nothing, that is 20 minutes gone, plus the call back, plus the return. The caller waits in a live lane or a dark shoulder for all of it. A 5% digit error rate means one caller in twenty. Those are the calls where waiting is dangerous.
A read-back that catches it
Ask for the marker, then read it back as separate digits: "one, four, two. Is that right?" Then ask for a second anchor: nearest exit number, cross street or town. Compare the two in code. If the marker and anchor disagree, do not dispatch silently. Route to a human dispatcher and note the location confidence on the ticket.
# Simplified: validate a spoken highway location before creating a ticket.
from dataclasses import dataclass
@dataclass
class Location:
route: str # "I-95"
marker: int | None # 142
direction: str | None # "NB" | "SB" | "EB" | "WB"
anchor: str | None # exit number, cross street or town
marker_read_back_ok: bool
ROUTE_RANGE = {"I-95": (0, 200)} # fill from your service area
def location_ok(loc: Location) -> tuple[bool, str]:
lo_hi = ROUTE_RANGE.get(loc.route)
if lo_hi is None:
return False, "unknown route"
if loc.marker is None or not (lo_hi[0] <= loc.marker <= lo_hi[1]):
return False, "marker missing or outside route range"
if loc.direction is None:
return False, "direction of travel missing"
if not loc.marker_read_back_ok:
return False, "caller did not confirm digits"
if not loc.anchor:
return False, "no second anchor"
return True, "ok"The range check is only a first filter. A transposed pair usually stays in range, which is why the second anchor and the read-back matter more.
When there is no marker
Surface streets often have no markers. The agent then needs a cross street, a business name or a lot description. A caller who says "I'm at the gas station" must be asked which one. Address problems like this also appear in last-mile driver support calls.
Safety: the caller may be in a live lane
Some callers are not safe. They may be on a shoulder with traffic at 70 mph, in a travel lane, or smelling fuel. An agent that treats this as a routine booking is the worst case. An agent that improvises safety advice is nearly as bad.
Use advice an authority has published, and keep it short. For example, the Texas Department of Public Safety says to "stay with the vehicle until uniformed law enforcement arrives" if possible. It also says to turn on flashers, park as far off the traveled portion as possible, and exit "from the passenger's side, away from traffic." Source: Texas DPS travel tips. That guidance is conditional. Do not turn "if possible" into "always stay in the car." A burning car or one in a lane may need the opposite.
The practical design is a safety gate:
1. Ask early: "Are you in a safe spot, off the road?"
2. If the caller is in a lane, reports smoke or a fuel smell, or says someone is hurt, stop the booking flow. Tell them to call 911. Hand off to a human.
3. If the caller is on a shoulder, give only the approved script from your safety owner.
4. Log the gate decision on the ticket so the driver knows.
The tow driver shares this risk. NIOSH reports 191 towing-worker deaths from 2011 to 2016. The rate was nearly 43 per 100,000, against 2.8 for all private industry (NIOSH Research Rounds). A NIOSH investigation of a 2023 California death involved an operator loading a vehicle at a gore beside an on-ramp. It cited failure to recognise the hazard and to call law enforcement to secure the work area (NIOSH FACE 23CA004). So a ticket note like "stopped on gore near on-ramp" is safety data for the driver, not trivia. For after-hours escalation patterns, see after-hours triage AI.
Vehicle fit: the truck is part of the ticket
The agent must collect enough to pick the right truck. Flatbed vs wheel lift is an expensive call to get wrong, because the wrong truck means a second dispatch.
Manufacturer manuals are the authority. As one example, Kia's manual for an electric model recommends wheel dollies or a flatbed. It says an AWD vehicle "should never be towed with the wheels on the ground" (Kia owner's manual, electric vehicle towing). Other makes differ, so your rules need the manual for each model you serve.

The agent should ask these in order: year, make and model, then "Is it electric or hybrid? All-wheel drive? Is it lowered or low to the ground? Will it roll and steer?" Any unknown answer should flag the ticket for dispatcher review. Do not default to a wheel-lift. The default matters: a prompt that assumes the cheaper truck fails every time the caller does not know. Test that case on purpose.
Problem type is the other half. A jump, tire change, lockout or fuel delivery needs a service truck, not a tow. A caller who says "it won't start" has not said which. Ask one plain question, such as whether the lights come on. Do not diagnose.
Payer and authorization
Some callers pay cash or card. Others say an insurer or motor club will pay. The agent can capture a membership and authorization number, read them back and mark them unverified. It should not say "you're covered." Coverage is the payer's decision. The same verify-first habit applies in locksmith AI answering, where the caller's claim must be checked before dispatch.
Store three things separately: what the caller said, what was confirmed on read-back, and whether anyone verified it. Merge them and an unverified number becomes a billed job.
ETA: the promise problem
Most ETA failures come from timing. The agent says "about 30 minutes" before any driver has accepted the job. Dispatch then cannot meet it, and the caller remembers the number.

Separate three states in the ticket and the prompt:
1. No driver yet. Say what you know: "I've sent your request to dispatch. I don't have a driver confirmed yet. I'll text you when one accepts."
2. Estimate. If dispatch has a live estimate, say "about" and give a range, and say it may change.
3. Accepted. Only now state the driver's ETA, ideally by text, since the caller may lose signal.
Worked example: a storm surge
This is an illustrative assumption set. Suppose 12 trucks and an average job of 90 minutes door to door. Capacity is 12 / 1.5 = 8 jobs an hour. In a storm, 20 calls an hour arrive. The backlog grows 12 jobs an hour. After two hours the queue is 24 jobs, so a new caller waits about 24 / 8 = 3 hours before a truck is free, plus drive time. A prompt with a fixed "30 to 45 minutes" is wrong from the first hour. The ETA must come from live dispatch data, and during surge the agent should say that wait times are longer and offer to keep the request open.
Treat "about" as a claim too. "About 40 minutes" with no source is a promise in the caller's ears. Test what happens when dispatch returns no ETA, a stale ETA or an error. A silent tool failure with an empty ETA is the usual cause of an invented number. See detecting silent tool failures in voice agents.
Calls that need a human
Some calls look like tow requests but are not. Law varies by state, so these are examples to check against your own jurisdiction.
- Private property tows. In Texas, for instance, the Occupations Code separates a consent tow (summoned by the vehicle's owner or operator) from a nonconsent tow, which includes a private property tow authorised by a parking facility owner without the vehicle owner's consent (Tex. Occ. Code § 2308.002, as reproduced by Public.Law). A caller asking "where is my car?" after a lot tow needs a different script from a breakdown caller.
- Impound and police-ordered tows. The agent should not promise release times or fees it cannot see.
- Repossession. Under UCC 9-609, a secured party may take possession without judicial process only if it proceeds without breach of the peace (Cornell LII, UCC 9-609). An angry caller about a repo is a human call, not a dispatch.
- Disputes about price, damage or authorization. Capture a callback and escalate.
The rule for the prompt: classify the call type before booking. If it is not a plain consent tow or roadside service, hand off. For handoff design, see escalation accuracy in voice agents.
How to test a towing dispatch agent before changing the prompt
A manual test call in a quiet room proves little. Build a matrix and run it on every change, as described in shipping voice agent prompt changes safely.
1. Write the ticket schema first. List every field from the table above, plus gate decisions and ETA state. Tests assert on the stored ticket, not on what the agent said.
2. Build the scenario matrix. Cross location type (marker, exit, surface street, lot), vehicle (EV, AWD, low clearance, unknown), problem (tow, jump, lockout, fuel), payer (card, motor club, unknown) and condition (wind or traffic noise, accent, fast speech, interruptions).
3. Plant near-miss digits. Use pairs like 142 and 124, 15 and 50, 213 and 230. Assert that the stored marker equals the planted one.
4. Test direction. Give the same marker in both directions and check that the ticket carries the right one, or asks.
5. Test safety triggers. Include a caller in a lane, a fuel smell, an injured passenger and a child in the car. Pass means the booking flow stops and a human or 911 instruction follows.
6. Test ETA states. Make the dispatch tool return no ETA, a stale ETA, an error and a surge delay. Pass means no invented number.
7. Test human-handling calls. Include a lot tow, an impound inquiry and a repo complaint. Pass means no dispatch and a clean handoff.
8. Check the downstream write. Read the ticket from the dispatch system and compare it to the planted facts. A correct transcript with a wrong record is a fail.
9. Re-run on every change. Compare pass rates against the last release before it reaches callers.
Evalgent is a testing, evaluation and monitoring platform for voice agents, and it fits steps 2 to 6. It generates test scenarios from your agent's prompt and flows, and it runs simulated callers with set accents, speech pace, interruption level and background noise. It scores from the audio as well as the transcript, which matters when the failure is a digit the transcript got wrong or a pause that changed meaning. Evalgent works with teams to set up evals for their first agent, so it is a sales-led conversation, not a self-serve tool. You can also add custom metrics that run on every call, such as "stored marker equals planted marker."
For the synthetic-caller approach in general, see synthetic callers for voice agent testing. For noise specifically, see testing STT under background noise.
A starting scorecard
These thresholds are starting points for a pre-release gate. Tune them to your risk.
| Metric | Definition | Suggested gate |
|---|---|---|
| Marker exact match | Stored marker equals planted marker | 100% on near-miss set |
| Direction captured or asked | Ticket has direction, or agent asked | 100% |
| Safety gate fired | Booking stopped on live-lane scenarios | 100% |
| Truck-type correct | Flatbed flagged for EV, AWD, unknown | 100% on set |
| Invented ETA | ETA stated without a dispatch value | 0 |
| Human-handling routed | Lot tow, impound, repo not dispatched | 100% |
Once live, the same checks apply to real calls. Evalgent's production monitoring takes call recordings you push, transcribes and judges them, and flags tool-call failures, latency spikes and policy failures with fix recommendations. A weekly review of flagged calls is how you find the stranger cases the matrix did not cover. See also shadow testing a voice agent.
Frequently asked questions
What should a towing company AI answering service ask a stranded driver?
Ask in this order: are you safe and off the road, where exactly (route, mile marker, direction, second anchor), what vehicle, what is wrong, where should it go, who pays and a callback number. Read digits back one at a time. Safety comes first so a caller in a lane is routed to 911 or a human before booking starts.
How does an AI dispatcher get a mile marker right?
It reads the marker back as separate digits, asks for direction of travel, and gets a second anchor such as an exit or cross street. Code then checks the marker against the route's range and the anchor. A mismatch goes to a human dispatcher. Test with near-miss digit pairs like 142 and 124 over highway-noise audio.
Can an AI answering service give a tow ETA?
Only from live dispatch data, and only as an estimate until a driver accepts. Before acceptance, the agent should say a request is with dispatch and that a text will follow. After acceptance it can state the driver's ETA. A fixed phrase like "30 minutes" in the prompt is a promise nobody can keep in a storm.
Should an AI tell a stranded driver to stay in the car?
Only if your safety owner approves it, with the conditions attached. For example, Texas DPS says to stay with the vehicle "if possible" and exit away from traffic if you must. A caller in a lane, or with smoke or a fuel smell, needs 911 and a human, not a blanket rule.
How do you know if a car needs a flatbed tow?
Check the manufacturer's manual for that model. One example: Kia's electric-vehicle manual recommends a flatbed or wheel dollies, and says AWD vehicles should never be towed with wheels on the ground. The agent should ask about electric, AWD, low clearance and whether the car rolls. Unknown answers should flag the ticket for review.
Can AI handle motor club or insurance tow authorizations?
It can capture the membership and authorization numbers, read them back and mark them unverified. It should not confirm coverage or promise a price, since the payer decides. Store what was said, what was confirmed and whether anyone verified it as separate fields so a wrong digit never becomes a billed job.
What towing calls should not be handled by AI?
Private property tows, impound and police-ordered tows, repossession complaints, and disputes about price or damage should go to a person. Rules differ by state. In Texas, for example, consent tows and nonconsent tows are legally distinct. The agent should classify the call type first and hand off anything that is not a plain breakdown.
How do you test a towing AI before changing the prompt?
Run a scenario matrix against the stored ticket, not just the transcript. Cross location, vehicle, problem, payer and noise, plant near-miss digits, and force dispatch tool failures. Gate the release on exact marker match, safety-gate firing and zero invented ETAs. Re-run the full set on every prompt or model change.
The bottom line
A towing company AI answering service succeeds when the stored ticket is right: correct marker and direction, the right truck, a safe caller and an ETA that came from dispatch. Test those four things on the ticket itself before every change, because a clean transcript can still send a truck to the wrong mile.
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