
GoHighLevel Missed-Call Text-Back: Recover Lost Leads Automatically (2026)
GoHighLevel Missed-Call Text-Back: Recover Lost Leads Automatically (2026)
Every missed call in your business is a lead deciding whether to ring the next name on their list. In my work setting up GoHighLevel for trades, clinics and salons across Australia, the missed-call text-back workflow is consistently the single highest-return automation I build. It costs almost nothing to run, takes about an hour to configure properly, and it routinely recovers bookings that would otherwise walk straight to a competitor. The premise is simple: when a customer calls and nobody picks up, GHL fires an SMS back within seconds so the conversation continues on a channel the customer can answer at their own pace.
The reason it works is human, not technical. People who phone a business are usually ready to buy now. When they hit voicemail, most of them do not leave a message and do not call back. They tap "back" and try the next result. A text that lands fifteen seconds later flips that behaviour entirely, because replying to a message takes no effort and carries no social friction. Below I will walk through exactly how I build this workflow in GoHighLevel, what the messaging should say during business hours versus after hours, how to keep it compliant with ACMA rules, and the mistakes I see most often when other admins set it up.
What a missed call actually costs you
Before touching the build, it helps to put a number on the problem, because that number is what justifies the hour of setup. The figures below are conservative averages I see across Australian service businesses, but plug in your own job value and the logic holds.
A plumber or electrician whose average job sits around 450 AUD and who misses six to eight calls a week is quietly leaking somewhere near 2,500 AUD a week in potential work, even if only half of those callers would have converted. A dental or allied-health clinic where a new patient is worth 800 to 1,500 AUD over their first year loses far more per missed call than the call felt like at the time. A hair or beauty salon running back-to-back appointments physically cannot answer the phone during a colour or a cut, so a busy Saturday can mean a dozen unanswered calls and a quiet Tuesday with empty chairs. In every one of these cases the missed-call text-back does not need to recover all the calls to pay for itself. Recovering one job a week typically covers the entire GHL subscription several times over.
The core workflow, step by step
The whole system lives in a single GHL Workflow. Here is how I assemble it.
1. The trigger: Call Status is Missed
Create a new Workflow and add a Call Status trigger. Set it to fire on Voicemail or Missed (some accounts label this "Call Status: missed" directly). This fires whenever an inbound call to your Twilio or LeadConnector number goes unanswered. Add a filter for Direction = Inbound so you never text someone back after one of your own staff makes an outbound call. If you are unsure which trigger maps to which event, my complete reference on GoHighLevel workflow triggers lists every option and what actually fires it.
2. Wait two minutes, then check whether they were already called back
I add a short Wait step of one to two minutes. This gives a staff member who is mid-job a moment to grab the phone, and it prevents the dreaded "we just spoke" text from landing while the customer is still on the line. After the wait, an If/Else condition checks whether an outbound call to that contact has already occurred. If a human handled it, the contact exits the workflow. If not, it proceeds to the SMS.
3. The instant SMS step
Add an SMS action. The message must come from a real human-sounding tone, identify the business, and ask a question that invites a reply. The whole point is to open a two-way conversation, so never send a no-reply blast. I cover the exact wording for business hours and after hours below.
4. Branch on the reply
Add a Wait step set to "wait for a reply" with a sensible timeout, then an If/Else branch. If the contact replies, route them to your booking flow. If they go silent past the timeout, send one polite follow-up the next morning and then stop. One nudge is plenty; a second one tips into pest territory and invites opt-outs.
5. Hand off to Conversation AI or a human
When the customer replies, you have two good options. You can route to Conversation AI to answer common questions and push toward a calendar booking, which is ideal after hours when no staff are available. Or you can fire a Manual Action or internal notification so a real team member takes over the conversation during business hours. For trades and clinics that prefer phone bookings, pairing this with a voice AI receptionist that handles bookings closes the loop on both channels at once.
6. Log the opportunity and tag the contact
Finally, create or update an Opportunity in your pipeline, set the stage to something like "Missed Call — Texted Back", and apply a tag such as missed-call-recovered. This is the step most people skip, and it is the one that lets you prove the workflow is making money. Without an opportunity logged, you have no way to show that this automation recovered a job worth 450 AUD instead of a call that vanished. Use custom fields to capture the enquiry type if Conversation AI collects it.
Business hours versus after hours
One message does not fit both contexts, so I always split the SMS step on time of day using GHL's business-hours condition or a date/time branch. During open hours the tone should promise a fast human response. After hours and on weekends it should set the expectation that someone will follow up, while still letting Conversation AI book the appointment if the customer is ready right now. The cadence table below shows how I structure the messages.
| Stage | Timing | Business hours message | After-hours message |
|---|---|---|---|
| Instant reply | ~15–90 seconds after missed call | "Hi, it's Sam at Westside Plumbing — sorry we missed your call. What can we help with? Reply here and we'll sort it straight away." | "Hi, it's Westside Plumbing — sorry we missed you. We're closed now but reply here and we'll call first thing. Need it urgently? Tell us what's happening." |
| No reply nudge | Next morning, ~9am | "Just checking you still need a hand — happy to lock in a time today. Reply STOP to opt out." | "Morning! Still keen to help with your enquiry — what time suits for a call? Reply STOP to opt out." |
| Booking handoff | On customer reply | Route to staff via Manual Action / internal notification | Route to Conversation AI to answer and book a calendar slot |
| Close-out | If still silent after nudge | Log opportunity as "No response", remove from sequence | Log opportunity as "No response", remove from sequence |
Staying compliant: ACMA, A2P and opt-out
This is non-negotiable in Australia. A missed-call text-back relies on an inferred-consent footing: the customer just called you, so replying to that enquiry is reasonable. That consent does not extend to marketing. Keep these messages strictly about the enquiry at hand, register your sending number through A2P, and make sure every contact who replies STOP is moved to DND so no further messages reach them. GHL handles the STOP keyword and DND flagging automatically, but you must confirm it is switched on for the SMS channel. For the full set of rules on consent, opt-out and identification under the Spam Act, see my guide to GHL SMS compliance for ACMA in Australia. Get this right once and it protects every workflow you build afterwards.
Common mistakes to avoid
- Firing the SMS with zero delay, so it lands while a staff member is still picking up the phone and the customer gets a confusing "sorry we missed you" mid-conversation.
- Forgetting the inbound-only filter, which results in texting customers after your own team rings them and creating awkward double-contact.
- Using a faceless, no-reply tone instead of a named human, which kills reply rates because the message reads like an automated blast.
- Skipping the opportunity and tag steps, leaving you with no way to prove in dollars that the workflow recovered real bookings.
- Sending the same message day and night, so after-hours callers expect an instant human and feel ignored when nobody answers.
- Neglecting DND and STOP handling, which risks ACMA breaches and erodes trust the moment a customer wants out.
If you want a missed-call text-back system that recovers the leads you're currently losing, book a strategy call with the HL Growth Partner team.
Frequently asked questions
How fast should the text-back actually send?
I aim for the SMS to land within 15 to 90 seconds of the missed call. I add a one to two minute wait only to let a staff member answer first; once that window passes, the message should go immediately. Speed is the whole advantage, because it reaches the customer while they are still deciding who to ring next.
Does this work with my existing phone number?
It works through a Twilio or LeadConnector number connected to GHL. Many businesses keep their existing landline and forward unanswered calls to the GHL number, or port the number across. The Call Status trigger fires on calls to that GHL-connected number, so the missed-call event needs to flow through it.
Is automated texting after a missed call legal in Australia?
Yes, when done correctly. Replying to a customer who just called you sits on inferred consent under the Spam Act, provided the message relates to their enquiry, identifies your business, and offers a clear opt-out. You must register the number for A2P and ensure STOP requests move the contact to DND. Keep the content service-related rather than promotional and you stay within ACMA rules.
Should I use Conversation AI or have staff reply?
I use both, split by time of day. During business hours a Manual Action notifies staff to reply personally, which converts best. After hours, Conversation AI answers questions and books a calendar slot so the lead is captured even at 9pm on a Sunday. The branch in the workflow decides which path runs based on the time the customer replies.
How do I know if it's actually recovering revenue?
Log an Opportunity in your pipeline at the moment the text-back fires and tag the contact. Every recovered booking then shows up as a stage progression in that pipeline, so you can see exactly how many jobs the workflow rescued and what they were worth in AUD. Without the opportunity step you are running the automation blind.
