← All posts

October 5, 2026 · 7 min read

GoHighLevel Workflow Not Working? 12 Common Problems and How to Fix Them

By Arslan Mumtaz, software engineer and GoHighLevel & AI automation specialist

A GoHighLevel workflow that silently stops working is one of the most expensive problems a business can have: leads stop getting texts, reminders stop going out, and nobody notices for weeks. These are the 12 causes I find most often when fixing client accounts, and how to check each one.

Start here: open the workflow's Execution Logs (or the contact's workflow history). They show whether the contact entered the workflow at all, and which step failed. Most problems become obvious there.

Problems where the workflow never starts

1. The workflow is still in Draft

Edits made to a workflow aren't live until it's published. It sounds obvious, but it's the most common cause, especially after copying or editing a workflow.

2. The trigger filters are too narrow

A trigger like "Form submitted" with a filter for the wrong form, a tag spelled slightly differently, or a pipeline stage that doesn't match will never fire. Check every filter on the trigger against real data.

3. Re-entry is turned off

If a contact has been through the workflow before and re-entry isn't allowed, they won't enter again. That's correct for one-time sequences, but wrong for things like reminders for every appointment.

4. Another workflow got there first

Overlapping workflows can remove a tag, move an opportunity or change a field before your workflow's trigger condition is met. Map which workflows touch the same tags and stages.

Problems where messages don't send

5. The contact is on Do Not Disturb

If a contact has DND turned on for SMS, email or all channels, messages on that channel are skipped. That's correct when they opted out. But check whether an import or another workflow set DND by mistake.

6. The contact has no phone number or email

A text step can't send to a contact without a valid mobile number, and incorrectly formatted numbers often fail. Store numbers in international format (e.g. +1, +44, +61).

7. A2P 10DLC isn't approved (US numbers)

Texts from US local numbers are filtered or blocked without A2P 10DLC registration. If US texts "send" but nobody receives them, check your registration status. See my A2P 10DLC guide.

8. Emails land in spam

If emails show as sent but people say they never got them, check that your sending domain is set up with proper authentication, and avoid sending large campaigns from a brand-new domain all at once.

Problems where timing is wrong

9. Time zone mismatches

Reminders that arrive an hour early or late, or in the middle of the night, usually come from a mismatch between the account's time zone, the calendar's, and the contact's. Check all three.

10. Wait steps and send windows

A wait step that counts from the wrong date, or a step restricted to certain hours and days, can hold messages much longer than expected. Check what each wait is actually waiting for.

Problems where the workflow stops early

11. Goals and "stop on response"

Goal events and settings that stop the workflow when a contact replies are useful, but they can end a sequence earlier than you meant to. A one-word "ok" reply might stop your whole follow-up.

12. Empty custom values and fields

Messages that read "Hi ," or links that go nowhere come from empty custom fields or custom values. Fill in every custom value in Settings, and add fallbacks for fields that might be blank.

How to stop it happening again

If you're setting up workflows from scratch, my list of 10 essential GoHighLevel automations is a good place to start.

Want someone to fix it for you?

Workflow fixes are a big part of my GoHighLevel VA plans (from $199/month), and I also fix one-off problems at $20/hr. If several things feel broken, a $97 audit reviews the whole account and tells you exactly what to fix. See pricing.

Work with me

Still losing leads to voicemail or slow follow-up?

I build speed-to-lead, retention and AI automation systems in GoHighLevel, with custom code where the platform falls short.

More articles