← All articles

How to Automate Quote Follow-Up for Service Businesses (So Estimates Stop Going Cold)

Learn how to automate quote follow up for service businesses with a 5-touch text and email cadence, viewed/unviewed branching, and a clean human handoff.

A quote follow-up automation flow showing text and email touches branching by whether the estimate was viewed

You send a $6,800 estimate on Tuesday. You mean to call Thursday. Thursday becomes next week, a dozen other jobs crowd it out of your head, and by the time you remember, the customer already hired the guy who followed up twice. That silent gap between “quote sent” and “job booked” is where most service businesses quietly bleed revenue.

The pattern is always the same: owners send the estimate, follow up once (if at all), and stop. A large share of winnable jobs die there — not because the price was wrong, but because nobody nudged. The customer got busy. They didn’t say no. They just never said yes.

Here’s the fix: a follow-up sequence that fires the second a quote goes out, chases across text and email for two weeks, treats “opened it twice” differently from “never looked,” and yanks itself the moment the customer replies or pays. Build it once, and it runs on every quote from now on.

Why quotes go cold (and why “I’ll remember” always loses)

Following up is a low-urgency task competing against high-urgency ones. A leaking pipe beats a follow-up call every time. So the follow-up loses, every time.

Three things kill quotes:

  • No system. Follow-up lives in your head or on a sticky note. When you’re slammed, it evaporates.
  • One-and-done. Owners who do follow up usually stop after touch one. But most yeses come on touches two through five — after the customer has collected three other quotes and needs a reason to pick you.
  • Wrong channel, wrong time. A single 9pm email gets buried. Real cadence mixes text (opened in minutes) with email (holds detail and a link).

The customer who ghosts you is rarely offended. They’re comparing, waiting on a spouse, or just distracted. A polite nudge on day 3 is often the whole difference between the job and silence.

The 5-touch cadence that books jobs over 14 days

This is the sequence that works for home-service and contractor quotes. Aggressive enough to win the deal, gentle enough that nobody feels stalked. Times are in the customer’s local timezone.

Touch 1 — Immediate (email, within 60 seconds of “sent”): The quote itself, plus one line: “Sent your estimate for [job]. Any questions, reply here or text me at [number].” Fast delivery signals you’re organized and easy to work with.

Touch 2 — Day 1, 8:30am (text): “Morning [name] — did the estimate for [job] come through okay? Happy to walk you through any of it.” Morning texts get read over coffee. This one confirms delivery and opens a conversation.

Touch 3 — Day 3, 4:00pm (email): Value, not pressure. “A couple things people usually ask on this job: [warranty / timeline / what’s included]. Want to lock in a start date?” Late-afternoon email lands when the workday is winding down.

Touch 4 — Day 7, 11:00am (text): The soft scarcity touch. “Hi [name] — my [month] schedule is filling in. Still want me to hold a slot for [job]?” Only if your calendar actually moves. Don’t fake it.

Touch 5 — Day 14, 9:00am (email): The graceful close. “I’ll assume the timing isn’t right for now and stop following up — but the quote’s good through [date] if things change. Just reply and I’ll pick it back up.” This one converts more than you’d expect, because it removes pressure and hands over a clean exit.

Five touches, two channels, fourteen days. After touch five, the sequence stops on its own. No stalking, no awkward month-later texts.

Trigger design: fire on “sent,” kill on “reply or pay”

The whole thing hinges on two events being wired correctly.

The start trigger is the moment a quote’s status flips to sent in your quoting tool or CRM — Jobber, Housecall Pro, ServiceTitan, or a plain HubSpot deal stage. Most of these fire a webhook on status change. That webhook is your on-switch. The instant you hit send, the customer’s name, phone, email, job description, and quote link land in the workflow and the clock starts.

The kill switches separate a helpful system from an embarrassing one. The sequence must stop cold when any of these happen:

  • Customer replies to a text or email
  • Quote status changes to accepted or paid
  • Customer books a time on your calendar

Miss the kill switch and you text “still thinking it over?” to someone who paid you yesterday. That single mistake erases all the trust the automation built. Wire the kill switch first — before you wire a single follow-up message.

This is the same speed-and-shutoff discipline behind a good lead response automation: respond instantly, stop instantly when a human takes over.

Branching: treat “opened twice” and “never looked” differently

A quote link with open-tracking turns your follow-up from a blind broadcast into something that reads the room.

Most quoting tools — and any email with a tracked link — tell you whether the estimate was viewed and how often. Use it.

Branch A — Viewed once: They’re interested. Lean in. Touch 3 shifts to “Saw you had a look — anything I can clarify before you decide?” These prospects earn a faster human handoff.

Branch B — Opened twice or more within 48 hours: A hot signal. Two opens usually means they’re comparing quotes or showing a spouse. Skip the drip. Route this to you or your office as a call this person today task with a note: “Viewed quote 2x, no reply — call now.” A live call to a twice-viewer closes far higher than any text.

Branch C — Never opened by day 3: The email likely hit spam or the text delivered to a dead number. Don’t keep firing value emails into a void. Touch 3 becomes a delivery check: “Want me to resend the estimate — text or email?” Fixing a delivery problem beats politely following up on something they never received.

The point: automation should react to behavior, not just wait out a timer.

A simple n8n build outline

Here’s the skeleton of a quote follow-up workflow in n8n. The same shape adapts to Make or a native CRM sequencer.

  1. Webhook trigger — receives the “quote sent” event from your CRM/quoting tool. Payload: name, phone, email, job, quote link, quote ID.
  2. Set node — normalize fields and compute the customer’s timezone so sends land at the right local hour.
  3. Send Touch 1 — email node (SendGrid/SMTP) fires immediately with the quote.
  4. Wait node — until Day 1, 8:30am local.
  5. Kill-switch check — before every touch, an HTTP request or database lookup on the quote ID. If status is accepted/paid or a reply flag is set, route to End. Run this check before each send, not just once at the start.
  6. IF node (branch) — read the “viewed count” from the quote tool’s API. Route to Viewed / Twice-viewed / Unopened paths.
  7. Twice-viewed path — create a task in your CRM and ping yourself on Slack/text: “Hot lead, call today.” Then pause the drip so the automation doesn’t step on your call.
  8. Send Touches 2–5 — SMS via Twilio, email via SendGrid, each preceded by its own kill-switch check and its own Wait node.
  9. Reply listener — a second workflow: inbound Twilio SMS or an email-parse webhook sets the “replied” flag on the quote ID and notifies you. This is what makes the kill switch actually fire.
  10. End node — logs the outcome (booked / declined / no-response) to a sheet or CRM field for reporting.

Two notes that save you a headache. First, store state on the quote ID somewhere the whole workflow can read — a database row or CRM field — so the kill-switch check has something to check against. A workflow that “waits” for two weeks in memory will lose that state on any restart; persist it externally. Second, always send from a number the customer can actually reply to, and route those replies to a human within minutes. The handoff is the whole point.

What to watch for (the mistakes that make it backfire)

  • Texting a paid customer. The number-one failure. Check status before every touch. Payments and replies arrive between touches, not on your schedule.
  • Robotic copy. If it reads like a template, it converts like spam. Keep it in your voice — short, first-person, one small ask per message. “Hey, quick check-in” beats “We are following up regarding your recent estimate.”
  • Ignoring quiet hours. No texts before 8am or after 8pm local. Twilio will happily fire at 6am if you let it, and one 6am text undoes a lot of goodwill.
  • No reply path. If “reply here” leads to an inbox nobody watches, you just trained a hot lead to talk to a wall. The reply listener and human handoff aren’t optional.
  • Faking scarcity. “My schedule’s filling up” only works when it’s true. Customers call the bluff, and small markets talk.
  • Never reading the numbers. If you don’t measure it, you can’t tune the cadence or justify keeping it on.

The metrics that prove it’s working

Track four things, ideally in the same sheet your End node writes to:

  • Quote-to-close rate — booked jobs ÷ quotes sent. The headline number. Moving from ~25% to ~35% on the same quote volume is a realistic target and often shows inside 60 days.
  • Average touches to yes — tells you where deals actually close. If most yeses land on touches 3–4, the full cadence is earning its keep; if they all land on touch 2, shorten it.
  • Reply rate by touch — shows which message earns conversations. Rewrite the weakest one.
  • Time-to-first-reply after a “hot” signal — how fast you actually call twice-viewers. If it’s hours instead of minutes, fix the handoff first; it’s the highest-leverage number here.

Quick math: send 40 quotes a month at an average $4,000 job, lift the close rate from 25% to 33%, and that’s roughly three extra jobs — about $12,000 a month — from a workflow that costs a weekend to build and pennies per message to run. Even a two-point lift pays for the effort many times over.

When this applies — and when it doesn’t

This pays off when you send at least a dozen quotes a month and jobs are worth enough that one recovered deal covers the build many times over. HVAC, plumbing, remodeling, roofing, agencies, clinics selling treatment plans — all fit. Send two quotes a month? Set a calendar reminder instead; you don’t need automation yet.

It also assumes your quoting tool can fire an event on “sent” and expose whether the quote was viewed. If it can’t, that’s your first fix — sometimes a tracked link is all it takes.

First concrete step, today: pull your last 30 sent quotes and mark which ones you chased more than once. The gap between “sent” and “chased” is your leak, in dollars. Then wire the kill switch, then wire touch one. Build the shutoff before the outreach — every time.

If loan officers or mortgage teams are reading this, the same pattern drives borrower follow-up automation — different vocabulary, identical mechanics.