GoHighLevel Automation Not Working: The Delivery-Layer Fix

“My GoHighLevel automation is not working” covers two very different emergencies, and telling them apart is the first diagnostic step. The first kind: the workflow never ran (a trigger or enrollment problem, with its own dedicated checklist). The second kind, this article’s territory, is sneakier and more common in mature accounts: the workflow ran perfectly and the automation still failed: the SMS never arrived, the email went to spam, the appointment reminder reached nobody. The logic executed; the delivery layer swallowed the result.

The delivery layer (phone registration, sending domains, contact permissions, channel configuration) is where automations die silently, because every dashboard shows green while customers receive nothing. This is the layer-by-layer diagnosis I run on production accounts, ordered by what actually turns out broken.

Try GoHighLevel free for 14 days

The full platform, no commitment: build your real workflow and decide with data.

Start my free trial

Quick answer

  • SMS silently filtered (US): the number lacks A2P 10DLC registration: messages show “sent” and never arrive. The top silent killer in US accounts.
  • Email in spam or bounced: the sending domain is missing SPF, DKIM and DMARC records, or was never configured: deliverability problems are DNS problems first.
  • The contact blocks the channel: DND flags (per channel or global), missing phone/email, or invalid data: the action fails per contact while the automation stays healthy.
  • The channel was never finished: no phone number purchased, WhatsApp add-on inactive, calendar not connected: workflows reference channels that do not exist yet.
  • Where to confirm all of it: the workflow execution log names failing steps; message history shows delivery status per contact. Diagnose from logs, not from the builder.
SymptomLayerFirst place to look
SMS “sent”, never received (US)Carrier complianceA2P 10DLC registration status
Emails landing in spamDomain authenticationSPF, DKIM, DMARC records
One contact never gets messagesContact permissionsDND flags and data validity
Channel step always failsChannel setupNumber, sender or integration status
Everything green, nothing happensYou are on the wrong screenExecution log + message delivery status

Five layers, one habit: verify delivery where delivery is recorded, not where logic is drawn.

Why is my GoHighLevel automation not working?

If the workflow executes but nothing reaches customers, the failure lives in the delivery layer: unregistered A2P 10DLC numbers silently filter US SMS, unauthenticated sending domains send email to spam, DND flags and missing contact data block individual sends, and unfinished channel setup fails every step. The execution log and message delivery status name the failing layer.

The layers, in diagnostic order

1. A2P 10DLC: the silent SMS killer

US carriers require business texting to run on registered numbers (brand and campaign registered under A2P 10DLC), and unregistered traffic is filtered without an error you would notice: the platform marks “sent”, carriers drop it, customers receive silence. If your US SMS automation “works for some people” or died gradually, check registration status before touching a single workflow: it is the cause in a remarkable share of cases, and no amount of workflow editing fixes a compliance problem. Non-US routes have their own sender rules per country: same principle, local paperwork.

2. Email authentication: DNS before templates

Deliverability collapses reduce to the same three records: SPF, DKIM and DMARC on a dedicated sending domain. Missing or misconfigured, your beautifully automated emails train inbox providers to distrust you, and the automation “not working” is actually the automation working straight into spam folders. Verify the records exist and validate, use a dedicated sending domain rather than your naked root, and remember that list quality (bounces, spam complaints from stale contacts) burns reputation no DNS record can rebuild. Symptoms in the campaign stats (opens near zero, bounces climbing) point here long before customers complain.

3. Contact-level blocks: DND and data quality

The per-contact failures: DND enabled (globally or per channel, sometimes set automatically by a STOP reply or an unsubscribe), phone numbers missing or invalid (imports without country codes are a classic), emails malformed or previously bounced. The workflow executes, the step fails for THAT contact, the rest of the world works fine, and the report is always the confusing “it works for everyone except María”. The contact record shows the flags and the data; the fix is data hygiene and respecting the opt-outs, not workflow surgery.

4. Unfinished channels: the reference to nothing

Workflows happily reference channels that were never completed: an SMS step in a sub-account that never purchased a number, an email step before any sender was configured, a WhatsApp step without the add-on active, an appointment reminder tied to a calendar no one connected. Fresh sub-accounts (especially those loaded from snapshots, where configuration arrives but credentials and numbers never travel) are the natural habitat: the automation imported perfectly and the channels behind it are hollow. The channel settings pages confirm in minutes what hours of workflow staring never will.

5. Reading the evidence properly

Two screens close almost every case. The workflow execution log: each contact’s path with each step’s outcome, including failures and reasons: this is where “the automation ran” gets confirmed or destroyed. And the message history / delivery status on the contact: sent, delivered, failed, bounced: the difference between sent and delivered is precisely the gap where layers 1-4 live. The habit that separates professionals: complaints are investigated from these two screens outward, never from the builder inward, because the builder shows intent and these screens show history.

The 10-minute launch audit that prevents all of this

Every layer in this article can be verified BEFORE the first campaign, and the audit takes ten minutes per sub-account: phone number purchased and A2P registration confirmed (not assumed), sending domain authenticated with all three records validating, one test contact receiving one test SMS and one test email on real devices, calendar connected and booking end to end, and any add-on channels (like the WhatsApp integration) active with a delivered test message. Agencies should staple this audit to every snapshot load and every new client onboarding: the delivery layer is configured once per account, and once it is verified green, every future “automation not working” ticket starts three layers further down the list. Ten minutes of checklist against weeks of silent failure is the best trade in platform operations.

When it is genuinely none of these

If delivery is confirmed (messages arriving, appointments booking) and the “automation not working” persists, the complaint is usually about EFFECT: messages arrive but nobody replies, reminders send but customers still no-show. That is not a technical failure: it is copy, timing and offer, a different (and more valuable) conversation than debugging, and the fair warning is that no delivery fix improves a message nobody wants to answer.

Common mistakes

  • Debugging workflows for delivery problems: hours in the builder for a failure that lives in DNS or carrier registration. Layer first, logic second.
  • Launching US SMS before A2P registration: the automation is built, campaigns start, silence follows. Registration is a launch prerequisite, not an optimization.
  • Sending from an unauthenticated domain “for now”: the reputation damage of the temporary setup outlives the setup.
  • Ignoring the sent/delivered distinction: “the platform says sent” ends no investigation: delivered is the word that matters, and it has its own column.
  • Overriding opt-outs to “fix” DND blocks: the block is the system working. The fix for unsubscribed contacts is a better reason to subscribe, not a toggle.

Frequently asked questions

How do I know if my number is A2P registered?

The phone settings in your sub-account show registration status for brand and campaign. If you inherited the account or the setup, verify rather than assume: unregistered numbers can appear functional in low volume before filtering hardens.

My emails show delivered but land in spam: which layer is that?

Authentication and reputation: delivered-to-spam means the receiving inbox accepted and distrusted the message. Verify SPF, DKIM and DMARC, check the sending domain’s reputation, and audit list quality: spam placement is earned over many sends and repaired the same slow way.

Why do my workflow SMS fail only for imported contacts?

Almost always number formatting: imports without country codes or with local formats the sender cannot route. Normalize phone data at import (or with a formatting step before send), and the “failed” column usually empties.

Does the platform retry failed messages automatically?

Do not design around the assumption: treat a failed step as final and build your own recovery (a condition checking delivery, an alternate channel, a human notification) for messages that matter. Automations that assume retries inherit silent gaps.

What should I check after loading a snapshot into a new sub-account?

Everything credentials and channels: phone number purchase and registration, sending domain and its DNS, calendar connections, integration credentials and WhatsApp add-on status. Snapshots move configuration, never channels: the post-load checklist IS the automation launch checklist.


Diagnostic order verified across production accounts, current as of July 2026. This site earns an affiliate commission if you subscribe through our links, at no extra cost to you; the delivery layers behave identically either way.

The mental model to keep

An automation is a promise chain: logic decides, channels carry, carriers and inboxes permit, and the contact receives. “Not working” almost always means one link made a decision the dashboard did not surface: a carrier filtered, an inbox distrusted, a flag blocked, a channel was never finished. Debug by walking the chain from the contact backwards (was it delivered? was it sent? did the step run?), and you will find the silent link in minutes. Build by finishing each link before trusting the chain (register, authenticate, configure, then automate), and the silent failures stop being part of your operating rhythm at all.

Still broken after all this?

If the fix does not hold, the problem is usually upstream of the setting you are changing. An account audit reads the whole thing before touching anything, from USD 490. Everything runs in writing, in English, and the first reply arrives within one business day.

See the three services
Picture of Alexander González

Alexander González

Es Arquitecto de Sistemas CRM y Especialista en GoHighLevel. Fundador de Alex González GO y creador de Marketing Nativo. Trabaja desde el diagnóstico B2B y la gobernanza de datos antes de automatizar, bajo la firme premisa de que la tecnología debe sostener y escalar las operaciones, no reemplazarlas.

Más información - Whatsapp

Últimos posts

Transparencia: algunos enlaces de este sitio son de afiliado. Si contratas a través de ellos, Marketing Nativo recibe una comisión sin costo adicional para ti; es parte de cómo se financia este contenido. Marketing Nativo es un sitio independiente y no está afiliado oficialmente a HighLevel Inc. GoHighLevel y HighLevel son marcas de sus respectivos propietarios.