GoHighLevel Workflows: 12 Automations Every Service Business Should Set Up

Twelve GoHighLevel workflows, in the order they pay back, with the trigger, the actions and the exit condition for each. Copy the structure, adjust the wording, and the account starts working while you sleep.
GoHighLevel workflows: twelve automations every service business should set up

GoHighLevel workflows are the reason to use the platform at all. Everything else — the calendars, the inbox, the pipeline — exists in other tools. What sets the platform apart is that one builder can react to a form, a call, a booking, a tag or a stage change, and then send messages, create tasks, update the pipeline and wait for a reply, across every channel.

These are the twelve I build most often for service businesses, in roughly the order they pay back. For each one I give the trigger, the actions and — the part people skip — the exit condition. Assumes the account is set up as described in the CRM setup guide: a pipeline, source tags, calendars and A2P registration in progress.

Before you build: three rules that keep workflows from annoying people

  1. Every follow-up workflow needs an exit. A goal step (“stop when they reply”) or a condition that removes the contact once they book, buy or are tagged customer. Without it, someone who paid last week gets “just checking in” on Monday.
  2. Send during working hours. Use the workflow’s time window so a 2am form submission gets its instant reply, but the second-day nudge waits until 9am.
  3. One trigger per workflow. When a workflow has five triggers, nobody can tell why a message went out. Small, named workflows are easier to test and easier to hand over.

The twelve workflows

1. New lead — instant reply and pipeline entry

Trigger: form submitted or contact tagged source-*. Actions: create opportunity in “New lead”; wait 1 minute; SMS (“Thanks {first name} — got your enquiry about {service}. I’ll call within the hour. Reply here if it’s urgent.”); email with the same message and your calendar link; internal notification to the owner. Exit: none needed; it runs once.

This is the speed-to-lead workflow, and it is the one that moves conversion the most.

2. Missed call — text-back

Trigger: call status “missed” or “no answer” on the business number. Actions: SMS within seconds (“Sorry we missed your call — this is {business}. Reply here or book a time: {calendar link}”); create contact and opportunity if new; notify staff. Exit: stop if the call is returned within 5 minutes (use a wait and a condition on “last call outcome”).

3. Appointment booked — confirmation and reminders

Trigger: appointment status “confirmed”. Actions: move opportunity to “Call booked”; confirmation SMS and email; wait until 24 hours before → reminder; wait until 1 hour before → reminder with “reply R to reschedule”. Exit: appointment cancelled or rescheduled removes the contact; the new booking re-enters.

4. No-show — recovery

Trigger: appointment status “no-show”. Actions: wait 30 minutes; SMS (“Looks like we missed each other — want to pick another time? {calendar link}”); wait 1 day; email with the link; task for a human. Exit: new appointment booked.

5. No reply after 48 hours — nudge sequence

Trigger: opportunity in “Contacted” for 2 days (use the “stale opportunity” trigger or a wait step in workflow 1). Actions: SMS day 2; email day 3; SMS day 5 with a different angle (a useful tip, not “just checking in”); task for a human on day 7. Exit: any inbound reply, booking, or stage change.

6. Quote sent — follow-up

Trigger: opportunity moved to “Proposal sent”. Actions: wait 2 days; SMS offering to walk through it; wait 5 days; email with a relevant case study or FAQ; wait 7 days; task for a call. Exit: stage moves to Won or Lost. Quotes with two automated follow-ups close noticeably more often than quotes with none.

7. Won — onboarding and expectations

Trigger: stage “Won”. Actions: tag customer (which also removes the contact from every sales workflow); welcome email with what happens next; internal task to create the project or job; optional SMS with the point of contact. Exit: one-time.

8. Job complete — review request

Trigger: tag job-complete (applied by staff or by an invoice-paid event). Actions: wait 1 day; SMS with a direct Google review link; wait 4 days; if no review detected, one gentle email; then stop. Exit: review received (via the reputation module) or two attempts done.

9. Lost — reason and reactivation

Trigger: stage “Lost”. Actions: internal task to record the reason in a custom field; wait 60–90 days; one message with a relevant offer or a “still need help with this?”; tag reactivation-sent. Exit: reply or booking re-enters workflow 1.

10. Database reactivation — quarterly

Trigger: manual, run once a quarter on a filtered list (past customers, no activity in 6 months, opted in). Actions: one SMS and one email with a genuine reason to come back (seasonal service, new offer, a reminder they are due). Exit: reply. This is usually the cheapest revenue in the account, and it needs A2P approval and clean consent — see the A2P guide.

11. Lead-source reporting — tag hygiene

Trigger: contact created. Actions: if/else on the form name, UTM field or channel to apply exactly one source-* tag and set the “Lead source” custom field. No messages. This unglamorous workflow is what makes “which channel produced our customers” answerable later; it pairs with the conversion tracking setup.

12. Internal escalation — stale opportunities

Trigger: opportunity unchanged for 7 days in any active stage. Actions: task assigned to the owner of the opportunity; notification to the manager if still unchanged after 14 days. Exit: stage change. Automation should chase customers gently and staff firmly.

A worked example: the quote follow-up in detail

Because it is the workflow most people get wrong, here is number 6 step by step as I build it:

  1. Trigger: Opportunity status changed → pipeline “Sales”, stage “Proposal sent”.
  2. Goal (exit): “Stage changed to Won or Lost” — placed at the top so the whole workflow stops the moment the deal closes.
  3. Wait: 2 days, only during business hours.
  4. SMS: “Hi {first name}, Saleem here. Did the proposal make sense? Happy to jump on a 10-minute call and walk through it — {calendar link}.”
  5. Wait: 5 days.
  6. Email: a short note plus one relevant example of similar work. No pressure language.
  7. Wait: 7 days.
  8. Task: “Call {name} about the proposal” assigned to the salesperson, due today.
  9. End. Nothing further automated; a human decides.

Testing before you switch a workflow on

  • Use a test contact with your own phone and email.
  • Turn on the workflow’s testing mode or set waits to minutes temporarily; restore them before going live.
  • Trigger it three ways: the real trigger, a manual add, and the exit condition halfway through. Confirm the exit actually removes the contact.
  • Read every message on a phone. Merge fields that show as blank ({first name} with no value) are the most common embarrassment; use fallback values.

Do not build all twelve on day one. Build 1, 3 and 5. Run them for two weeks. Add 2 and 6. Then the rest, one at a time, checking the conversation view for anything that reads wrong. A slow, tested rollout is how the team ends up trusting the system instead of switching it off.

Further reading: GoHighLevel Help Center.

FAQ

How many workflows should a GoHighLevel account have?

Start with three — new-lead response, appointment reminders and no-reply follow-up — and add the rest one at a time once each runs cleanly for a couple of weeks. Accounts with fifty untested workflows are harder to fix than accounts with none.

What is the difference between a workflow and a campaign in GoHighLevel?

Campaigns were the older, linear sequence tool. Workflows are the current automation builder with branching, waits, conditions and actions across every module. Build everything new as a workflow.

Can workflows send WhatsApp messages?

Yes, when the WhatsApp integration is connected to the sub-account. Templates approved by Meta are required for business-initiated messages, so plan the wording before relying on it.

Why did my workflow message a customer who already booked?

The workflow had no exit condition. Every follow-up workflow needs a goal or a “remove from workflow” step that fires when the contact replies, books or is tagged as a customer.

Want these built, tested and documented in your account? That is the core of the GoHighLevel automation work I do — book a call and tell me which three you would switch on first.

Want this done for you?

Book a free 20-minute strategy call

Tell me about your business and I will map the exact system that will capture more leads and book more sales. No pitch, no pressure — a fixed quote follows in writing within 24 hours.

Keep reading

Related articles

Hello.

Ready to turn traffic into paying clients?

Book a free strategy call and we will map what your website and follow-up should actually do. No pressure, no jargon — just clear, honest advice you can act on.

What I build
  • Full-stack websitesWordPress, WooCommerce, Shopify & Webflow
  • AI automation & chatbotsGoHighLevel, n8n, Make & Zapier workflows
  • Sales funnels & CRMLanding pages, pipelines, A2P and voice agents
  • Technical SEO & speedCore Web Vitals, schema and on-page fixes
🤞 3 spots left this month
Saleem Akhter, full-stack web developer and AI automation engineer
Saleem Akhter
Online
I am available & open to work.