May 10, 2026
4 Roofing Phone Scripts That Win Cold Bids
Texting works for confirmation and photos. But the moment a homeowner is wavering, the deal lives or dies on a phone call. And most roofers are bad at the phone, not because they cannot talk, but because they have not pre-loaded the words for the three or four moments that decide a $9,500 bid.
If you walk into a phone call without a script, you default to "hey, just checking in." That phrase has a near-zero close rate. It tells the homeowner you have nothing new to say and you are calling because your CRM told you to.
The four scripts below cover the highest-leverage phone moments in roofing follow-up: the voicemail you leave the day after the estimate, the day-7 callback when they ghost, the "I am still getting bids" objection, and the insurance "still waiting" check-in. These are word-for-word. Read them out loud once, tweak two phrases to sound like you, and use them on your next call.
We chase. You build.
Script 1: The day-after-estimate voicemail (the 80% scenario)
Eight out of ten times you call back the day after an estimate, you get voicemail. Most roofers leave a 45-second rambling message that gets deleted at the 4-second mark. The script below is 22 seconds, gives a reason to call back, and references something specific from the inspection so the homeowner knows it is you and not a robocall.
The structure is: name and company, specific detail from the roof, value to deliver, callback ask with a specific window. Keep it under 25 seconds. Anything longer gets cut off in the homeowner's preview screen.
Voicemail script:
"Hey [FIRST NAME], [YOUR NAME] with [COMPANY], we walked your roof yesterday on [STREET]. Quick reason for the call: I pulled up the [STORM DATE] hail map and your block is right in the impact zone, which matters for the insurance angle if you go that route. I have a quick question about that. Try me back at [CELL] today before 6, or I will swing by tomorrow at 5. Talk soon."
Notice what is missing. No "just checking in." No "following up on the estimate." No apology for calling. You gave them a reason rooted in their specific situation, and you named two callback windows so they do not have to think about scheduling.
- Keep it under 25 seconds (preview-screen friendly)
- Reference one specific detail from the roof or the storm
- Give a reason for the call, not just "checking in"
- Name two callback windows, not "call me back when you can"
Script 2: The day-7 callback when they have gone silent
By day 7, you have texted, emailed photos, and probably left one voicemail. They have not replied. Most roofers either give up here or call with frustration in their voice. Both lose. The right move is to call with a frame that lets the homeowner say no without embarrassment, which paradoxically gets a yes about 30 percent of the time.
Live call script when they pick up:
"Hey [FIRST NAME], it is [YOUR NAME] with [COMPANY]. Got a minute? Quick context, I am just calling to close the loop on your estimate. No pressure either way. Did you go a different direction, or is it still in the mix?"
The phrase "close the loop" is the magic. It signals you are not chasing a yes, you are organizing your pipeline. Homeowners feel guilty saying no to chasers and great about saying "actually, we are still deciding" to organizers.
If they say still deciding, your follow-up is: "Totally understand. What is the one thing that is keeping it open right now? I might be able to clear that up in 30 seconds, or if not I will just tell you straight."
That second question is where 30 percent of stuck deals close. The homeowner names a real objection (price, spouse, timing, warranty), and you address it on the spot or admit you cannot.
- Open with "close the loop" not "check in"
- Give them an explicit out ("did you go a different direction")
- Follow up with "what is the one thing keeping it open"
- Be willing to lose the deal cleanly, this raises close rate on the rest
Script 3: The "I am still getting bids" objection
Roughly 60 percent of homeowners will tell you they are still getting bids. Most roofers respond with "okay, well, our estimate is good for 30 days" and lose. The right response repositions the conversation from price to scope in under 90 seconds.
Objection-handling script:
"That is smart, you should always get a couple. Quick favor when you do compare them, can you check three things on the other estimates for me? One, what underlayment they are using, synthetic or felt. Two, whether ice-and-water shield is in the valleys only or also six feet up from the eaves. Three, whether new drip edge on rakes and eaves is included or excluded."
Pause. Let them grab a pen.
"The reason I ask is, if those three are not on the other bids in writing, the price is not actually comparable. I have seen lowball estimates that are 800 dollars cheaper but missing 1,500 dollars of materials. Once you have those answers, call me back and I will tell you straight up if my number still makes sense or if you should take the other guy."
This script does three things. It teaches the homeowner how to evaluate, which makes you the advisor not the salesman. It exposes lowballers without you bashing them. And it gives the homeowner a specific reason to call you back. That callback closes around 50 percent of the time, because the other bids are usually missing one of the three line items.
- Validate the behavior first ("that is smart")
- Give them three specific scope items to ask competitors about
- Use the phrase "the price is not actually comparable"
- End with a willingness to lose ("I will tell you straight up")
Script 4: The insurance "still waiting on adjuster" check-in
Insurance jobs run 30 to 60 days from estimate to deposit, and the bottleneck is almost always the adjuster. Most roofers either call too often (annoying) or not at all (forgotten). The right cadence is every 7 to 10 days with a script that positions you as the homeowner's translator, not another vendor waiting on a check.
Live call script:
"Hey [FIRST NAME], [YOUR NAME] with [COMPANY], real quick on the [CARRIER] claim. Has [ADJUSTER NAME] come out yet, or are we still waiting on the inspection date?"
If still waiting: "Got it. Two things. One, want me to call [ADJUSTER NAME] directly and push for a date? I do this every week, it is not weird. Two, when they do come out, I want to be there. The adjuster sees twice as much when a contractor is on the roof with them. Just text me whenever you have the date."
If they have come out: "Okay. Did the scope come back, and if so, can you forward me the Xactimate? I will read it tonight and tell you what is missing. About 70 percent of first-pass scopes come in 1,500 to 4,000 dollars short of what the roof actually needs, and we usually win that back on a supplement."
This script wins insurance bids because most roofers do not talk like this. They wait for the homeowner to drive the process. The homeowner picks the contractor who drives it for them.
- Cadence: every 7 to 10 days, paced to claim milestones
- Offer to call the adjuster directly
- Offer to be on the roof during the adjuster inspection
- Read the Xactimate scope and write supplements, do not wait
The bottom line
Phone is where the bid actually closes. Text and email keep you alive in the homeowner's mind, but the yes happens on a call, almost every time. The four scripts above cover the moments where most roofers either freeze or default to "just checking in," which is the lowest-converting phrase in the trade.
Learn one script per week. Read it out loud until it sounds like you. Track which one closes which kind of objection in your CRM, then refine.
QuoteFollow handles the texts, the emails, the photo drops, and the cadence between calls so that when you do dial, you are walking in warm. Flat $79 a month, SMS included, 14-day trial. Start at /auth/signup.
Frequently asked questions
What time of day should I call homeowners back?
5 to 7 PM on weekdays is the highest pickup window. Saturday 10 AM to noon is second. Avoid 8 to 9 AM (commute) and 12 to 1 PM (lunch), pickup rates drop by half in those windows.
How many voicemails should I leave before giving up?
Two voicemails on cash jobs, three on insurance jobs, spaced 5 to 7 days apart. After that, switch to text and email only. A fourth voicemail crosses into annoying territory and tanks your reply rate on the next touch.
Should I block my number when I call?
Never. Blocked numbers go to voicemail at 80 percent rates and get reported as spam at 30 percent. Call from your cell, save your number in their phone via text first, and your pickup rate roughly doubles.
What if I get the homeowner's spouse instead of the decision-maker?
Treat the spouse as the decision-maker. About 40 percent of roofing decisions are spouse-driven. Walk them through the same scope conversation, and offer to do a 10-minute joint call with both spouses on Saturday morning.
Stop chasing quotes. Start chasing jobs.
QuoteFollow chases every estimate and invoice automatically — flat $79/mo, SMS included, 14-day free trial.
Start free trial →Keep reading
Related guides
Roofing Quote Follow-Up: The Cadence That Wins Bids
Most roofers lose 35–50% of their bids to silence. Here's the exact day-by-day follow-up cadence, what to say, and how to handle 'I'm getting other bids.'
SMSText Beats Phone for Contractor Follow-Up (98% vs 30%)
Texts get 98% open rates. Calls get answered 30% of the time. Here's why texting beats the phone for follow-up, with 3 real example messages you can copy.
Stop losing quotes to silence.
QuoteFollow chases every quote and invoice automatically — flat $79/mo, SMS included.
Start free trial →