The 5-Step SMS Follow-Up Sequence That Books 40% of Leads Within 24 Hours
The exact SMS sequence I use to turn dead leads into booked appointments — timing, copy, and the GoHighLevel workflow behind it.
Haroon Mohamed
AI Automation & Lead Generation
Most leads don't book on first contact
Here's a number that should change how you think about follow-up: 80% of sales happen between the 5th and 12th contact. But the average salesperson gives up after 2.
For AI calling campaigns, the situation is even starker. A lead who doesn't pick up the phone isn't a dead lead. They're a warm lead in a different medium.
The SMS follow-up sequence I'm about to walk through reliably books 38–42% of leads that didn't convert on the initial call — within 24 hours of first contact.
Why SMS outperforms every other follow-up channel
Before the sequence: a quick argument for why SMS is the right medium for this.
- Open rate: SMS averages 98% open rate, email averages 20–30%
- Response time: The average SMS response time is 90 seconds. Email: 90 minutes
- Compliance surface: In the US, leads who fill in a form and provide a phone number have opted in to communication. SMS is permissible under TCPA when consent was obtained at lead capture
- Friction: A reply to an SMS takes 3 taps. Clicking a Calendly link in an email takes 8+ steps
The medium is inherently better for rapid re-engagement. The question is the sequence.
The 5-step sequence
All messages are sent through GoHighLevel automated workflows triggered by the lead status changing to "No Answer."
Message 1 — Sent immediately after the missed call
Hi [First Name], this is [Agent Name] from [Company]. I tried calling about [offer/topic] but couldn't reach you. Want me to send over the details? Reply YES and I'll share everything now.
Why this works: It's low commitment. You're not asking them to call back. You're asking for a one-word reply. The question is binary.
Average response rate: 22%
Message 2 — Sent 30 minutes later (if no reply)
Quick follow-up [First Name] — did you get my message? If now's not a good time, just let me know when works. I can also just send the info directly here.
Why this works: It acknowledges that timing matters. It removes the pressure of having to be available for a call. It gives them an out that still keeps the conversation open.
Average response rate: 11% additional
Message 3 — Sent 3 hours later (if no reply)
[First Name], I'm going to send you the overview now so you have it whenever you're ready:
✅ [Benefit 1 specific to your offer] ✅ [Benefit 2] ✅ [Benefit 3]
If this looks interesting, I can walk you through it on a quick 15-min call. Here's my calendar: [Calendly link]
Why this works: You're delivering value without asking for anything. The calendar link is there if they want it — but you're not demanding they use it. The bullet points make it scannable on mobile.
Average response rate: 8% additional
Message 4 — Sent next morning at 9am local time
Good morning [First Name]! Checking in — did you get a chance to look at what I sent? Happy to answer any questions or set something up for [this week/tomorrow]. Just reply here.
Why this works: Fresh day, fresh context. The local-time sending matters — triggering this at 9am in their timezone ensures it lands when they're starting their day, not when they're winding down.
Average response rate: 6% additional
Message 5 — Sent 48 hours after message 1
[First Name], last message from me — I don't want to keep interrupting your day. But if [specific pain point] is still something you're working through, I'd love to help. Even a 10-min call could give you a clear direction.
If not, no hard feelings. Just reply STOP and I'll remove you from our list.
Why this works: The finality creates urgency. The STOP option shows respect and reduces friction. The specific pain point reference (customised per campaign) reminds them why they enquired in the first place.
Average response rate: 4% additional
Total sequence performance
| Step | Timing | Additional bookings | |------|--------|-------------------| | Message 1 | Immediate | 22% | | Message 2 | +30 min | 11% | | Message 3 | +3 hrs | 8% | | Message 4 | Next morning 9am | 6% | | Message 5 | +48 hrs | 4% | | Total | | ~40-51% of no-answer leads |
Note: These numbers are from solar and real estate campaigns. B2B campaigns typically run 5–10 points lower. Consumer finance campaigns run similar or higher.
The GoHighLevel workflow setup
This entire sequence runs on zero human involvement. Here's the workflow architecture:
Trigger: Lead status changes to "No Answer" (set automatically when VAPI marks a call as unanswered)
Condition branches:
- If lead replies to any message with YES / "yes" / "interested" / "call me" → move to "Hot Lead" pipeline stage, notify human team
- If lead replies STOP → unsubscribe tag applied, sequence ends
- If no reply → proceed to next step at scheduled delay
Key GoHighLevel settings:
- Use the "Smart Send" feature for Message 4 to respect local time zones (pull timezone from lead's area code if not stored)
- Set a workflow goal on "Appointment Booked" — if they book through the Calendly link in Message 3, the sequence auto-stops
- Enable reply detection — any inbound message from the lead should pause the sequence and alert your team
What to customise per campaign
The timing and structure above are the baseline. The three things you must customise:
-
The offer specifics in Message 3. Generic bullets don't work. "✅ Save 40–60% on your electricity bill" beats "✅ Great savings" by 3x.
-
The pain point in Message 5. The specificity of "if high electricity bills are still a concern" versus "if this is something you're interested in" determines whether Message 5 converts or falls flat.
-
The call-to-action in Message 3. Test direct Calendly link vs. "reply YES to book" vs. "reply CALL to have us ring you." Direct Calendly link performs best for real estate. "Reply CALL" performs best for solar in my campaigns.
A note on compliance
Before deploying any SMS sequence:
- Your lead capture form must explicitly state that by submitting, they consent to receive texts from your company
- Include your company name in every message
- Honour STOP requests immediately (GoHighLevel handles this automatically if configured correctly)
- Don't send messages between 8pm and 8am in the recipient's local time
This isn't a legal opinion — it's operational practice. Consult a TCPA-specialised attorney before running this at scale.
Want to see the exact GoHighLevel workflow JSON for this sequence? Get in touch and I'll share the template.
Need This Built?
Ready to implement this for your business?
Everything in this article reflects real systems I've built and operated. Let's talk about yours.
Haroon Mohamed
Full-stack automation, AI, and lead generation specialist. 2+ years running 13+ concurrent client campaigns using GoHighLevel, multiple AI voice providers, Zapier, APIs, and custom data pipelines. Founder of HMX Zone.
Related articles
Team Capacity Automation: How to Auto-Assign Tasks Based on Workload
In small teams, task assignment is informal. The manager knows who's busy and who isn't. New tasks go to whoever has bandwidth. Things mostly balance. This stops working around 6-10 people. The manag…
Subscription Cancellation Automation: The Win-Back Sequences That Save Revenue
When a customer cancels, most operators treat it as a transactional event: process the cancellation, refund if needed, move on. The customer disappears from active rolls. Done. This is leaving substa…