Recall Outreach AI Calls: Accuracy and Compliance Checks

On this page
Last verified October 17, 2026, against 47 CFR 64.1200, FCC 24-17, 49 U.S.C. 30120, 49 CFR 573.15 and NHTSA's recall lookup. This is not legal advice. Talk to TCPA counsel before you launch a campaign.
Recall outreach looks like the easy outbound use case. The owner gets a free repair and the dealer gets a car in the service lane. That is why teams under-test it.
A recall call is a safety message read out by a model. It draws on three sources that often disagree: the DMS, the OEM recall feed and the CRM owner record. The agent can call the wrong person or name the wrong recall. It can promise parts that are not in stock. Nothing errors. The CRM logs "contacted," and the risk stays on the road.
This post is for product teams at dealer engagement software companies that run outreach for many rooftops. Impel's Service AI page, for example, lists vehicle recalls among the touchpoints it automates, next to a separate Voice AI product. If your platform makes recall calls for hundreds of dealers, this is the test plan.
What dealership recall AI calls actually do
A recall call is the front door to a small agentic workflow. It has six stages. Each stage can corrupt the record that comes after it.
1. Eligibility. Pick a VIN with an open safety recall from the OEM or DMS feed. Pick the phone number tied to that VIN in the CRM.
2. Identity. Confirm the person who answers still owns or drives that vehicle.
3. Recall statement. Say what the defect is, what the risk is and whether the remedy is free and available.
4. Urgency. Deliver the manufacturer's interim guidance, such as "do not drive," word for word.
5. Booking. Book the right op code with the right duration, or log a parts-on-order callback.
6. Write-back. Write the outcome, the opt-out status and any "sold the vehicle" flag to the DMS and CRM.

The model speaks in stages 2 to 5, but stages 1 and 6 carry most of the damage. A wrong eligibility pull makes a perfect call to the wrong person.
The five facts every recall call states
Every recall call makes five factual claims. Pin each claim to one field in the recall campaign record and test against that field.
| Fact the agent states | Source of truth | Typical failure | What the test checks |
|---|---|---|---|
| "Your [year make model] has an open recall" | VIN-level recall status, not make-model-year | Model-level list read as vehicle-level | Agent only claims what the VIN record says |
| Recall description and risk | OEM campaign text plus NHTSA campaign number | Model paraphrases into a different defect | Key terms match the campaign record |
| "The repair is free" | 49 U.S.C. 30120(a)(1) | Agent hedges or quotes a price | Free stated, no price quoted |
| Remedy status | Recall feed status plus dealer parts | "Come in any time" when parts are on order | Parts-on-order path triggers, no repair booked |
| Interim guidance | OEM owner letter ("do not drive," "park outside") | Softened to "when convenient" | Guidance read verbatim, before booking |
The free remedy is the law, with limits. Section 30120(a)(1) says the manufacturer "shall remedy the defect or noncompliance without charge." Section 30120(g) drops that duty for vehicles first sold over 15 years before the notice. Section 30120(i) adds a stop-sale: dealers may sell a new recalled vehicle "only if" it is fixed first.
The VIN-level source matters most. NHTSA's public Recalls API takes make, model and model year, or a campaign number. As of October 2026 it documents no VIN parameter. A make-model-year hit tells you the model has a recall. It does not tell you this car is open. VIN-level status comes from the manufacturer. Under 49 CFR 573.15, makers of 25,000 or more light vehicles a year must offer a VIN lookup that is updated "at least once every seven (7) calendar days."
Six failures that pass as successful calls
Each failure sounds fine on a transcript skim and leaves a wrong record behind.
Wrong vehicle: the owner sold the car
CRM phone numbers outlive vehicle ownership. A naive agent books a recall with someone who traded the car in two years ago. The CRM then shows an appointment that will never arrive.
Confirm the vehicle before stating any recall detail. If the person sold it, thank them and stop. Write a structured "no longer owns" flag so the VIN moves to another outreach path.
VIN misheard during confirmation
Outbound calls start from a known VIN, but confirmation can still break it. The agent asks the owner to read the VIN off the windshield, where NHTSA says to find it. Then speech recognition hears "K" for "L."
Position 10 is the model-year character under 49 CFR 565.15. K is 2019 and L is 2020. One letter moves the car a model year and can change which recalls apply. Alphanumeric strings are a known weak spot. The SNuC corpus (LREC 2022) needed over 13,000 recorded alphanumeric sequences to study the problem. Our VIN lookup QA guide covers capture in depth.
The cheap guard is the check digit in position 9. It exists "for verifying the accuracy of any VIN transcription." A single swapped character almost always breaks it. The code section below shows the check.
Wrong recall described
The agent gets a structured campaign record and turns it into speech. That is a data-to-text task, and it is the riskiest kind. In the RAGTruth corpus, 4,254 of 6,198 data-to-text responses (68.6%) contained a hallucination. That figure pools six 2023-era models, including GPT-4 and Llama 2, so treat it as a direction, not your rate. The finding still stands: models embellish structured records.
On a recall call, embellishment means the wrong defect. "Fuel pump" becomes "fuel line." The FTC has already sued over recall misstatements. In 2018 it went after dealers that mailed "URGENT RECALL NOTICE" letters to over 21,000 owners, most of whom had no recall, according to the FTC consumer alert. An AI call that invents a recall can do the same damage, one dial at a time.
"Come in any time" when parts are not available
Manufacturers often announce a recall before the fix exists. Under 49 CFR 577.7, when "the remedy for the defect or noncompliance is not available at the time of notification," the maker must send "a second notification within a reasonable time" once it is. The manufacturer VIN lookup must say "the remedy is not yet available" for those vehicles.
An agent that ignores parts availability books a repair the shop cannot do. The owner takes a morning off and leaves with nothing. Test that a remedy-not-available record leads to a callback request, interim guidance and no booked repair op.
Softening a "do not drive" recall
Some recalls carry interim guidance that cannot be bargained with. In August 2024, Ford and Mazda issued warnings for more than 457,000 vehicles with recalled Takata air bags. NHTSA's notice said: "do not drive it until the repair is completed and the defective air bag is replaced." The makers offered "free towing, mobile repair and, if necessary, loaner vehicles."
LLMs are tuned to be pleasant. Under pushback ("I drive it every day"), they drift toward "whenever works for you." That drift is the failure. NHTSA's Takata spotlight counts 28 US deaths from exploding inflators. Repair rates on these warnings stay low. In 2018, NHTSA reported only 49.2% of 33,320 affected 2006 Ford Rangers had been fixed. The agent's job is to state the guidance clearly, offer the tow or mobile option and book the earliest slot.
Wrong service duration and ignored opt-outs
Recall op codes have labor times. If the agent books a default 30-minute slot, the bay overbooks. The same pattern breaks independent shops too, as covered in our post on auto repair AI booking errors.
Opt-outs are the last silent failure. "Stop calling me" must become a do-not-call write-back that the next campaign honors.
TCPA rules for dealership recall AI calls
The TCPA treats an AI voice as an artificial voice. In FCC 24-17 the FCC confirmed that the TCPA's limits on "artificial or prerecorded voice" calls cover AI technologies that generate human voices. So recall outreach built on a voice agent falls under 47 CFR 64.1200. Our speed-to-lead TCPA guide walks through the general mechanics. Here is what changes for recalls.
Consent tier depends on content. Under (a)(1), artificial-voice calls to wireless numbers need "prior express consent," unless made "for emergency purposes." Under (a)(2), telemarketing to wireless numbers needs "prior express written consent." A pure recall notice is informational. A recall call that pitches paid work moves toward telemarketing. The rule defines telemarketing as a call "for the purpose of encouraging the purchase or rental of" goods or services. "While it's in, want our brake special?" is that kind of line.
Do not assume the emergency exemption. The rule defines emergency purposes as "calls made necessary in any situation affecting the health and safety of consumers." Recall vendors have argued that recall notices fit. In 2017 one did so in a TCPA suit that was dismissed without a court ruling on that point. I found no FCC ruling that settles it for vehicle recalls. Plan for consent instead of betting on the exemption.
Identify and offer an opt-out. Under (b)(1), the message must identify "the business, individual, or other entity" responsible at the start. Under (b)(2), it must give a phone number. Under (b)(3), telemarketing calls and the exempt calls to residential lines must offer an automated voice or key-press opt-out. Under (a)(3), some exempt calls to residential lines, including commercial calls with no advertisement, are capped at three in any 30-day period.
Revocation rules are changing. Today, (a)(10) requires honoring a revocation made "by any reasonable method" within ten business days. The FCC had delayed the broader "revoke-all" piece to January 31, 2027 in DA 26-12. Then, on September 30, 2026, it adopted FCC 26-67, released October 1. Per Manatt's summary, callers may apply an opt-out to the category of informational calls it targets. Telemarketing stays one category. Callers may also name exclusive opt-out methods, such as an in-call voice or key-press opt-out. The order takes effect 30 days after Federal Register publication, which had not happened as of Manatt's October 5 alert.
For TCPA compliance, keep it simple. Treat "stop calling" as covering recall calls for that dealer. If you rely on an exclusive method, the in-call opt-out must work every time.
Spanish-speaking owners. I found no federal rule that requires recall calls in Spanish. Your callers will still speak it. Per the Census Bureau, about 22% of US residents age 5 and older spoke a language other than English at home in 2017 to 2021. About 61% of them spoke Spanish. A "do not drive" warning delivered in English to a Spanish-dominant owner is a failed safety message. So is a Spanish opt-out that the agent fails to log.
The recall call test matrix
Test scenarios against caller conditions. A script that passes with a calm English caller can fail with a Spanish speaker on speakerphone in a truck.

| Scenario | Expected agent behavior | Hard fail |
|---|---|---|
| Owner confirms vehicle, remedy available | States recall, says free, books correct op code and duration | Wrong duration or wrong recall |
| Owner sold the car | Stops recall detail, writes "no longer owns" | Books a repair or keeps pitching |
| VIN read back with one character wrong | Check digit fails, agent re-asks | Proceeds on the wrong VIN |
| Remedy not yet available | Explains parts status, logs callback, gives interim guidance | Books a repair op |
| Do-not-drive recall with pushback | Repeats guidance verbatim, offers tow or mobile repair | Says "whenever convenient" |
| Owner asks "how much will this cost?" | Says the remedy is free | Quotes a price or hedges |
| Owner says "stop calling" (English or Spanish) | Confirms, ends call, writes opt-out | Continues, or no write-back |
| Owner asks about unrelated paid service | Routes to a person or a separate consented flow | Upsells inside the recall call |
Run each row under at least five conditions. Use a clean line, speakerphone with road noise, a heavy accent, a Spanish speaker and a caller who interrupts. Evalgent's caller profiles cover exactly these knobs: accent, pace, interruptions, response delay, background noise and language. Spanish is among the simulator's languages. For accent work, see our accent robustness guide.
Worked math: why one bad cell matters at platform scale
These numbers are an illustrative assumption, not data. Take 300 rooftops running 400 recall calls each a month. That is 120,000 calls.
Say 1% hit the "remedy not yet available" path, or 1,200 calls. If the agent mishandles 10% of those, 120 owners a month arrive for a repair that cannot happen.
Say 2% of calls include a revocation, or 2,400 a month. A 0.5% write-back failure leaves 12 numbers dialed again after the owner said stop. The ten-business-day clock does not care that a webhook timed out.
The lesson is sample size. A 0.5% failure needs hundreds of opt-out test calls or full monitoring to surface. Spot-checking 20 calls a week will not find it. Our post on testing one agent across 500 customer setups covers per-tenant sampling.
Code: a pre-call guard and a write-back validator
Two checks in code catch most of the failures above, and the model never decides them. The sketch is simplified Python with no vendor SDK.
# Simplified sketch. Field names are illustrative.
TRANSLIT = {**{str(d): d for d in range(10)},
**dict(zip("ABCDEFGH", range(1, 9))),
**dict(zip("JKLMN", range(1, 6))), "P": 7, "R": 9,
**dict(zip("STUVWXYZ", range(2, 10)))}
WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2]
def vin_check_digit_ok(vin: str) -> bool:
vin = vin.upper()
if len(vin) != 17 or any(c in "IOQ" for c in vin):
return False
total = sum(TRANSLIT[c] * w for c, w in zip(vin, WEIGHTS))
expected = "X" if total % 11 == 10 else str(total % 11)
return vin[8] == expected
def pre_call_guard(rec: dict, now_days: int) -> str | None:
"""Return a reason to skip the call, or None to dial."""
if not vin_check_digit_ok(rec["vin"]):
return "bad_vin"
if rec["recall_status_source"] != "vin_level":
return "model_level_only" # never claim an open recall
if now_days - rec["recall_status_checked_day"] > 7:
return "stale_recall_status" # 573.15 lookups update weekly
if rec["phone_opted_out"] or rec["owner_flag"] == "no_longer_owns":
return "suppressed"
return None
def validate_writeback(call: dict, rec: dict) -> list[str]:
errs = []
if call["outcome"] == "booked":
if rec["remedy_status"] != "available":
errs.append("booked_without_remedy")
if call["op_code"] != rec["recall_op_code"]:
errs.append("wrong_op_code")
if call["slot_minutes"] < rec["labor_minutes"]:
errs.append("slot_too_short")
if call["revocation_detected"] and not call["dnc_written"]:
errs.append("opt_out_not_written")
if call["owner_said_sold"] and call["owner_flag_written"] != "no_longer_owns":
errs.append("sold_flag_missing")
if rec["interim_guidance"] and not call["guidance_spoken_verbatim"]:
errs.append("guidance_not_read")
return errs
assert vin_check_digit_ok("1EVGT2C55LP048213") # illustrative VIN
assert not vin_check_digit_ok("1EVGT2C55KP048213") # L misheard as KChanging position 10 from L to K breaks the check digit, so the guard rejects the misheard VIN. The seven-day staleness rule mirrors 573.15's update cadence.
The `revocation_detected` and `guidance_spoken_verbatim` fields need an evaluator that listens to the call. A transcript keyword match misses "quit calling, por favor" over road noise. That is the gap between transcript and audio evaluation.
Monitoring recall calls in production
Monitoring proves the data and the model still agree after feeds change, parts arrive and prompts get edited. Score every call against the record it was built from.

Score these on every call, per dealer:
- Recall match rate. Spoken defect matches the campaign record. Target 100%.
- Remedy status honored. Zero bookings on remedy-not-available records.
- Guidance read verbatim. Do-not-drive guidance comes before booking talk.
- Opt-out write-back. Every revocation is written within minutes.
- Sold-car flag rate. A spike at one dealer means a stale CRM export.
- Duration match. Booked slot covers the op code's labor time.
Evalgent's production monitoring works this way. Teams push call recordings, and each call is transcribed, mapped to a scenario and judged from the audio. It flags policy and tool-call failures with fix suggestions. Custom metrics, such as "recall described matches campaign," run on every call. Our dealership BDC monitoring guide covers per-rooftop drift and scorecards. The production monitoring overview covers latency and dead air.
How to test dealership recall AI calls before every campaign
1. Freeze the data snapshot. Export the VINs, campaigns, remedy statuses, op codes and labor times the campaign will use. Tests run against this snapshot.
2. Run the pre-call guard on every row. Drop bad check digits, model-level-only hits, stale statuses and suppressed numbers. Log the counts per dealer.
3. Generate scenarios from the prompt and the data. Cover each campaign type in the snapshot: remedy available, remedy not available, do-not-drive, sold car and opt-out.
4. Cross scenarios with caller conditions. Use five conditions per scenario, including Spanish and speakerphone noise. Run each cell at least three times, since agent output varies run to run.
5. Grade against the record, not the transcript vibe. Check recall terms, "free" wording, guidance wording, op code, duration and write-backs field by field.
6. Block launch on any hard fail. Wrong recall, booked-without-remedy, softened guidance and a missed opt-out each stop the campaign.
7. Re-run after every prompt or feed change. Treat a new OEM campaign like a code change. Our prompt change guide shows a regression gate.
8. Turn on full monitoring at launch. Score every live call for the first two weeks, then sample per dealer.
The AI phone agent go-live checklist covers the rest of a new-dealer launch. For outbound mechanics like voicemail and answer rates, see outbound voice agent testing.
Frequently asked questions
Are dealership recall calls legal under the TCPA?
Dealership recall calls can be legal under the TCPA when they follow 47 CFR 64.1200. AI voices count as artificial voices under FCC 24-17. Calls to wireless numbers need prior express consent unless an emergency exemption applies. Calls must identify the dealer and honor opt-outs. Adding paid-service pitches can make the call telemarketing. This is not legal advice.
Do recall notification calls need consent?
Recall notification calls made with an AI or prerecorded voice generally need prior express consent for wireless numbers under 47 CFR 64.1200(a)(1). The emergency-purposes exemption covers calls "affecting the health and safety of consumers." No FCC ruling found here settles whether vehicle recall calls qualify. Most teams plan for consent rather than relying on the exemption.
Are vehicle recall repairs free?
Vehicle safety recall repairs are free by law. Under 49 U.S.C. 30120(a)(1), the manufacturer must remedy the defect "without charge" when the vehicle is presented. The duty does not apply to vehicles first sold more than 15 calendar years before the notice. An AI recall call should say the remedy is free and never quote a price.
What does remedy not yet available mean?
"Remedy not yet available" means the vehicle is covered by a safety recall, but the fix or parts are not ready. 49 CFR 573.15 requires manufacturer VIN lookups to show that status. 49 CFR 577.7 requires a second notice once the remedy is ready. An AI agent should share interim guidance, log a callback and not book a repair.
What should an AI say about a do not drive recall?
An AI agent on a do-not-drive recall should read the manufacturer's guidance word for word. It should say the vehicle should not be driven until repaired. It should offer towing, mobile repair or a loaner when the maker provides them. It should book the earliest slot. It must never soften the warning when the owner pushes back.
How to handle a recall call when the owner sold the car?
When the owner sold the car, the recall call should confirm the vehicle first and stop before reading recall details. The agent thanks the person and ends politely. It writes a structured "no longer owns" flag to the CRM so that VIN moves to another outreach path. It should not collect new-owner details without an approved script.
How to test AI recall calls in Spanish?
Testing AI recall calls in Spanish means running every scenario with simulated Spanish-speaking callers, not translating a few English scripts. Check that the defect, the "free" statement and any do-not-drive guidance are correct in Spanish. Check that Spanish opt-outs like "no me llamen" become do-not-call write-backs. Include code-switching and noisy speakerphone conditions.
How often should recall data be refreshed?
Recall data should be refreshed before every outbound batch, and records older than seven days should be re-checked. Under 49 CFR 573.15, large manufacturers must update their VIN recall lookups at least every seven days. NHTSA notes that some new recalls do not yet list every VIN. Stale data causes wrong-recall and parts-status errors.
The bottom line
Dealership recall AI calls fail silently when the spoken recall, the parts status or the opt-out drifts from the record. Test every campaign against frozen recall data across real caller conditions, then score every live call against the same record.
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