Your Handy AI Guide
Free Guide · 13 min read

GHL Quick-Start: 5 Workflows Every Business Needs

The exact triggers, actions, wait steps, and message copy for the five automations that save a service business the most time and the most leads, built step by step in GoHighLevel.

Category: GoHighLevel13 min readPublished July 2026
yourhandyaiguide.com
Guides/GoHighLevel
Free Guide · From real client work

GHL Quick-Start: 5 Workflows Every Business Needs

The exact triggers, actions, wait steps, and message copy for the five automations that save a service business the most time and the most leads, built step by step in GoHighLevel.

13 min read Published July 2026 Category: GoHighLevel

GoHighLevel has a workflow builder with more trigger types than most people will ever use, and that's exactly why it's intimidating. You open it, see a blank canvas and a dropdown with 40 options, and you close the laptop and go answer the phone yourself again.

You don't need 40 workflows. You need 5. These are the ones I build first in every account, in this order, because they touch the two things that actually move revenue for a local business: how fast you respond to a new lead, and whether a past customer ever hears from you again.

Below is the exact build for each one. Trigger name, every action in order, every wait step, and the full message copy. Nothing to guess at. Copy the text, adjust the brackets for your business, and turn it on.

Why these 5, and in this order

Every workflow below solves one of two problems: a lead going cold before anyone talks to them, or a past customer quietly forgetting you exist. Both problems cost real money and neither shows up on a P&L line item, which is why they get ignored.

  • Speed-to-Lead Follow-Up: catches a new lead in the first 5 minutes, when they're 21 times more likely to become a customer than if you wait 30 minutes.
  • Missed Call Text Back: every missed call becomes a text conversation instead of a lost lead. This one alone pays for the software.
  • Review Request: turns finished jobs into public proof, automatically, without you remembering to ask.
  • Appointment Reminder: cuts no-shows, which is pure lost revenue on a calendar slot you already blocked off.
  • Database Reactivation: wakes up the contacts sitting in your system who haven't booked in months.

Build them in this order. The first two protect leads that are actively coming in right now. The middle one protects the leads you already converted. The last one goes back and finds revenue you already paid to acquire and let go cold.

Workflow 1: Speed-to-Lead Follow-Up

This workflow fires the second a new lead hits your system, whether they came from a form, a Facebook ad, or a phone call that went to a form fill. The goal is a human-sounding text in their inbox within 60 seconds, followed by a short nurture if they don't respond.

Build steps

  1. In the workflow builder, click Add New Workflow, then Start from Scratch. Name it Speed-to-Lead Follow-Up.
  2. Set the trigger to Contact Created. If you only want this to fire from a specific form or ad, add a filter under the trigger for Contact Source equals your form or campaign name.
  3. Add action: Send SMS. This is the first-touch text, it goes out immediately with no wait step before it. Use the copy below.
  4. Add action: Wait. Set it to 5 minutes.
  5. Add action: If/Else condition. Set the condition to Contact Replied (or check for a tag your team applies when they manually respond, like lead_contacted).
  6. On the Yes branch, add action End Workflow. If they already replied, the automation is done, a human takes it from here.
  7. On the No branch, add action Send Email using the follow-up email copy below.
  8. Add action: Wait, set to 1 day.
  9. Add action: Send SMS with the day-2 nudge text below, then add action Add Tag with tag lead_nurture_active so you can filter these contacts later.
  10. Publish the workflow, then set it live. Test by submitting your own form with a test phone number before turning it on for real traffic.
First-touch SMS, sends within 60 seconds
Hey [FIRST NAME], this is [YOUR NAME] with [BUSINESS NAME]. Got your request for [SERVICE]. What's the best time today or tomorrow for a quick call, or you can just reply here with what you need and I'll get you a straight answer.
5-minute-mark follow-up email (if no reply)
Subject: Following up on your [SERVICE] request

Hi [FIRST NAME],

Just following up on the request you sent over. I want to make sure you get a real answer, not a form-letter reply.

If you can, reply to this email or call/text me directly at [PHONE] and tell me a bit more about what you're dealing with. I'll get back to you personally, same day.

[YOUR NAME]
[BUSINESS NAME]
[PHONE]
Day-2 nudge SMS (if still no reply)
Hey [FIRST NAME], [YOUR NAME] again from [BUSINESS NAME]. No pressure, just want to make sure your request didn't get lost. Still need help with [SERVICE]? Reply YES and I'll call you today.

Workflow 2: Missed Call Text Back

Every business misses calls. The difference between a lost lead and a saved one is whether that missed call gets a text within seconds. This workflow watches for missed inbound calls and fires an instant text so the caller isn't left wondering if anyone's there.

Build steps

  1. Create a new workflow named Missed Call Text Back.
  2. Set the trigger to Call Status. Set the condition to Missed (some accounts show this as Customer Replied vs No Answer, choose the one matching a missed inbound call, not an outbound one).
  3. Add a filter so this only fires on inbound calls, not calls your team places, using the Call Direction field set to Inbound.
  4. Add action: Send SMS, immediately, no wait step. Use the copy below.
  5. Add action: Create Task, assigned to whoever answers your phones, due same day, with the note "Call back missed call from [CONTACT NAME]." This keeps a human in the loop instead of letting the text alone carry the whole job.
  6. Add action: Add Tag with tag missed_call_texted so you can pull a report later on how many of these turned into booked jobs.
  7. Publish and activate. Test by calling your own business line from a phone you can let ring out.
Missed call SMS, sends within seconds
Hey, sorry we missed your call! This is [BUSINESS NAME]. What can we help you with? Text back here and we'll get you taken care of, or call us back anytime at [PHONE].

Workflow 3: Review Request

This one fires after a job is marked complete and asks for a review at the moment satisfaction is highest, not three weeks later when nobody remembers the details.

Build steps

  1. Create a new workflow named Review Request.
  2. Set the trigger to Pipeline Stage Changed. Choose your pipeline and set the stage to whatever you use for "Job Complete" or "Won." If you don't have that stage yet, add it to your pipeline before building this workflow.
  3. Add action: Wait, set to 2 hours. Immediate requests feel transactional, waiting a day or more loses the moment. Two hours lets the dust settle without losing the memory.
  4. Add action: Send SMS using the copy below, with the review link merge field pointing to your Google Business Profile review link.
  5. Add action: Wait, set to 3 days.
  6. Add action: If/Else condition, checking whether the contact has tag left_review (you or a Zap/automation adds this tag when a new review comes in, or you tag manually if you check reviews weekly).
  7. On the No branch, add action Send Email with the reminder copy below, then End Workflow.
  8. On the Yes branch, add action Send SMS with a short thank-you, then End Workflow.
  9. Publish and activate.
Review request SMS, 2 hours after job marked complete
Hey [FIRST NAME], [YOUR NAME] here from [BUSINESS NAME]. Thanks for having us out today! If you've got 30 seconds, a review really helps a small business like ours. Here's the link: [REVIEW LINK]
3-day reminder email (if no review yet)
Subject: A quick favor?

Hi [FIRST NAME],

Hope everything's holding up well since we finished [SERVICE]. If you have a spare minute, a review would mean a lot, it's honestly the biggest way small businesses like ours get found.

[REVIEW LINK]

Thanks either way, and reach out any time if anything comes up.

[YOUR NAME]
[BUSINESS NAME]
Thank-you SMS (if they left a review)
[FIRST NAME], saw your review, thank you so much! Means a lot to us. If you ever need anything else, you know where to find us.

Workflow 4: Appointment Reminder

No-shows are lost revenue on a slot you already blocked off and probably turned other work away to protect. This workflow reminds the contact at two points before the appointment, each with a different job.

Build steps

  1. Create a new workflow named Appointment Reminder.
  2. Set the trigger to Appointment Status, condition Booked (some accounts label this trigger Calendar Appointment with an event type of Booked).
  3. Add action: Send SMS immediately, a confirmation text using the copy below.
  4. Add action: Wait, set to Specific event, timed to fire 1 day before the appointment start time. If your account doesn't support relative-to-event waits, use a Wait until date condition tied to the appointment date field minus one day.
  5. Add action: Send SMS with the day-before reminder copy below.
  6. Add action: Wait, timed to fire 2 hours before the appointment.
  7. Add action: Send SMS with the same-day reminder copy below.
  8. Add action: If/Else condition checking Appointment Status equals Cancelled. On Yes, add action End Workflow immediately so a cancelled appointment doesn't still get reminded.
  9. Publish and activate. Test by booking a dummy appointment a day or two out and watching the reminders land on schedule.
Instant confirmation SMS
You're booked, [FIRST NAME]! [SERVICE] on [DATE] at [TIME] with [BUSINESS NAME]. Need to reschedule? Just reply here.
Day-before reminder SMS
Reminder: you've got [SERVICE] scheduled tomorrow, [DATE] at [TIME]. See you then! Reply if anything changed.
Same-day (2 hours before) reminder SMS
Hey [FIRST NAME], quick reminder we'll see you at [TIME] today for [SERVICE]. On our way if it's a drive, or see you soon!

Workflow 5: Database Reactivation

This is the workflow most businesses skip, and it's usually the fastest revenue to unlock because it's aimed at people who already trust you. Anyone who booked with you before and hasn't been back in a while is sitting in your contact list right now, costing you nothing to reach.

Build steps

  1. Create a new workflow named Database Reactivation.
  2. This one isn't event-triggered, it's a recurring campaign. Set the trigger to Contact Tag, condition Tag Added, tag reactivation_target.
  3. Before running this, build a smart list or saved search filtering contacts by Last Appointment Date more than 90 days ago (or whatever gap fits your service cycle), then bulk-add the reactivation_target tag to that list. This is what feeds the workflow.
  4. Add action: Send SMS immediately with the reactivation copy below.
  5. Add action: Wait, set to 4 days.
  6. Add action: If/Else condition checking whether the contact booked a new appointment (tag rebooked or an appointment-created check). On Yes, add action End Workflow.
  7. On No, add action Send Email with the offer copy below.
  8. Add action: Wait, set to 5 days.
  9. Add action: Send SMS with the last-touch copy below, then add action Remove Tag reactivation_target and Add Tag reactivation_completed so this contact doesn't get re-run until you decide to.
  10. Publish and activate. Run the smart list and tag-add manually the first few times before you automate the list-building step, so you can see exactly who's entering the workflow.
Reactivation SMS, day 1
Hey [FIRST NAME], it's been a while! This is [YOUR NAME] with [BUSINESS NAME]. Just checking in, anything coming up we can help with? Reply here or call [PHONE] anytime.
Offer email, day 5 (if no response)
Subject: It's been a minute

Hi [FIRST NAME],

We noticed it's been a while since your last [SERVICE] with us. No pressure at all, just wanted to check in.

If it's helpful, here's [OFFER, e.g. "$25 off your next visit" or "a free quick inspection"] if you book before [DATE].

Reply to this email or call/text [PHONE] and we'll get you on the calendar.

[YOUR NAME]
[BUSINESS NAME]
Last-touch SMS, day 10
[FIRST NAME], last check-in from us for now, don't want to be a pest! If you ever need [SERVICE] again, we're one text away: [PHONE]. Hope you're doing well.

Rollout order, costs, and realistic timelines

None of these workflows requires a developer. Here's what to actually expect building them yourself inside a standard GoHighLevel account.

WorkflowBuild time (first time)Ongoing cost
Speed-to-Lead Follow-Up30-45 minSMS/email usage only, a few cents per contact
Missed Call Text Back15-20 minSMS usage only, typically the cheapest of the 5
Review Request20-30 minSMS/email usage only
Appointment Reminder30-40 minSMS usage, 3 texts per booked appointment
Database Reactivation45-60 min, plus list-buildingSMS/email usage, scales with list size

Total, expect a half-day to build and test all 5 carefully. SMS and email usage in GoHighLevel bills per message sent, typically fractions of a cent for email and low single-digit cents for SMS, so the ongoing cost for a small business rarely exceeds a few dollars a month unless your contact volume is large.

The 3 mistakes that break these workflows

Forgetting to test the trigger, not just the actions

People build the whole workflow, check every message reads correctly, then turn it live without ever actually firing the trigger. A missed call trigger set to the wrong call direction, or a pipeline stage trigger pointed at a stage nobody actually uses, means the workflow sits there doing nothing while you assume it's working.

Merge fields with no fallback

If a contact record is missing a first name or a service field, a message that says "Hey [FIRST NAME]" goes out reading "Hey ," with a blank. Check your form and intake sources are actually capturing every field your workflows reference before you rely on them.

No exit condition

Every workflow above has an If/Else check that ends the sequence once the goal is met, a reply, a booking, a review. Skip that step and a contact who already responded keeps getting nudged, which is the single fastest way to make an automation feel like spam instead of help.

Key takeaways

  • Build these 5 in order: Speed-to-Lead, Missed Call Text Back, Review Request, Appointment Reminder, Database Reactivation.
  • Every workflow needs an exit condition so it stops the moment its goal is met, a reply, a booking, a review left.
  • Test each workflow on a real number you control before it ever touches a real lead or customer.
  • The Missed Call Text Back workflow is usually the single highest-return automation in the whole set, build it if you only have time for one.
  • Database Reactivation finds revenue you already paid to acquire. Segment by how long it's been, don't send the same soft touch to everyone.

One more thing

Want guides like this in your inbox?

New guides drop every couple weeks. No spam, just practical AI from someone actually building it.

→ Keep going

What's next?

Three ways to go deeper. Scan the QR or hit the link. Both work.

Join the Community

Free community of small business owners and operators actually using AI.

Community QR
yourhandyaiguide.com/go/community

Work with Dylan

Custom AI builds and automations for your business. Direct line, no funnel.

Contact QR
yourhandyaiguide.com/contact

Get More Guides

The newsletter. Practical AI in your inbox every couple weeks. No spam.

Newsletter QR
yourhandyaiguide.substack.com
Your Handy AI Guide · A HandyCo brand · © 2026 yourhandyaiguide.com