aibrevoBook a call

GoHighLevel Workflow Examples: 10 Builds, Step by Step

Ten GoHighLevel workflow examples you can copy: speed-to-lead, missed call text back, appointment reminders, no-show recovery, review requests, quote follow-up, webhook intake, invoice reminders, reactivation and an AI qualifier. Each lists the trigger, conditions, actions, waits and the one pitfall that breaks it.

Part of the guide: GoHighLevel automation

Key takeaways

  • Every workflow in this list is the same four decisions: what starts it (trigger), who it should skip (conditions), what it does (actions) and how long it pauses (waits). The examples differ only in those choices.
  • Appointment-status changes to Cancelled, Invalid or No Show remove the contact from the workflow that was running, per HighLevel's appointment scenarios article, so no-show recovery has to be its own workflow.
  • A Wait step set to 'the contact to reply' has an optional timeout; the other time-based wait types do not. That timeout is what turns a wait into a branch: replied versus silent.
  • Stop on Response, Allow Re-entry and Time Window are workflow-level settings, not steps. Most duplicate-message and silent-workflow problems trace to one of the three.
  • Where a step name or menu label could not be confirmed in HighLevel's help center on 2026-10-13, the page says what to look for instead of guessing.

A GoHighLevel workflow is a trigger plus a list of steps, and nearly every useful one fits the same four-part template. This page gives ten of them in that template, with the one pitfall that breaks each. They are the builds behind most of what people search as GoHighLevel automation: instant lead replies, missed call text back, reminders, follow-ups and AI qualification.

All step names below were checked against HighLevel’s help center on 2026-10-13. Where a label could not be confirmed, the text says what to look for in your own builder, because menus change.

What goes into every GoHighLevel workflow?

Every workflow answers four questions: what starts it, who it should skip, what it does and how long it waits. HighLevel’s workflow actions list groups the building blocks into Communication actions (Send SMS, Send Email, Send Internal Notification, Conversation AI), Contact actions (Assign to User, Add Task, Add Contact Tag, Update Contact Field) and Internal Tools (Wait Step, If Else, Goal Event, Go To, Split, Remove from Workflow).

Three settings sit outside the steps, on the workflow’s Settings tab, per HighLevel’s workflow settings overview:

Setting What it does Why it matters in the examples
Allow Re-entry Lets a contact enter the same workflow again after finishing or being removed. A contact still active inside it cannot re-enter. Appointment and invoice triggers always allow re-entry. Controls repeat texts to the same person.
Stop on Response Ends the workflow for a contact who replies to a message sent from that workflow. Stops a follow-up sequence from talking over a human conversation.
Time Window Pauses SMS, email and call actions outside the hours you set, and resumes at the next available slot. Does not affect internal actions. Keeps messages out of the night without delaying tags and tasks.

The Wait Step has eight options, from a fixed delay to waiting for an upcoming appointment, a contact reply or a condition. Only the waits for a reply, a link or email action, a condition or a user reply carry an optional timeout, per HighLevel’s Wait action article. That timeout is how you build the “replied, or did not” branch used in several examples.

Which GoHighLevel workflow examples should you build first?

Build the three that stop a lead or a booking leaking: the new-lead reply, the missed-call text and the appointment reminder. Then add the recovery and follow-up workflows. The table ranks all ten by what they protect.

# Workflow Protects Build order
1 Speed-to-lead reply New enquiries First
2 Missed call text back Inbound calls First
3 Appointment confirmation and reminders Booked time First
4 No-show recovery Wasted appointment slots Second
5 Review request Reputation Second
6 Quote or proposal follow-up Open deals Second
7 Webhook lead intake Leads from outside tools As needed
8 Invoice due reminder Cash flow As needed
9 Cold lead reactivation Dormant contacts Later
10 AI qualifier with Conversation AI Lead filtering Last

The first four have their own full guides: new lead follow-up, missed call text back setup and appointment reminders and no-show recovery. The summaries here show the shape; those pages carry the detail.

Example 1: How does a speed-to-lead workflow work?

It replies to a new enquiry within seconds, assigns an owner and creates a task so a human follows up. The full build is in the new lead follow-up workflow guide.

Part Setting
Trigger Form Submitted, filtered with Form Is to the right form. Add Facebook Lead Form Submitted as a second trigger if you run lead ads.
Conditions If Else on phone present and not Do Not Disturb, so a contact with no consent or number goes down an email-only branch.
Actions Send SMS, Send Email, Assign To User (split traffic equally), Send Internal Notification, Add Task.
Waits Wait for the contact to reply with a timeout, then a human task if they stay silent.
Pitfall A Time Window set to business hours pauses the SMS overnight, so the ‘instant’ reply arrives at opening time. Send the email immediately and let only the SMS wait.
Speed-to-lead workflow flow Form Submitted trigger leads to Send SMS and Send Email, then Assign To User, then Wait for reply with timeout. A reply ends the workflow through Stop on Response; silence leads to Add Task for a human. Form Submitted SMS + Email(immediately) Assign To User(equal split) Wait for reply(with timeout) Replied: ends viaStop on Response Silent: Add Taskfor a human
Speed-to-lead workflow. Step names follow HighLevel's workflow actions list, checked 2026-10-13.

Example 2: How does a missed call text back workflow work?

It texts a caller whose call went unanswered and routes the lead to a human. HighLevel also has a native toggle for this; the workflow version adds conditions and follow-up. Pick one per number. Setup steps are in GoHighLevel missed call text back setup, and the fix list when it stays silent is missed call text back not working.

Part Setting
Trigger Call Details, filtered to incoming calls and the not-answered outcomes you want to count. HighLevel lists busy, canceled, voicemail, completed and not answered.
Conditions Exclude contacts tagged Staff or Vendor. Skip if a text went out to this caller inside your chosen window.
Actions Send SMS acknowledging the call, Add Task, Send Internal Notification.
Waits Short wait, then check for a reply before any second message.
Pitfall The trigger fires on each status change of the same call, so without conditions one call can create two texts. Turning on the native toggle as well makes it worse.

Example 3: How do appointment reminders work as a workflow?

A confirmation goes out when the booking is made, and timed reminders go out relative to the appointment. The cadence, reply handling and calendar settings are in the appointment reminder and no-show workflow guide.

Part Setting
Trigger Customer Booked Appointment (self-booked only) or Appointment Status, filtered by calendar.
Conditions If Else on appointment status before each reminder, so cancelled bookings get nothing.
Actions Send SMS and Send Email confirmation, then reminders.
Waits Wait Step, option ‘an upcoming appointment or booking’, set to a duration before the scheduled time.
Pitfall A booking made inside the reminder window makes the wait time already past. Choose the ‘skip outbound communication’ option for that case rather than sending a stale reminder.

Example 4: How do you recover no-shows with a workflow?

Trigger a separate workflow when an appointment is marked No-show, apologize without blame and offer a new time. It must be separate: per HighLevel’s appointment scenarios, a status change from New, Confirmed or Showed to Cancelled, Invalid or No Show removes the contact from the workflow already running.

Part Setting
Trigger Appointment Status, with the status filter set to No-show.
Conditions If Else: contact already rebooked, or tagged Do Not Contact, exits.
Actions Send SMS with the booking link, Add Task for a call if they were a high-value booking.
Waits A same-day or next-morning delay; a Wait for reply with timeout before a second touch.
Pitfall HighLevel’s docs do not say how No-show gets set. Decide who marks it, staff or a workflow, or the trigger never fires.

Example 5: How do you automate review requests?

Ask for a review a short while after a completed appointment, once, and only for customers who attended.

Part Setting
Trigger Appointment Status, filter Showed.
Conditions Tag check so repeat customers who already reviewed are skipped.
Actions Send SMS with the review link stored as a custom value.
Waits Wait Step of a few hours to a day after the visit.
Pitfall Re-entry. Appointment triggers always allow re-entry per HighLevel, so a regular client gets a request after every visit unless you add a condition such as a Reviewed tag.

Keeping the link in a custom value means one edit updates every message when the link changes.

Example 6: How does quote follow-up work in GoHighLevel?

Move a deal to a stage such as Quote Sent and let the workflow chase it politely, then hand it to a person.

Part Setting
Trigger Pipeline Stage Changed to the quote stage.
Conditions Opportunity value above a threshold gets a task; smaller quotes get messages only.
Actions Send SMS or Send Email, Add Task, then move the opportunity or add a tag at the end.
Waits Wait for the contact to reply, with a timeout of two days; repeat once.
Pitfall Allow Multiple Opportunities. HighLevel says it is on by default for new workflows, so a contact with two deals enters twice. Turn it off if you want one run per contact.

Add a Goal Event for ‘Appointment Status’ or ‘Payment Received’ so a customer who books or pays mid-sequence skips the remaining chasers. HighLevel’s Goal Event article says a workflow can contain only one Goal Event action.

Example 7: How do you start a workflow from an outside tool?

Send a request to an Inbound Webhook trigger, find or create the contact, then run the normal sequence. This is how leads from a landing page tool, a quoting app or Zapier reach HighLevel. For the tradeoffs see Zapier versus native integrations and the API integration guide.

Part Setting
Trigger Inbound Webhook. HighLevel generates a unique URL per trigger and accepts POST, GET and PUT.
Conditions If Else on required fields present in the payload.
Actions Find Contact first, because every automation needs a contact; then tag, assign, message.
Waits None at intake; hand off to the speed-to-lead workflow with Go To or a tag.
Pitfall A payload with no contact attached cannot run the later steps. Map email or phone and confirm Find Contact succeeds on a test post.

Example 8: How do you send invoice due reminders?

Use the invoice trigger from the trigger list and a Wait Step set to ‘an upcoming appointment or booking’ with the type Invoice Due Date, which HighLevel documents alongside Appointment and Service Booking.

Part Setting
Trigger The invoice trigger you need (sent, due or overdue); pick it from HighLevel’s trigger list.
Conditions If Else on payment status before each reminder.
Actions Send Email, Send SMS, Add Task on overdue.
Waits Before and after the due date, using the Invoice Due Date wait type.
Pitfall A paid invoice must stop the sequence. Use a Goal Event for ‘Invoice Paid’ so nobody is reminded after paying.

Example 9: How do you reactivate cold leads?

Tag a segment, run a short sequence and stop when anyone replies. Keep it to contacts you have valid consent to message.

Part Setting
Trigger Contact Tag added, for example Reactivate.
Conditions Skip anyone with Do Not Disturb on, or tagged Customer.
Actions Send Email, then Send SMS, then Add Task for replies.
Waits Several days between touches; use a Time Window.
Pitfall Loops. If an action in this workflow removes and re-adds the same tag, the trigger fires again. Never re-add the trigger tag from inside the workflow.

Example 10: How does a Conversation AI qualifier fit in a workflow?

The Conversation AI action asks a question, waits for the reply and branches. HighLevel’s action article says supported channels are SMS, Facebook, Instagram, WhatsApp and Live Chat, and that Time Out and No Condition Met branches are built in and cannot be removed.

Part Setting
Trigger Form Submitted or Customer Replied.
Conditions Channel must be one the action supports.
Actions Conversation AI with a starting question, Timeout, Skip if answered and Bot responses limit; branches for qualified, not now and out of area.
Waits The action’s own Timeout.
Pitfall Planning only the happy branches. Build the Time Out and No Condition Met paths on purpose, usually a human task. See the Conversation AI guide.

How do you keep these workflows from misfiring?

Test each against the three failure families before launch: not firing, firing twice, and firing at the wrong time. Each has a dedicated guide.

Symptom Likely cause Where to look
Nobody enters the workflow Draft status, a trigger filter that excludes the contact, or re-entry off Workflow not triggering
Two identical messages Two workflows or a toggle plus workflow on the same event Duplicate messages
Messages at 3 a.m. No Time Window, or contact timezone fallback Workflow Settings tab
Text never arrives Opt-out, DND or registration Troubleshooting hub

Consent, quiet hours and opt-outs are rules, not preferences. Read the compliance guide before turning on any outbound sequence. If you would rather have the set built and tested for you, see GoHighLevel implementation services.

Sources

More guides

Related reading

FAQs

What are the most useful GoHighLevel workflows to build first?

Start with the ones that touch revenue within minutes: an instant reply to new leads, a missed call text back, and appointment reminders. Each one closes a gap where a lead or booking is lost without anyone noticing. Review requests and quote follow-up come second. Build AI qualifiers last, once the basics run cleanly.

How do I build a workflow in GoHighLevel?

In the sub-account, open Automation, then Workflows, and create a workflow from scratch or from a recipe. Add a trigger and its filters, add actions and waits below it, set Allow Re-entry, Stop on Response and the Time Window under the Settings tab, test with a real contact, then turn on the Publish toggle.

Can one GoHighLevel workflow have more than one trigger?

Yes. A workflow can have several triggers feeding the same sequence, which is useful when a lead can arrive by a website form and a Facebook lead form and you want one follow-up. Each trigger carries its own filters, so check them separately when you test.

What is the difference between a trigger and a workflow?

A trigger is the event that enrolls a contact, such as a form submission or a tag being added. The workflow is the sequence of actions that runs after that. One workflow can hold several triggers. The full breakdown, including re-entry mistakes, is in our triggers versus workflows guide.

How do I stop a workflow from sending after the customer replies?

Turn on Stop on Response in the workflow settings. HighLevel says the workflow ends for a contact if they respond to a message sent from that specific workflow, on any channel the workflow manages. It does not stop other workflows the contact is also inside, so check those separately.

Why does my workflow send messages in the middle of the night?

Because no Time Window is set. HighLevel's workflow settings let you limit when SMS, email and call actions run; actions outside the window pause and resume at the next available slot. The window does not affect internal actions such as tags or field updates.

Do GoHighLevel workflows cost extra to run?

The workflow builder is part of the platform, but actions that use paid services are billed by usage: SMS and email sending, calls, and AI features. Check HighLevel's current usage rates before sizing a high-volume workflow, and note that carrier fees on SMS are charged per segment.

Can I copy a workflow to another sub-account?

Workflows travel inside snapshots, which copy workflows, funnels, calendars and custom values to a new sub-account. Contacts and conversations stay behind. After deploying, replace the custom values and test every trigger filter, because calendar, form and user IDs differ per account.

How do I test a GoHighLevel workflow safely?

Use a test contact whose phone and email you control, remove any Do Not Disturb or opt-out on it, run the workflow, then read the Enrollment History and execution log. Reused test contacts keep earlier activity, which HighLevel warns can skew results, so create a fresh one when in doubt.

Stuck on this? Ask an engineer

Not ready for a call? Send one question about your setup. An engineer replies by email within one business day.

Want a second opinion on your setup?

A free 30-minute call with an engineer. A written read on your current setup, whether or not you hire us.