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. |
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
- HighLevel Support, A list of workflow actions, modified June 3, 2026. Supports action names and groupings. Checked 2026-10-13.
- HighLevel Support, A list of workflow triggers, modified June 19, 2026. Supports trigger names. Checked 2026-10-13.
- HighLevel Support, Workflow settings overview, modified October 12, 2026. Supports re-entry, Stop on Response, Time Window, timezone and Allow Multiple Opportunities. Checked 2026-10-13.
- HighLevel Support, Wait action, modified September 7, 2026. Supports the wait types and timeouts. Checked 2026-10-13.
- HighLevel Support, Appointment scenarios in workflow, modified April 21, 2025. Supports cancel and no-show removal behavior. Checked 2026-10-13.
- HighLevel Support, Appointment Status trigger, modified April 6, 2026. Checked 2026-10-13.
- HighLevel Support, Goal Event action, modified July 8, 2026. Checked 2026-10-13.
- HighLevel Support, Conversation AI workflow action, modified September 17, 2026. Checked 2026-10-13.
- HighLevel Support, Call Details trigger, modified July 24, 2026. Checked 2026-10-13.
- HighLevel Support, Form Submitted trigger, modified August 25, 2025. Checked 2026-10-13.
- HighLevel Support, Assign To User action, modified July 24, 2025. Checked 2026-10-13.
- HighLevel Support, Inbound Webhook trigger, via search summary; older article, verify plan requirements in your account. Checked 2026-10-13.