AI receptionist scripts for service business owners live or die on about eleven words. I learned that on a Tuesday, reading a call transcript from a voice agent I had configured myself the week before, feeling pretty good about my work right up until the line where it said: "No problem, we can definitely get that fixed for you today."
The caller had a forty-year-old boiler. The shop did not touch boilers. The AI had booked a truck, the tech had driven twenty-five minutes, apologized, and driven back. Nobody got paid. The customer had been told, by a voice that sounded like the company, that the problem was handled.
That afternoon is the reason I now write scripts in blocks instead of paragraphs, and why I treat every confident-sounding phrase as a liability until it is fenced in. Below is the structure I use, and the specific wording that stops the same failure from repeating in your shop.
Why do AI receptionist scripts over-promise in the gaps?
Here is what actually went wrong, because it is not the obvious thing.
The script did not contain a boiler policy. It also did not contain instructions about what to do when the caller described something the script had no policy for. Those are two different gaps, and the second one is worse. A language model with an incomplete script does not stop. It fills. It is pattern-matching on "heating problem" plus "service company" and producing the most statistically ordinary sentence a receptionist says, which is that yes, we can help.
So the first rule of writing these scripts: an AI receptionist over-promises in the gaps, not in the instructions. Your job is not mainly to write what it should say. Your job is to close the places where it will improvise. Every hour you spend polishing tone is an hour not spent on the four or five unwritten policies that will actually cost you a truck roll.
Wondering which AI tool pays for itself first? Request a free AI audit and find out.
What should an AI receptionist script for a service business actually contain?
Six blocks. I write them in this order every time, because each one narrows what the next one is allowed to do.
- Greeting and identity. Company name, any legally required disclosure, and the AI's own status.
- Service area boundary. Where you go, where you don't, and where it depends.
- Trades in scope and out of scope. The do list, and the explicit do-not list.
- Emergency triggers. The words that stop the booking flow entirely.
- Booking rules. What the AI is permitted to put on the calendar and what it must never state.
- Hand-off and escalation. How the call ends when the script runs out.
Everything else, including tone, small talk, and how it says goodbye, is decoration. These six carry the risk. If you only have one afternoon, write blocks three through five and leave the rest at defaults.
What belongs in the greeting block of an AI receptionist script?
Most owners write the greeting last and treat it as branding. In several states it is regulated. The Texas Department of Licensing and Regulation, for example, requires licensed air conditioning and refrigeration contractors to carry their license number in advertising. Check what your state and municipality expect, and if a number belongs in your ads, decide deliberately whether it belongs in your greeting too.
The other greeting decision people skip: does the AI say it is an AI? My position is yes, plainly, in the first ten seconds, because callers work it out anyway, and a caller who works it out after being surprised trusts the rest of the call less. Something like: "Thanks for calling [Company]. I'm the automated assistant. I can get your job scheduled or get you to a person, whichever you need." That last clause matters. It gives the caller an exit, which reduces the number of people who hang up and dial your competitor.
One more line worth adding to the greeting block: what happens if the caller interrupts. Real people talk over a greeting. Script the agent to yield, capture the interruption as the reason for the call, and skip straight to intake rather than restarting its opening.
How do you write the service area block without over-promising?
Do not give the AI a city list. Cities have edges that customers do not know and the model does not either. Give it one of two things: a ZIP code list, or a county-plus-radius rule with a named exception set.
Then write the three responses explicitly:
- Inside the area: confirm and move on. No hedging.
- Outside the area: a clean, warm decline. "We don't cover [area], and I don't want to book you and have to cancel. [Referral or suggestion]." Naming the reason keeps it from sounding like a brush-off.
- The gray band: this is the one people forget. If you sometimes go out forty minutes for the right job, the AI must not decide that. Script it as: "That's just past our usual area. I can take your details and have the dispatcher confirm within [timeframe]. I don't want to promise a truck until they've looked at it."
That third response is the workhorse phrase of the entire script. "I don't want to promise X until Y" is the sentence that converts an over-promise into a controlled follow-up, and I reuse it in four of the six blocks.
Two edge cases belong here as well. Gated communities and rural addresses that map poorly are worth a capture-and-confirm rather than a hard yes. And a caller who gives a cross street instead of an address should trigger a request for the ZIP, not a guess.
Which trades should your AI receptionist say no to?
Write the out-of-scope list before the in-scope list. It is shorter, and it is where the money leaks.
The out-of-scope items that burn service businesses are almost never the far-off ones. Nobody's AI books a caller for dental work. The costly ones are adjacent, close enough to your trade that both the caller and the model classify them as yours:
- Plumbing shops: septic systems, well pumps, water treatment, main line replacement requiring excavation permits.
- HVAC shops: oil-fired equipment, hydronic boilers, mobile home furnaces, commercial rooftop package units, brands you cannot source parts for.
- Electrical: service upgrades requiring utility coordination, solar interconnect, low-voltage and structured cabling, anything in a mobile home.
- Roofing: tile, slate, standing-seam metal if you only do asphalt, and any structural repair beyond the deck.
Refrigerant is its own trap. Under the AIM Act phasedown, new residential systems installed from January 1, 2025 forward generally run A2L refrigerants like R-454B or R-32, and R-22 production has been banned since 2020. If a caller describes an older unit and your AI says "we can top that off," you have promised a service that depends on what is actually on the truck. The script line should be neutral: "The tech will identify the refrigerant on site and go over options with you. I can't tell from here what the system takes."
For each out-of-scope trade, give the AI three fields: the decline sentence, whether to capture the lead anyway, and whether to refer. Ambiguity in any of those three is where it starts booking boilers. My default is capture the name and number even on a decline, because a boiler caller this month is a water heater caller next year.
What counts as an emergency in an AI receptionist script?
Emergency triggers are the only block where the AI is not allowed to be helpful in the ordinary sense. Certain phrases have to stop the booking flow cold and produce a safety instruction, because the correct outcome is not a scheduled job.
The gas-smell rule. If the caller says they smell gas, the AI does not book. It says leave the building, do not use switches or phones inside, and call the gas utility's emergency line or 911 from outside. Then, and only then, offer to follow up. I have seen more than one script where "smell of gas" routed to same-day priority booking. That is a script that scheduled a truck to a house that needed a fire department.
The carbon monoxide rule. Same shape. According to the CDC, more than 400 people in the United States die each year from unintentional carbon monoxide poisoning not linked to fires. If a caller mentions a sounding CO alarm, headaches, or nausea near a fuel-burning appliance, the script evacuates them first and books second.
The rest of the emergency list is trade-specific and should be written in the words your customers actually use, not the words your techs use. Callers do not say "uncontrolled discharge." They say water is pouring out and I can't find the shutoff. Write the triggers in caller language:
- Water running and can't find the shut-off valve
- Sewage backing up into the tub or shower
- Sparking outlet, burning smell, breaker won't stay on
- No heat, freezing outside, infant or elderly person in the home
- Active leak through the ceiling during a storm
For each, decide who decides. My default: the AI classifies and routes, a human confirms. It can flag a call as emergency and page the on-call tech, but it should not tell a caller their situation is or is not an emergency. That judgment stays with your people, and building the script so it never has to make that call is what keeps the tool honest. This is the same boundary discussed in what changes in the truck and what doesn't: the AI handles routing, the trade handles diagnosis.
What is your AI receptionist allowed to put on the calendar?
Your field service platform already constrains this and most scripts ignore it. In Jobber, Housecall Pro, and ServiceTitan, work gets dispatched against arrival windows and job types, not fixed clock times. So when your AI says "the tech will be there at 2:00," it has promised something the dispatch board structurally cannot honor, and your customer is standing at the window at 2:05 feeling lied to.
Write the booking block as a permission list:
- May offer: the arrival windows exposed by the calendar integration, for job types on the approved list, within the service area.
- Must state: that it is a window, not an appointment time. "That's an arrival window, and the tech will call or text when they're on the way."
- May not state: a specific tech's name, a diagnosis, a repair duration, parts availability, permit timelines, or how long the fix will take.
- Must hand off: home warranty claims, commercial accounts, insurance work, and anything with a third-party claim number.
That home warranty line comes up constantly in HVAC and plumbing. American Home Shield, Choice, and Old Republic dispatches carry claim workflows an AI cannot complete. Decide once whether you take them, script the answer as a hard yes or no, and route the yes to a human.
Fees deserve their own rule. If your diagnostic fee is published on your own website, the AI may state it exactly as published and nothing more. If it is not published, the AI does not improvise a number, ever. The line is: "There's a diagnostic fee for the visit, and the tech will go over everything before any work starts." After-hours works the same way. Say that after-hours rates apply, and do not invent what they are.
Why does an AI receptionist script fail in month two?
Because it was written once and never read again, while the business kept moving.
You add a brand. You lose a tech and stop taking Saturday calls. A supplier changes and a part goes to four-week lead time. The script does not know any of that, so it keeps confidently booking against a business that no longer exists. Month one everyone is watching the transcripts. Month two nobody is, and the drift starts.
The maintenance rhythm I use is unglamorous and takes about twenty minutes:
- Weekly, first month: read ten transcripts end to end. Not summaries. The actual words.
- Highlight every sentence the AI stated as fact that it could not verify from your calendar, your ZIP list, or your published policies. Each one becomes a new constraint.
- Monthly after that: five transcripts, plus any call that ended in a cancellation or a no-charge truck roll. Those two outcomes are almost always a script gap.
Pair that with your job data. When a truck rolls and produces no invoice, walk it backward to the call. You are usually looking at a booking rule that was never written. That backward walk is the same discipline behind the places a service business loses the job before it hits the calendar, and it is worth more than any amount of prompt-tuning.
Which lines belong in every AI receptionist script?
Four sentences do most of the protective work. Steal them:
- "I don't want to promise that until dispatch confirms it." The universal gray-area handler.
- "I can't tell from here. The tech will diagnose that on site." This kills every attempt at remote diagnosis.
- "That's an arrival window, and you'll get a call or text when the tech is on the way." This sets expectations the dispatch board can actually meet.
- "That's outside what we do, and I'd rather tell you now than send someone who can't finish it." A decline that builds trust instead of spending it.
One more thing on the outbound side, because owners mix it up. The FCC ruled in February 2024 that AI-generated voices in unsolicited robocalls are illegal under the TCPA. That governs calls you place, not the calls customers place to you. Inbound answering is not a robocall. But the moment your script promises "I'll have someone call you back," you are setting up outbound contact, and consent and do-not-call rules apply to that leg. Write the consent capture into the script rather than bolting it on later.
The honest summary of this whole exercise: a good script is mostly a list of things your AI is not allowed to say. That feels backward the first time you write one. It stops feeling backward the first Tuesday a truck does not roll to a boiler.
If you are still deciding whether a voice agent belongs in your shop at all, start with how the current voice agents handle real service calls and what a complete call handling system looks like before you write a word of script. The script is the last step, not the first. We build these constraint-first at Turnkey AI, and the constraints are the part that takes the time.
Questions owners ask about AI receptionist scripts
Frequently asked questions
How long should an AI receptionist script for a service business be?
Length is the wrong measure. Completeness is the measure. A tight script covering the six blocks usually runs one to three pages, and most of that is the out-of-scope list and the emergency triggers. If your script is long because of tone and small talk, it is long in the wrong place.
Should the AI receptionist tell callers it is an AI?
Yes, in the first ten seconds, paired with an offer to reach a person. Callers figure it out anyway, and the ones who figure it out after being surprised trust the rest of the call less. Some states also have disclosure expectations for automated voice interactions, so check your own rules.
Can an AI receptionist quote prices for a service business?
Only figures already published on your own site, stated word for word. For everything else the script says a diagnostic fee applies and the tech reviews options before work starts. An AI that improvises a number creates an expectation your tech has to argue with at the door.
What happens when a caller says something the script does not cover?
It should capture the details and hand off, not improvise. Write an explicit fallback line such as: I want to get this right, so let me take your details and have someone call you back. Unwritten fallbacks are exactly where over-promising begins.
How often should you update an AI receptionist script?
Read ten transcripts weekly for the first month, then five monthly, plus every call that ended in a cancellation or a no-charge truck roll. Update the script the same week your business changes: a new brand, a dropped service, a schedule change, or a long parts lead time.