GoHighLevel missed-call text-back for contractors: the exact workflow
About 27% of calls to a contractor go unanswered and under 3% of those callers leave voicemail. A text inside 60 seconds saves most of them. This is the workflow, setting by setting, as we build it for trades accounts.

How do you set up missed-call text-back in GoHighLevel?
Create a workflow with the Call Status trigger filtered to “no answer”, “busy” and “voicemail”, add a filter so it only fires for inbound calls on your main number, add a 20-second wait, send one SMS from the owner’s name asking for the zip and the problem, and end the workflow when the contact replies or when a call connects. Add a Texas send window (9am–9pm) and a tag so the same caller is not texted twice in a day. Total build time: about 20 minutes.
What you need before you start
- A HighLevel sub-account with LC Phone enabled and a local number ported or forwarded (ports take 1–3 weeks; forwarding works the same day).
- A2P 10DLC registration approved, or the texts will not deliver to US carriers. Sole proprietors can register at $24.50 one-off plus $2 a month.
- Business hours set under Settings → Business Profile, so the workflow can use them.
- A short message agreed with the owner, written the way they talk, not the way software talks.
Step-by-step build
Create the workflow
Automation → Workflows → Create Workflow → Start from scratch. Name it “Missed call text-back – main line”.
Add the trigger
Add New Trigger → Call Status. Filters: Call status is any of “no answer”, “busy”, “voicemail”; Direction is “inbound”; Called number is your main line. Without the direction filter it fires on your own outbound calls too.
Guard against double texts
Add an If/Else: Contact tag “mctb-today” exists → end. Otherwise continue and Add Tag “mctb-today”. Add a Remove Tag step with a 20-hour wait at the end, or a daily workflow that strips the tag.
Wait 20 seconds
Add a Wait step of 20 seconds. This gives a tech who is calling back a chance to connect first, and it stops the text landing while the caller is still listening to your voicemail.
Send the SMS
Add Send SMS. From the owner’s name. Example for a plumbing account: “Hi, this is [Owner] at [Company]. Sorry we missed you, every truck is out. Reply with your zip and what’s going on and I’ll get you a time today. If water is actively leaking, reply URGENT and I’ll call right back.”
Set the window
Workflow Settings → Time Window: allow 9:00am–9:00pm Monday–Saturday and 12:00pm–9:00pm Sunday. Outside the window, hold the step until it opens; add a second SMS version for after-hours calls that says “we open at 7am and you are first in the queue”.
Stop on reply or connection
Workflow Settings → “Stop on response” on. Add a second trigger, Call Status “completed” inbound, that removes the contact from this workflow. Any reply lands in Conversations and notifies the owner.
Test with your own phone
Call the main line from a mobile, let it ring out, and time the text. Then call and hang up, call and reach voicemail, and call from the same number twice in an hour to check the guard tag.
The exact settings we use for home services
| Setting | What we set | Why |
|---|---|---|
| Trigger | Call Status: no answer, busy, voicemail; inbound; main number only | Catches every real miss and nothing else |
| Wait before text | 20 seconds | Lets a quick callback connect first |
| Sender name | Owner or dispatcher by name | Texts from a person get replies; texts from “Company” do not |
| Message length | Under 160 characters where possible | One segment, one cost, no splitting on older phones |
| Time window | 9am–9pm Mon–Sat, noon–9pm Sun (America/Chicago) | Texas SB 140 solicitation hours |
| Guard tag | mctb-today, removed after 20 hours | One text per caller per day |
| Stop conditions | Stop on response; remove on inbound call completed | Never text someone you just spoke to |
| Urgent keyword | URGENT → notify owner by call and SMS | Emergencies get a human in minutes |
Where this goes wrong
- Texting spam callers. Robocallers hit your line too. Add a filter that skips contacts tagged “spam” and consider the LC Phone spam-call block list.
- Texting while they are still on the voicemail. Without the 20-second wait the text arrives mid-greeting and feels robotic.
- No A2P registration. Carriers filter unregistered traffic; the workflow “works” in HighLevel and nothing arrives.
- Company-voice copy. “Thank you for contacting [Company]. A representative will…” gets ignored. “Hi, this is Mike, sorry we missed you” gets a reply.
- No stop condition. The caller rings back, you talk for ten minutes, and then they get a “sorry we missed you” text.
Texas notes
In practice the Texas window rarely matters for this workflow because the caller just phoned you, which makes the reply consent-based; we set the window anyway so an after-hours text never lands at 2am. Put the licence number (TACLA, RMP, TECL) in the message when it fits in one segment. Under Texas SB 140 (effective 1 September 2025) texts to prospects are telephone solicitation, so send windows stay 9am to 9pm Monday to Saturday and noon to 9pm Sunday; follow-up to people who contacted you first is exempt from registration under the November 2025 settlement, and Texas is one-party consent for recording.
What this costs in HighLevel
HighLevel plans are $97 (Starter) or $297 (Unlimited) a month per agency; most contractors pay an agency a flat fee that includes the sub-account. Usage below is at LC Phone rates with HighLevel’s 5% markup.
| Line item | Monthly |
|---|---|
| Workflow itself | $0 (included in the plan) |
| Texts: 150 missed calls × 1 segment at about 0.8¢ | About $1.20 |
| Replies from customers (inbound SMS) | About $1.20 |
| Local number | $1.15 |
| A2P campaign fee (sole proprietor) | $2 |
| Total | Under $6 a month |
Questions owners ask
What trigger does missed-call text-back use in GoHighLevel?
Call Status, filtered to no answer, busy and voicemail, inbound only, on your main number.
How fast does the text go out?
Within about 30 seconds including the 20-second wait we add. Without the wait it is near-instant, which feels robotic.
Will it text my own missed outbound calls?
Only if you forget the “inbound” filter. Add it.
Does it work with call forwarding instead of porting?
Yes. Forward your carrier number to the LC Phone number and the workflow sees the call. Porting is cleaner long term.
Can I send a different text after hours?
Yes. Use an If/Else on business hours and send an after-hours version that promises first slot in the morning.
Why are my texts not delivering?
Almost always A2P 10DLC. Register the brand and campaign; unregistered traffic is filtered by US carriers.
Should the text come from the company name or a person?
A person. Reply rates roughly double when the text is from a named owner or dispatcher.
How do I stop texting someone who called back?
Turn on Stop on response and add a Call Status “completed” trigger that removes the contact from the workflow.
Is this legal in Texas?
Yes. The caller contacted you first, so the reply is consent-based. We still keep the 9am–9pm window and include the business name.
What does it cost?
Under $6 a month in usage for a shop missing 150 calls, plus your HighLevel plan or agency fee.
Next pages
Sources
- Apexure, GoHighLevel Pricing (4 Sep 2026): Starter $97, Unlimited $297, AI Employee $50/$97, Voice AI $0.045/min engine plus voice, LC Phone $0.00747 per SMS segment, $0.01165 per inbound minute, $1.15 per local number, A2P $24.50.
- HighLevel Help Center, Workflows, Voice AI Agents and LC Phone documentation (accessed 20 Oct 2026).
- Hatch, Speed to Lead Statistics 2026: 27% of inbound calls unanswered, under 3% leave voicemail.
- Texas SB 140 (1 Sep 2025); Texas AG settlement Nov 2025.
Want this built and tested on your number this week?
We port or forward the line, register A2P, build the workflow in the owner’s voice and test it with you. Then we add the receptionist and follow-up.