CALL SCRIPT LIBRARY

Outbound call scripts your CSRs will actually use.

Most outbound call scripts fail because they were written for a call center selling insurance to strangers, not a contractor calling a homeowner who asked for an estimate. A good one opens by naming the reason you're calling, gets to the point in the first two sentences, and gives your CSR a real answer for the three objections that come up on almost every call: the price, the timing, and "I need to check with my spouse." Read one out loud and it should sound like a person, not a form letter.

These scripts came from listening to real home services calls, not from a sales training course. They're built for the calls your team actually makes: chasing a lead that just came in, following up on a quote that's gone quiet, confirming tomorrow's job so the truck doesn't show up to an empty driveway.

BEFORE YOU DIAL

How to use these scripts.

Swap in the [VARIABLES] with your company's real details. Read each script out loud ten times before you use it on a real customer, then stop reading it and start playing it, meaning you know the shape of the conversation well enough to react to whatever the homeowner actually says. Treat every outbound call script template here as a starting point your CSR adapts, not a script they recite word for word. Want a quick outbound call script example before you customize your own? Start with #1 below.

THE FIRST 8 SECONDS

The opening spiel for outbound calls.

The first eight seconds of an outbound call decide whether the person on the other end keeps listening or hangs up. Nobody answers a call from a number they don't recognize expecting good news anymore. Your CSR has to prove, fast, that this isn't a robocall and isn't a waste of their time.

00 The universal opener

YOU"Hi [CUSTOMER NAME], this is [YOUR NAME] with [COMPANY NAME], the [HVAC/plumbing/roofing] company. [Specific reason for the call, tied to something they actually did]. Got 60 seconds?"

OBJECTION

"I'm kind of busy right now."

"Totally get it, I'll be quick. [15-second version of the ask]. Or if now's bad, what's a better time, later today or tomorrow morning?"

WHY THIS WORKS
  1. Leading with your name and company answers the "who is this" question before it becomes suspicion.
  2. Naming the specific reason ("you requested a quote," "your appointment's tomorrow") proves you're not a cold dial.
  3. Asking for 60 seconds respects their time and, oddly, makes people more likely to give you five minutes.
↑ Back to top
THE OUTBOUND SIX

Six outbound call scripts you can use today.

Here are six sample outbound call scripts pulled from real home services calls, each with the objections your CSR will actually hit and a line explaining why the move works.

01 Speed-to-lead callback

When to run it: A new web lead just came in. You’re calling within 5 minutes, while they’re still sitting at the same computer.

YOUHi, is this [CUSTOMER NAME]? Hey, this is [YOUR NAME] with [COMPANY], you just requested a quote for [SERVICE] on our site, is that right?

THEMOh wow, yeah, that was fast.

YOUThat’s the idea, we don’t want you sitting around waiting. Tell me what’s going on with [problem].

(Listen. Confirm scope and timeline.)

YOUI can get a tech out [tomorrow/this week] to look at it and give you a real number. Does [DAY/TIME] work?

OBJECTION

“I’m also getting a couple other quotes.”

“Smart, you should. What matters is getting an accurate number fast instead of waiting two weeks for someone to show up. Can I lock in [DAY/TIME] for you?”

WHY THIS WORKS
  1. Calling within minutes catches the lead while intent is highest. The classic lead-response research on this has held up for years: the longer you wait, the colder they get.
  2. Confirming the exact thing they requested makes it clear this isn’t a cold call.
  3. It doesn’t fight the “shopping other quotes” objection, it reframes speed as the reason to book now.

This is the play Speedy runs automatically, every time, in under a minute.

02 Unsold estimate follow-up (rehash)

When to run it: A tech gave a quote 1–3 weeks ago. No response since.

YOUHi [CUSTOMER NAME], it’s [YOUR NAME] with [COMPANY]. [TECH NAME] came out on [DATE] and left you a quote for [SCOPE]. Did you have any questions on it?

THEMOh yeah, I’ve just been busy.

YOUNo worries, that’s normal. Can I ask what’s holding you back, the price, the timing, or you’re still comparing?

OBJECTION

“Honestly the price felt high.”

“I hear that a lot. Two things worth knowing: financing can bring the monthly payment down to about [$X], and [material/warranty detail] is usually why we land a little higher than a quote scratched out on paper in your driveway. Want [TECH] to walk you through where the number comes from?”

OBJECTION

“We already went with someone else.”

“Appreciate you telling me straight. Out of curiosity, what made the difference for you?” (Listen, log it.) “Good to know. If anything changes, we’re here.”

OBJECTION

“I need to talk to my husband/wife.”

“Makes sense, it’s a real decision. Want me to text over a quick summary you can both look at, or is there a time this week you’re both around for a call?”

WHY THIS WORKS
  1. Opens with the exact quote detail instead of a vague “just checking in.”
  2. Asks for the real objection instead of accepting “still deciding” as an answer.
  3. Handles the spouse objection with a concrete next step, not a wait-and-see.

This is the play Phoenix runs automatically on every quote that goes quiet.

03 Aged lead reactivation (6+ months cold)

When to run it: A lead never converted, six months or more ago, and there’s a seasonal reason to call again.

YOUHi [CUSTOMER NAME], this is [YOUR NAME] with [COMPANY]. You reached out back in [MONTH] about [SERVICE], I know it’s been a while. With [season] coming, wanted to check if that’s still something you need handled.

THEMOh, I honestly forgot about that.

YOUNo problem, happens all the time. Is [ORIGINAL PROBLEM] still going on, or did you get it taken care of somewhere else?

OBJECTION

“We handled it already.”

“Glad it’s sorted. Out of curiosity, how’d that go?” (Listen, log for later.) “If anything else comes up, we’d love the shot.”

OBJECTION

“Not really a priority right now.”

“Fair enough. A lot of folks wait until [problem gets urgent, like the AC dying mid-July]. Mind if I check back with you in a few months instead of just dropping it?”

WHY THIS WORKS
  1. Naming the exact original ask keeps it from feeling like a cold list dial.
  2. The callback is tied to a real seasonal trigger, not “just following up.”
  3. A soft no becomes a scheduled next touch instead of a dead end.

Also Phoenix’s territory: same play, older list, on the customer reactivation agent.

04 Appointment confirmation

When to run it: The day before or morning of a scheduled job.

YOUHi [CUSTOMER NAME], this is [YOUR NAME] with [COMPANY], confirming your [SERVICE] appointment tomorrow between [TIME WINDOW]. Does that still work?

THEMYes, that works.

YOUGreat, [TECH NAME] will call you 20–30 minutes before they arrive. Quick check, is the [gate/dog/parking] situation the same as what you told us?

OBJECTION

“Actually I need to reschedule.”

“No problem, let’s find a better time.” (Offer two specific slots.)

OBJECTION

“I forgot, can we push to next week?”

“Sure thing, let’s grab a new slot right now so it doesn’t slip again. Does [DAY] work, morning or afternoon?”

WHY THIS WORKS
  1. It confirms rather than asks. Open-ended “are we still on for tomorrow?” invites a maybe. This doesn’t.
  2. Re-verifying access details catches the thing that actually delays trucks on-site.
  3. It reschedules on the spot instead of leaving it open, which is how confirmed jobs quietly become no-shows.

This is the play Clockwork runs automatically, every job, every day.

05 Review request after a completed job

When to run it: Within 24–48 hours of the job finishing, while it’s still fresh.

YOUHi [CUSTOMER NAME], this is [YOUR NAME] with [COMPANY]. [TECH NAME] finished your [SERVICE] on [DATE], how’d everything go?

THEMIt went great, really happy with it.

YOUThat’s awesome, I’ll pass that along to [TECH NAME]. Would you be willing to leave us a quick Google review? Takes about a minute, I can text you the link right now.

OBJECTION

“I don’t really do reviews.”

“Totally get it, no pressure. The link’s in your text if you change your mind. Either way, thanks for trusting us with the job.”

OBJECTION

A complaint surfaces instead (“it was fine but the tech showed up late”).

Don’t ask for the review. Say “I appreciate you telling me that, that’s on us, I’ll make sure it’s addressed,” and route it to a manager.

WHY THIS WORKS
  1. Asks while the job is still glowing. Satisfaction fades on roughly the same clock that lead intent does.
  2. Makes it frictionless: text the link live, on the call.
  3. The hard branch protects your rating: never ask for a review from someone who just complained.

This is the play 5-Star runs automatically, on every completed job.

06 Membership / service-agreement renewal

When to run it: 30–45 days before a maintenance plan or service agreement lapses.

YOUHi [CUSTOMER NAME], this is [YOUR NAME] with [COMPANY]. Your [membership/service agreement] comes up for renewal on [DATE], wanted to get you taken care of before it lapses.

THEMOh, I didn’t realize that.

YOUNo worries, that’s why I’m calling. Everything stays the same: [visits per year, priority scheduling, repair discount], renews at [$PRICE]. Want me to lock that in?

OBJECTION

“I don’t think we used it much this year.”

“Fair, let’s look at what you did use.” (Reference actual visits if you have them.) “Even one visit for [common repair] usually covers the cost. Want to keep it going, or would a smaller plan make more sense?”

OBJECTION

Price pushback.

“I hear you. What changed, budget this year, or you’re not sure it’s worth it?” (If budget: offer a smaller tier or monthly billing instead of a discount.)

WHY THIS WORKS
  1. Leads with the expiration date, not a pitch, so it reads as a heads-up, not a sales call.
  2. Quantifies the plan in real terms instead of “peace of mind.”
  3. Offers a smaller plan instead of a discount when price is the objection, protecting your margin.

Phoenix’s lane too: same reactivation muscle, aimed at a renewal date instead of a cold lead.

↑ Back to top
INBOUND

Phone answering script for your front desk.

Outbound isn't the only place scripts break down. Inbound calls fail for the opposite reason: "How can I help you today?" invites a five-minute story before you've captured a name or a callback number. A good phone answering script for a home services business gets to booking mode in one line.

07 Booking-first inbound answer flow

When to run it: Every service call your front desk picks up.

YOUThanks for calling [COMPANY], this is [YOUR NAME]. Are you calling about service at your home, or something else?

THEMYeah, my AC just stopped working.

YOUSorry to hear that, let’s get you taken care of. Can I grab your name and the address where the unit is?

(Continue straight into booking: urgency, availability, confirm the slot.)

WHY THIS WORKS
  1. It sorts the call into booking mode in one question, instead of “how can I help you today?” inviting a five-minute story before you’ve captured a name or a callback number.
  2. If the answer is “something else,” like billing or a vendor call, you route it without burning the booking flow on a call that was never going to become a job.

This is the exact flow Flo runs on every call that comes in when your lines are full.

08 After-hours emergency triage

When to run it: The 11 p.m. burst pipe, the 2 a.m. no-heat call.

YOUThanks for calling [COMPANY], this is [YOUR NAME], we’re here 24/7. What’s going on?

THEMMy basement’s flooding, the water heater burst.

YOUOkay. First, is anyone in danger, is water anywhere near an outlet or the breaker panel?

(If yes: walk them through shutting off the water main or breaker only if it’s safely reachable. Dispatch immediately either way.)

YOUI’m getting a tech out to you right now. Can I get your address and a callback number in case we get disconnected?

OBJECTION

“Is this going to cost extra since it’s after hours?”

“There’s a standard after-hours rate, I can tell you the number right now so there’s no surprise later. Want me to walk you through it, or have the tech confirm it when they call?”

WHY THIS WORKS
  1. Triages for safety before booking, which protects the caller and you.
  2. Gets contact info early in case an emergency call drops.
  3. Answers the money question directly instead of dodging it, which is usually the real anxiety underneath an emergency call.

This is the exact call Nighthawk answers at 2 a.m., every time.

↑ Back to top
THE RULES UNDERNEATH

What makes a script actually work.

A script is a talk track, not handcuffs. The moment your CSR sounds like they're reading, the homeowner checks out. Mirror the caller's own words back to them (if they say "the AC is dying," don't reply with "your HVAC system," reply with "the AC"). And every call, no matter how it goes, ends with a specific, time-bound next step: a booked slot, a scheduled callback, a date to check in again. "I'll follow up soon" isn't a next step. "I'll call you Thursday at 2" is.

COMMON QUESTIONS

Call scripts, answered.

A strong one includes a specific reason for the call (not a generic greeting), a short qualifying question, and pre-written answers to your three most common objections: price, timing, and "I need to check with my spouse." It should also end in a concrete next step, a booked time or a scheduled callback, not a vague "let me know."
Use an opening spiel for outbound calls that leads with your name and company, then states the specific reason you’re calling tied to something the person actually did, like requesting a quote or booking an appointment. Ask for a short amount of their time. That combination proves you’re not a robocall in the first sentence, which is what decides whether they keep listening.
The best ones skip "how can I help you today" and go straight to sorting the call: name, company, then a direct question like "are you calling about service at your home?" That gets you into booking mode in one line instead of a few minutes of preamble, and it routes non-service calls out of the flow immediately.
Short enough to say out loud in under a minute for the opener, and no more than a page for the full script including objection branches. If your CSR needs to flip pages mid-call, it’s too long. The goal is a shape they’ve internalized, not a document they read from.
The good ones don’t read a script out loud, they’re trained on a playbook like this one: the openers, the objection branches, the way a real conversation actually moves. That’s the difference between a robotic phone tree and an agent that can handle "I need to talk to my husband first" the way a good CSR would. That’s where Mecha’s agents live, trained on real call patterns like these.

Your CSRs get the scripts. Or Jill runs the whole playbook.

Mecha's agents are trained on call patterns like these, and they never skip the close, never forget the confirmation call, and never get tired. Live in about two weeks, and you'll love it or it's free.

Talk to our AI agent ↗