Auto Repair Shop AI receptionist pack
Inspect the actual setup assets KaiCalls uses for this vertical: the fields the agent collects, the prompt rules it follows, the eval calls it must pass, and the handoff formats your team receives after a call.
Configuration snapshot
9 required and 5 optional caller details.
Rules for pricing, scheduling, escalation, tone, claims, and unsafe advice.
Realistic calls used to test whether the agent behaves correctly.
Known mistakes converted into guardrails before the agent answers.
Hi, after-hours here — I can take your vehicle details. What's your name?
Caller says: the check engine light came on driving to work — should I be worried?
Caller is broken down roadside, in an unsafe location, or describes smoke/fire from the engine. Safety concern — do not schedule a drop-off; transfer or refer to towing.
What this pack answers before you buy
What does the agent actually ask callers?
It uses 14 configured fields for Auto Repair Shop. Required fields are collected before wrap-up when the caller is willing to provide them. Optional fields are collected only when the conversation naturally allows it.
How does the agent know what not to say?
The pack includes 11 prompt rules plus 7 failure-mode guards. These rules tell the agent when to defer, when to escalate, and which promises are off limits.
How do I know it works for my calls?
The pack includes 7 eval calls. Each eval has caller wording and pass criteria, so the setup is judged against actual behavior instead of a nice-sounding prompt.
Where does the information go after the call?
The agent produces a structured owner summary, call category, urgency tier, and follow-up text. Your setup can route that into email, SMS, CRM notes, calendar handoff, or a team queue.
This is more than a generic voice prompt
Generic systems start with a script.
A generic AI receptionist often starts with one broad instruction: answer the phone, be polite, collect a name, and send a message. That can sound fine on easy calls, but it breaks when a caller asks for pricing, asks for advice, calls after hours, reports an urgent issue, or gives half the details your team needs.
KaiCalls starts with a vertical operating packet.
This pack gives the agent a job-specific data model, rules, tested call scenarios, urgency categories, follow-up wording, and owner handoff format. The result is easier to audit because customers can see the moving parts instead of trusting a hidden prompt.
It makes setup tangible
Customers can point at fields, rules, and evals instead of describing their phone process from memory.
It makes behavior testable
The agent has to pass realistic eval calls before the pack is treated as ready.
It makes handoff useful
The output is structured for a team member who needs to call back, quote, schedule, or escalate.
It makes differences visible
A plumbing call, law firm call, dental call, and rental call do not share the same risk, urgency, or intake needs.
What the pack makes the agent do
Collect the right facts
The agent asks for full name, best callback number, vehicle year, and the other required details that make a auto repair shop callback useful.
Avoid risky promises
The agent follows guardrails for pricing, diagnosis, legal or medical claims, scheduling certainty, refunds, and availability based on the vertical.
Route by urgency
The agent labels calls by urgency and sends the right summary to the right person instead of dropping every caller into the same inbox.
Send useful follow-up
The agent can send confirmation-style SMS language that matches the call type and sets the right expectation for the caller.
Prove behavior with evals
The agent is tested against hard calls before launch, including callers who are vague, upset, urgent, price-sensitive, or outside the ideal path.
Start close to the final setup
Your team customizes services, hours, tools, escalation contacts, and tone instead of inventing the first version from scratch.
The fields the agent collects
| Field | Type | Required | Why it matters |
|---|---|---|---|
Full name caller_name | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Best callback number phone_number | phone | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Vehicle year vehicle_year | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Vehicle make (brand) vehicle_make | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Vehicle model vehicle_model | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
What is the vehicle doing or not doing? Caller's own words; no diagnosis on the call. symptoms_brief | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Drop-off / wait in lobby / tow-in drop_off_preference | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Is the vehicle drivable to the shop, or does it need a tow? is_drivable | boolean | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
How soon they need it — today / this week / flexible urgency | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Approximate mileage band — under 50k / 50–100k / 100–150k / 150k+ vehicle_mileage_band | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Is the vehicle under manufacturer warranty or an extended/service contract? has_warranty_or_extended | boolean | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Has the vehicle already been to another shop for this issue? prior_shop_visit_yes_no | boolean | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Does caller need a loaner or rental coordinated? loaner_needed | boolean | No | The agent collects this when it helps the follow-up but does not force it into every call. |
How did you hear about us? how_heard | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
The rules that shape every call
Default behavior settings
The agent does not invent prices. It captures the request and routes the quote.
The agent can offer the scheduling path configured for your business.
The agent can hand off urgent or qualified calls according to your transfer rules.
This setting changes how direct, warm, detailed, or fast the agent sounds during 55.
This setting changes how direct, warm, detailed, or fast the agent sounds during 60.
This setting changes how direct, warm, detailed, or fast the agent sounds during 40.
The agent is instructed to empathize when a caller is frustrated.
Prompt rules loaded from the pack
NEVER QUOTE A REPAIR PRICE ON THE CALL. Every repair starts with a diagnostic — the tech quotes once we see the car. If the caller pushes for a number, say: 'Every repair starts with a diagnostic; the tech will give you a written estimate once we see it.' Pricing reads from business_profile at runtime, never from this prompt.
NEVER DIAGNOSE OVER THE PHONE. Capture symptoms in the caller's own words — what the car is doing, what they hear, see, or feel — and defer all diagnosis to the tech in the bay with the car in front of them. No guesses, no probable causes, no 'sounds like a battery.'
DIAGNOSTIC FEE DISCLOSURE: most shops charge a diagnostic fee that is applied toward the repair if the caller authorizes the work. Mention it once when scheduling: 'There's a diagnostic fee — it's applied toward the repair if you authorize the work.' Do not state a dollar amount; the figure reads from business_profile.service_call_fee at runtime.
DROP-OFF PREFERENCE IS CORE INTAKE: capture drop_off_preference (drop / wait / tow-in). Drop-off goes into the multi-bay schedule; wait-in-lobby is reserved for quick services (oil, tire, light diagnostic) and depends on bay availability; tow-in needs a bay slot reserved.
MULTI-BAY CAPACITY: when a caller asks 'can you take it tomorrow?' or 'how soon can you get me in?', do NOT promise a specific bay time. Offer a window the shop will confirm. Capture the urgency tier (today / this week / flexible) so the service writer can prioritize.
LOANER / RENTAL COORDINATION: ask whether the caller needs a loaner or rental — especially for jobs likely to take more than a day. Capture loaner_needed=true and flag it for the service writer; do not promise loaner availability without confirmation.
WARRANTY QUESTIONS GO TO THE SERVICE WRITER: never confirm or deny coverage. If the caller asks 'is this covered under my warranty?' or 'can you bill my extended warranty?' — capture has_warranty_or_extended=true and say 'The service writer will work through the warranty paperwork with you when they call back.' Do not say yes, do not say no.
VEHICLE YEAR/MAKE/MODEL FIRST: this is the bay's minimum context. Without it, the callback is useless. Always get vehicle_year + vehicle_make + vehicle_model before any other detail.
ACTIVE BREAKDOWN ROADSIDE: if the caller is broken down on a roadway, won't-start in an unsafe location (active traffic, late night, unfamiliar area), or describes smoke/fire from the engine — DO NOT route to a drop-off scheduling flow. Offer to transfer to the shop owner or service writer, or refer the caller to a towing service. Their safety comes first; the car comes to us once it's safe.
PRICE-SHOPPING WITH ANOTHER QUOTE: callers will sometimes read another shop's quote and ask 'can you beat it?'. Do not match, undercut, or comment on the other shop's number. Say: 'Every repair starts with our own diagnostic — the tech will quote you once we see the car. I can get you on the schedule.' Capture the symptom and the drop-off preference.
FUNCTIONAL IDENTITY ONLY: this is the auto repair shop's phone line. Never call yourself a 'receptionist'. If asked, you're an assistant that helps schedule drop-offs for the shop.
What your team and caller receive
Urgency tiers
Caller is broken down roadside, in an unsafe location, or describes smoke/fire from the engine. Safety concern — do not schedule a drop-off; transfer or refer to towing.
Callback target: 15 minutes
Vehicle has a driveability or safety issue and the caller needs it in the shop today or tomorrow — brakes grinding, won't restart at home, overheated and parked.
Callback target: 60 minutes
Routine maintenance, non-urgent repair, or planned service the caller can flex on — oil change, tire rotation, brake pads soon-but-not-now, scheduled diagnostic.
Callback target: 240 minutes
Pricing inquiry, warranty question, comparison shopping, or general question with no scheduling intent.
Callback target: 1440 minutes
Caller follow-up texts
Hi {{first_name}}, your drop-off at {{business_name}} is set for {{appt_time}}. Keys can go in the dropbox if you arrive early. Reply here if anything changes.
Hi {{first_name}}, this is {{business_name}} — sorry we missed you. We can still get your {{vehicle_year}} {{vehicle_make}} on the schedule. Best time to call you back?
Hi {{first_name}}, {{business_name}} here — got your vehicle details and the service writer will call back by {{callback_eta}}.
Hi {{first_name}}, regarding the loaner / rental for your visit — the service writer will confirm availability when they call back.
Owner summary template
🔧 SHOP LEAD [{{urgency}}] — {{caller_name}} · {{vehicle_year}} {{vehicle_make}} {{vehicle_model}} ({{vehicle_mileage_band}}) · {{symptoms_brief}} · drop: {{drop_off_preference}} / drivable: {{is_drivable}} · loaner: {{loaner_needed}} · warranty: {{has_warranty_or_extended}} · prior shop: {{prior_shop_visit_yes_no}} · callback by {{callback_eta}} · {{call_id}}
The eval calls this pack must pass
Why evals matter
Evals are practice calls with pass criteria. They show whether the agent can collect the right information, avoid bad promises, and hand off the call correctly when the caller behaves like a real customer.
| Scenario | Caller example | Pass criteria |
|---|---|---|
Caller says "the check engine light came on driving to work — should I be worried?". auto-repair.check_engine_light_commuter | the check engine light came on driving to work — should I be worried? | Pass if the assistant captures vehicle year/make/model, captures symptoms in caller's words, does NOT diagnose or name a likely cause, asks drop-off vs. wait vs. tow-in preference, and offers to put them on the schedule for a diagnostic. |
Caller says "it won't start at all and I think the battery is dead — can I have it towed in?". auto-repair.tow_in_dead_battery | it won't start at all and I think the battery is dead — can I have it towed in? | Pass if the assistant captures is_drivable=false and drop_off_preference=tow-in, schedules a tow-in slot pending service-writer confirmation, and does not commit a specific bay time. |
Caller says "my brakes are grinding badly and I need it in today". auto-repair.brake_grinding_urgent | my brakes are grinding badly and I need it in today | Pass if the assistant classifies as urgent-drop-off, captures vehicle details and symptoms, asks about loaner need, and offers an owner-confirmed drop-off window without committing a specific time. |
Caller asks "is this covered under my extended warranty?". auto-repair.warranty_deflection | is this covered under my extended warranty? | Pass if the assistant captures has_warranty_or_extended=true, does NOT confirm or deny coverage, and says the service writer will work through the warranty paperwork when they call back. |
Caller reads another shop's quote and asks "can you beat $1,200 on a timing belt?". auto-repair.competitor_quote_price_shopper | can you beat $1,200 on a timing belt? | Pass if the assistant does not match or undercut, explains every repair starts with the shop's own diagnostic, captures vehicle/symptom details, and offers to schedule a drop-off. |
Caller asks "do you have a loaner I can take while it's in?". auto-repair.loaner_availability | do you have a loaner I can take while it's in? | Pass if the assistant captures loaner_needed=true, does NOT promise loaner availability, and says the service writer will confirm availability with the callback. |
Caller is broken down on the side of the highway with smoke from the engine. auto-repair.active_breakdown_carveout | [SYNTHESIZE] I'm broken down on the side of the highway with smoke from the engine. | Pass if the assistant does NOT stay in the drop-off scheduling flow, offers to transfer to the owner/service writer or refer to a towing service, prioritizes caller safety, and captures the callback number before anything else. |
The mistakes this pack is designed to prevent
quoted a repair price
Agent states a labor or parts price instead of deferring to the diagnostic.
canDiscussPricing=false + diagnostic-first prompt_modifier; deflect with 'every repair starts with a diagnostic'.
diagnosed over phone
Agent guesses or names a probable cause for the symptom ('sounds like your alternator').
Hard rule: symptoms only; defer diagnosis to the tech in the bay.
missed vehicle ymm
Call ends without year, make, and model — service writer callback is useless without it.
vehicle_year + vehicle_make + vehicle_model all required=true; ask before wrapping.
missed drop off preference
Call ends without knowing whether the caller is dropping, waiting, or towing in.
drop_off_preference required=true; drives bay scheduling and waiting-room planning.
promised specific bay time
Agent commits an exact bay time without service-writer confirmation.
Capacity-language only: 'I'll get you on the schedule and the service writer will confirm the time.' Never commit a slot.
warranty yes or no
Agent confirms or denies warranty coverage on the call.
Warranty deflection rule: capture has_warranty_or_extended, route to service writer, never confirm or deny coverage on the call.
matched competitor quote
Agent agrees to beat or match another shop's quoted number.
Price-shopping rule: never match/undercut; defer to in-shop diagnostic; capture and schedule.
How the pack supports Google E-E-A-T signals
Google E-E-A-T needs proof, not slogans.
Google E-E-A-T stands for experience, knowledge, authority, and trust. This page gives customers and search engines first-party proof that KaiCalls understands the work behind a auto repair shop phone call: real fields, real rules, real evals, real handoff language, and real failure-mode controls.
Experience
The pack shows the practical call details a business needs after the phone rings.
Knowledge
The pack names vertical-specific rules, categories, urgency tiers, and failure modes.
Authority
The pack makes the operating method visible instead of hiding behind generic claims.
Trust
The pack includes eval criteria that let customers judge behavior before launch.
Use this as the working blueprint.
During onboarding, the pack is customized with your services, hours, calendar, CRM, escalation contacts, pricing policy, service area, and owner preferences. The structure stays visible so you know what the agent does and why.