โ† All Articles
automation

GoHighLevel SMS Not Sending? How to Diagnose and Fix Text Message Delivery Problems

A Complete Guide to Troubleshooting HighLevel SMS Delivery, Workflow Messaging, Phone Numbers, DND Settings, Carrier Filtering, Compliance, and Automation Failures

GoHighLevel SMS Not Sending? How to Diagnose and Fix Text Message Delivery Problems

01The Email Sends, but the Text Never Arrives

GoHighLevel SMS not sending while the email sends successfully: a lead submits a form, the workflow triggers correctly, an opportunity gets created, the confirmation email delivers without error, a task gets assigned โ€” but the SMS never arrives and the lead never hears anything by text, a symptom that could mean the workflow stopped before the SMS step, the phone number is invalid, DND is blocking the send, A2P registration is incomplete, or the carrier network silently filtered the message after it left the platform

A lead submits a form. The workflow starts. An opportunity gets created. The confirmation email sends correctly. A task gets assigned to the right person. But the SMS never arrives, and the lead never hears anything by text.

The natural first instinct is to assume the workflow is broken. That assumption is usually wrong. The workflow may have executed exactly as designed, right up until the SMS action itself, and the actual failure may have happened somewhere much further down the delivery chain, well outside the workflow builder entirely.

The full path an SMS travels runs from the lead's action, through a workflow trigger, workflow enrollment, the SMS action itself, phone number validation, the messaging provider, the carrier network, the recipient's device, and finally a delivery confirmation. This guide walks through GoHighLevel SMS not sending issues by tracing that entire chain and identifying exactly where a specific message stopped moving forward, rather than assuming the workflow builder is automatically at fault.

02Section 1: How SMS Delivery Actually Works in GoHighLevel

How SMS delivery actually works in GoHighLevel: a message travels through a layered chain โ€” a customer action triggers the workflow, the workflow enrolls the contact, the SMS action executes, the phone number gets validated, the message is handed to a messaging provider such as LC Phone or Twilio, that provider routes it to a carrier network like AT&T, Verizon, or T-Mobile, the carrier attempts delivery to the recipient's device, and a delivery confirmation or failure reason flows back through the same chain in reverse โ€” a failure at any single layer produces the same visible symptom of the text never arriving

A text message travels through several genuinely distinct layers before it ever reaches a recipient's phone. A customer action occurs. A workflow trigger evaluates that action. The workflow enrolls the contact. An SMS action inside the workflow executes. The phone number attached to the contact gets validated. The message gets handed to a messaging provider, either GoHighLevel's own LC Phone system or a connected Twilio account. That provider hands the message to a carrier network, such as AT&T, Verizon, or T-Mobile. The carrier attempts delivery to the recipient's actual device. Finally, a delivery confirmation, or a failure reason, flows back through the same chain in reverse.

A genuine failure can occur at any one of these layers, and the visible symptom, "the SMS didn't send," looks identical from the outside no matter which layer actually broke. Treating "the workflow" as the only possible cause skips over most of this chain entirely.

It helps to think of these layers as belonging to two broad zones: everything happening inside GoHighLevel itself, which includes the trigger, enrollment, the SMS action, and phone number validation, and everything happening outside GoHighLevel, which includes the messaging provider, the carrier network, and the recipient's own device. Problems inside the first zone are almost always fixable directly by the account administrator. Problems inside the second zone often require working with the messaging provider, adjusting compliance registration, or simply waiting out a temporary carrier-side restriction. Knowing which zone a given failure belongs to early in the process saves considerable time, since it immediately narrows down whether the fix lives inside the workflow builder or somewhere entirely outside it.

03Section 2: First Question, Did the Workflow Actually Run?

Before diagnosing anything about SMS delivery specifically, confirm the basics. Did the workflow trigger fire at all? Did the contact actually enter the workflow? Did the SMS action itself execute? Do the execution logs show it running successfully? Or did the workflow stop earlier, before ever reaching the SMS step?

This distinction matters enormously. An enrollment problem, where the contact never entered the workflow in the first place, is a completely different issue from a messaging problem, where the contact entered correctly and the SMS action ran but the message still failed to reach the recipient. Confusing these two leads directly to fixing the wrong thing.

04Section 3: Verify the SMS Action Itself

Inspect the SMS action directly inside the workflow: its exact placement, any timing or wait steps ahead of it, branch conditions, If/Else logic, contact eligibility rules, user-assignment logic, and the overall order of actions in the workflow.

Common mistakes at this layer include the contact taking the wrong branch and never reaching the SMS action at all, the message sitting after a wait step that has not actually completed yet, conditional logic skipping the SMS step entirely based on a field value, the contact being removed from the workflow before reaching the SMS action, or the workflow simply ending earlier than expected due to a goal condition or an exit trigger. None of these are SMS delivery problems in the traditional sense; they are workflow logic problems that happen to result in a missing text message.

05Section 4: Phone Number Validation

A phone number needs to be genuinely valid and SMS-capable before an automated message can ever reach it. Common issues include incorrect formatting, a missing or wrong country code, missing digits, a landline number that cannot receive text messages at all, VoIP number limitations, international numbers the current messaging setup does not support, generally unsupported destination countries, duplicate contact records splitting the same phone number across two records, an incorrect country selected on the contact record, and inconsistent number formatting that prevents the system from recognizing a number as valid.

Validating phone numbers before they ever enter automation, rather than discovering a formatting problem only after a send fails, saves a considerable amount of troubleshooting time later. HighLevel's own documentation on invalid sending numbers points to several concrete causes worth checking directly: a number that is voice-only or does not support SMS in certain countries, a From number tied to US 10DLC that is not attached to an approved A2P campaign, a Short Code being used where the To and From numbers are not in the same country, and an Alphanumeric Sender ID being used in a destination country that does not actually support that sender type.

06Section 5: Do Not Disturb, or DND

DND is a per-contact, per-channel setting that blocks outbound communication to a contact who has opted out or been manually marked as not wanting to be contacted through that channel. DND can be applied globally across every channel or tailored to a specific one, including Email, SMS, Calls, Facebook Messenger, Google My Business, and WhatsApp, giving businesses granular control over exactly which channels a contact is excluded from.

On the SMS channel specifically, DND activates automatically when a contact replies with a recognized opt-out keyword such as STOP or UNSUBSCRIBE, or when specific error codes, including 30003, 30004, 30005, and 30006, come back from the service provider. HighLevel's messaging policy distinguishes between a temporary DND, which the agency or location can revoke directly, and a permanent DND, which cannot be revoked by the agency or location because the contact is either incapable of receiving messages or has explicitly opted out, and which specifically requires the individual to send a new opt-in keyword like START before communication can legally resume. Removing a permanent SMS DND generally requires either the contact sending a genuine opt-in message such as START, or the agency providing documented proof of consent to support for a manual removal.

Never attempt to bypass DND protections. They exist specifically to keep the business compliant with messaging regulations and to protect the sending numbers and overall account from carrier-level penalties that come from contacting people who have withdrawn consent.

DND can end up active on a contact for several distinct reasons worth checking individually: the contact directly opted out by replying STOP, END, or CANCEL to a previous message; DND was manually enabled on the contact record inside the CRM by a staff member; an imported contact list already had certain phone numbers flagged as DND before they ever entered the account; a previous campaign sent from a different number or business entity triggered an opt-out that is now linked to the same underlying contact; or a specific carrier error code came back that automatically triggered DND as a protective measure. Confirming which of these applies to a specific contact determines whether the fix is a quick toggle inside the contact record or a genuine requirement to obtain fresh, documented consent before messaging can legally resume.

07Section 6: SMS Compliance

Compliance is not optional infrastructure sitting on top of SMS messaging; it is a core part of whether messages get delivered at all. In the United States, businesses sending application-to-person, or A2P, messages from a standard 10-digit local number are required to register their brand and campaign with carriers through the A2P 10DLC process. This applies broadly, covering marketing SMS, reactivation campaigns, appointment reminders, prospecting messages, billing alerts, and two-factor authentication codes alike, not just promotional content.

Registration ties a business's messaging activity to a verified Brand representing its business identity, and one or more Campaigns describing how it plans to message, which helps carriers evaluate trust and reduce spam across their networks. Businesses without an EIN and with only one person can register as a Sole Proprietor instead of a Standard Brand, though Sole Proprietor registration comes with lower message throughput and is not well suited to high-volume marketing use. Toll-free numbers do not require A2P 10DLC registration at all, and toll-free verification, while still required, is a simpler and free alternative for businesses that want to avoid the 10DLC process entirely.

Businesses must also maintain an opt-out rate below 3 percent; exceeding that threshold triggers a temporary 24-hour suspension of messaging. This guide is not legal advice, and compliance requirements change over time and vary by country and messaging provider, so verify current regulatory requirements directly with legal counsel and with the messaging provider actually being used.

Certain message categories also face outright restrictions during the A2P review process regardless of how carefully everything else is configured. Debt relief, consolidation, and forgiveness offers, for example, are prohibited message categories that will cause a campaign application to be rejected even when the sender is a legitimate, first-party business with proper opt-in. Reviewing the specific use case a campaign is being registered under, and making sure the actual message content sent genuinely matches that registered use case, prevents a mismatch that carriers are specifically trained to look for during ongoing review, not just at initial approval.

08Section 7: Carrier Filtering

Even a message that leaves GoHighLevel successfully and reaches the messaging provider without error can still be filtered or blocked by the carrier network itself before it ever reaches the recipient. Carriers filter messages based on spam-detection algorithms, the reputation of any links included in the message, how frequently messages are being sent, repeated or templated content sent at scale, blocked keywords, high complaint rates from recipients, unregistered traffic in jurisdictions where registration is required, general carrier policy, and observed recipient behavior over time.

Successful workflow execution never guarantees carrier acceptance. A message can leave the platform cleanly, get accepted by the messaging provider, and still be silently filtered by the destination carrier, which is exactly why the messaging layer and the carrier layer need to be treated as two genuinely separate troubleshooting steps.

09Section 8: Messaging Provider Issues

The messaging provider, whether that is HighLevel's own LC Phone system or a connected Twilio account, sits between the workflow and the carrier network, and it has its own points of failure worth checking directly. These include authentication problems, configuration errors, account status, which specific number a message is being sent from, provider-side outages, rate limiting, requests the provider outright rejects, delivery receipts that never come back, and retry behavior when an initial send attempt fails.

As soon as a message is accepted for delivery by the messaging provider, it typically incurs a charge, even if it later fails at the carrier or handset layer, which is standard behavior across most SMS providers including Twilio, and worth knowing before assuming a charge automatically means successful delivery. Twilio also queues messages based on the sending rate configured for the account, and a queued message can only wait up to four hours before it automatically fails outright, a queue window that can be shortened by adjusting the Validity Period in Messaging Service settings. Provider-specific limitations and behavior can change, so verify current details against the provider's own documentation rather than assuming last year's limits still apply.

10Section 9: A Diagnostic Workflow for SMS Troubleshooting

Work through the chain in order rather than jumping around: confirm the workflow trigger fired, confirm enrollment actually happened, confirm the SMS action itself executed, review the execution logs directly, check the phone number's validity, check the contact's compliance and DND status, check the messaging provider's own status for that message, check for carrier-level filtering, and finally check the recipient's actual device and network status where that information is available. Isolating one failure point at a time, rather than trying to diagnose every layer simultaneously, is what actually makes this process manageable.

11Section 10: Appointment Reminder SMS

Appointment reminders fail for a specific set of reasons worth checking directly. Confirm the appointment was genuinely booked, the reminder workflow is attached to the correct calendar, the appointment's status matches what the reminder trigger expects, the correct user is assigned, the timing configuration is actually correct, the time zone used matches the appointment's actual time zone rather than a default account time zone, and whether the appointment was rescheduled or canceled in a way that changed its status after the reminder was originally scheduled.

A rescheduled appointment is a particularly common source of missed reminders, since the original reminder may have been scheduled against the old appointment time and never got recalculated against the new one, depending on how the workflow itself is built. Canceled appointments should stop their reminder sequence entirely, and it is worth confirming directly that a cancellation actually does this rather than assuming it does.

A worked example makes this concrete. A client books an appointment for Thursday at 2 p.m., and a reminder workflow schedules a text for Wednesday at 2 p.m., 24 hours ahead of the original time. On Tuesday, the client calls and reschedules to Friday at 10 a.m. If the reminder workflow calculated its wait step from the original booking event rather than from the current, live appointment time, the reminder may still fire Wednesday at 2 p.m., a full day before the actual new appointment, or worse, may not fire at all if the underlying appointment record it was tracking effectively closed out when the reschedule happened. Testing a reschedule scenario specifically, not just a straightforward booking, is the only reliable way to confirm a reminder workflow handles this correctly.

12Section 11: Bulk SMS Campaigns

Bulk SMS campaigns introduce their own considerations beyond individual workflow messages: audience selection, the smart list or segment being used, scheduling, rate management to avoid overwhelming the sending number, suppression of contacts who should not receive the campaign, opt-outs, duplicate contacts that could receive the same campaign twice under two different records, testing before a full send, and ongoing monitoring once the campaign is live.

A campaign sent to a poorly maintained list is one of the fastest ways to damage a sending number's reputation, since a spike in opt-outs or complaints can trigger carrier filtering that then affects every future message sent from that same number, not just the campaign that caused it.

13Section 12: SMS Personalization

Personalization tokens, sometimes called custom values or merge fields, pull data directly from the contact record, appointment details, or general business information into the message body. Test every merge field used in a template with a genuinely representative set of contacts, including ones with blank or missing values for that specific field, since a blank merge field can produce an obviously broken, unprofessional-looking message rather than simply omitting that detail gracefully.

Where a field might reasonably be blank for some contacts, build in a sensible fallback value rather than leaving the token to render as empty text or, worse, as the literal token name itself inside the sent message.

14Section 13: SMS Automation Best Practices

Common, well-established SMS automation use cases include fast lead response the moment a new inquiry comes in, appointment reminders, general follow-up sequences, missed-call text-back, review requests after a completed service, customer service updates, sales follow-up sequences, reactivation campaigns for lapsed contacts, longer nurture campaigns, and internal team notifications that are not customer-facing at all.

Each of these carries different expectations around timing, frequency, and tone, and treating every use case with the same generic template tends to hurt performance across all of them rather than serving any one well.

15Section 14: Monitoring Delivery Status

Messages typically move through a set of statuses worth understanding individually: queued, sent, delivered, failed, undelivered, rejected, opted out, and pending. It helps to understand the specific difference between two commonly confused statuses: failed means the message was never actually submitted to the carrier at all, having been blocked earlier at the platform or provider layer, while undelivered means the message was successfully submitted to the carrier but could not reach the recipient's handset, which is typically a network-layer issue such as the phone being powered off or genuinely unreachable.

Exact terminology and the specific set of available statuses can vary somewhat by provider and account configuration, so treat this as a general framework to check against the actual account rather than an exhaustive, universal list.

16Section 15: Common Error Scenarios Worth Recognizing

A workflow sends an email successfully but not the SMS in the same sequence, which usually points to something specific to the SMS action itself, such as a DND status, an invalid phone number, or a compliance block, rather than a general workflow failure, since the workflow clearly executed correctly up through the email step.

Manual SMS sends work fine, but the identical message fails when sent from a workflow, which often points to a difference in the sending number used, a difference in compliance handling between manual and automated sends, or a workflow-specific condition quietly blocking the message. Only some contacts receive texts while others in the same list do not, which usually points to differences in phone number validity, DND status, or opt-out history between the contacts, rather than anything wrong with the workflow itself. Imported contacts receive nothing at all, often because DND was already set on the imported records, or phone numbers were not properly validated during the import process. Appointment reminders fail specifically, usually traceable to calendar mismatches or appointment status issues covered earlier. Campaign SMS fails broadly across many recipients at once, often pointing to a sending number that has been rate-limited or flagged rather than to individual contact issues.

One specific phone number cannot receive messages at all, which is worth checking directly against that number's own carrier status rather than assuming it is a platform-wide problem. International SMS fails specifically, often due to unsupported destination countries or missing international messaging configuration. A carrier blocks messages outright despite everything on the platform side looking correct. Messages remain stuck in a pending status far longer than expected, worth checking against the messaging provider's own queue and rate-limit behavior. Messages get marked failed with no obvious reason, which is exactly when reviewing the specific error code returned becomes essential rather than guessing. Duplicate contacts cause confusing, inconsistent results depending on which record actually received the message. The wrong phone field is referenced in the workflow's SMS action, sending to a secondary or empty field instead of the primary mobile number. Country code issues cause otherwise valid domestic numbers to be misread as invalid international ones.

17Section 16: Testing SMS Safely

Use internal team members as test recipients, dedicated test phone numbers where practical, genuinely unique test contacts, workflows built specifically for controlled testing rather than live production workflows, careful logging of every test performed, execution history review after each test, and delivery status monitoring rather than simply assuming a message sent successfully just because no error appeared immediately. Document every test performed, including the exact contact used, the time, the expected outcome, and the actual observed result, so a pattern across multiple tests can be identified rather than treating each test as an isolated event.

Testing should also deliberately cover a genuinely new contact, an existing contact with a history of prior messages, a contact known to have DND enabled, a landline or otherwise invalid number, and an international number if the business ever messages outside its home country. Each of these represents a distinct code path through validation, compliance, and provider logic, and a test plan that only ever uses one clean, valid domestic mobile number will never surface most of the real-world failures a live account eventually runs into.

18Section 17: SMS Reporting and KPIs

Delivery rate measures the share of sent messages that were successfully delivered to a recipient's device, and is the most fundamental measure of whether the sending infrastructure itself is healthy. Failure rate measures the share of messages that failed outright or went undelivered, and a rising failure rate over time is often an early warning sign of a reputation or compliance problem before it becomes severe enough to trigger a full suspension.

Response rate measures how many recipients actually reply to a message, which reflects both message relevance and genuine deliverability together. Opt-out rate measures how many recipients ask to stop receiving messages, and keeping this low matters not just for compliance but because a rising opt-out rate is one of the clearest signals that carriers use to decide whether to filter future traffic from that same number. Time to first response measures how quickly a lead or customer replies after receiving a message, which is often a leading indicator of engagement quality. Appointment confirmation rate measures how many appointment reminders actually result in a confirmed booking. Conversation rate measures how many outbound messages turn into an actual back-and-forth exchange rather than a one-way broadcast. Revenue attribution connects SMS activity back to actual booked appointments, closed deals, or completed purchases, which is ultimately the metric that justifies the investment in building reliable SMS automation in the first place.

19Section 18: Security

Cover user permissions around who can send SMS, who can edit SMS-sending workflows, who can view conversation history, audit logs of messaging activity, clear ownership of which phone numbers belong to which sub-account, authentication for any connected messaging provider account, and least-privilege access as the general default rather than the exception. Messaging permissions deserve the same scrutiny as any other sensitive system access, since a compromised account with SMS-sending permissions can do real reputational and financial damage very quickly at scale.

20Section 19: Governance

Establish clear SMS policies covering consent management, standardized message templates, consistent naming conventions for workflows and campaigns, documentation of every SMS-sending automation in the account, clear ownership of each workflow, periodic reviews of message performance and compliance status, ongoing team training, and regular compliance reviews as regulations and carrier requirements continue to evolve.

Treat SMS governance as an ongoing discipline rather than a one-time setup task. A2P registration status, opt-out rates, and carrier policies all change over time, and an account that was fully compliant and delivering reliably a year ago can quietly drift out of compliance if nobody is actively monitoring it.

A useful governance habit is a quarterly review that checks current A2P registration status against any recent business changes, such as a new EIN, a legal name change, or a new use case that was never formally registered, reviews the account's current opt-out and complaint rates against the thresholds that trigger suspension, audits which users currently have permission to build or edit SMS-sending workflows, and confirms that message templates in active use still match their originally registered campaign category. Skipping this kind of review is how a healthy account slowly becomes an unreliable one without any single dramatic event marking the moment things went wrong.

21Common SMS Error Codes Worth Recognizing

A handful of specific error patterns come up repeatedly and are worth recognizing on sight. A message failing because the recipient has opted out or has DND enabled means the destination number is intentionally blocked from receiving that message, and the fix is confirming consent rather than retrying the send. A message failing because the sending Twilio account is suspended means the account itself lost good standing sometime between the send attempt and delivery, and the fix is resolving the account status directly with the provider before any further messages will go through. A message reported as reaching an unreachable or out-of-service number generally means the recipient's phone is powered off, out of coverage range, or otherwise temporarily unavailable, and simply retrying later, rather than assuming the number itself is invalid, is usually the right response.

Reading the specific error code returned, rather than treating every failure as generically "SMS not sending," turns a vague symptom into a concrete, addressable cause almost every time.

22A Troubleshooting Decision Tree

Did the workflow trigger fire and the contact enter as expected? If no, this is an enrollment problem, not an SMS problem, and the investigation belongs in the workflow's trigger and filter configuration rather than anywhere in the messaging layer. If yes, did the SMS action itself execute according to the execution logs? If no, review branch logic, wait steps, and exit conditions inside the workflow. If yes, is the contact's phone number valid and properly formatted? If no, correct the number or the country setting on the record. If yes, is DND active on the contact for the SMS channel? If yes, resolve consent before attempting to resend. If no, does the account's A2P registration and sending number configuration check out? If no, address registration or number assignment first. If yes, did the messaging provider report a specific error code for this message? If yes, look up that exact code and address its specific cause. If no clear error appears anywhere in this chain, the issue most likely sits at the carrier or handset layer, and monitoring for a delayed delivery confirmation, or escalating to the messaging provider directly, is the appropriate next step.

23The Real Business Impact

Missed or delayed SMS delivery has a direct, measurable cost, particularly for appointment-based businesses that rely on text reminders to reduce no-shows. Consider a simple, illustrative example. A business books 200 appointments a month and relies on an SMS reminder sequence to reduce no-shows. If 10 percent of those reminder messages silently fail to deliver, that works out to 20 appointments a month receiving no reminder at all. If a missing reminder roughly doubles the likelihood of a no-show compared to a confirmed delivery, even a modest baseline no-show rate can produce several additional missed appointments purely from this one gap, each one representing lost revenue and wasted staff time that a working reminder sequence would have prevented. This is an illustrative calculation meant to show the shape of the problem, not a guaranteed outcome for any specific business, since actual no-show rates and reminder effectiveness vary considerably by industry and audience.

Many businesses initially believe they need one specific broken workflow fixed. A proper audit of SMS delivery frequently uncovers a wider set of issues: incomplete A2P registration, accumulated DND and opt-out records that were never cleaned up, phone number validation gaps, sending numbers with damaged reputations from earlier campaigns, workflow logic errors that only affect certain contact segments, and a general lack of monitoring that let all of this accumulate unnoticed over months.

24How We Help

We help businesses with GoHighLevel SMS troubleshooting, workflow audits, automation architecture, CRM implementation, workflow optimization, deliverability analysis, compliance reviews, CRM cleanup, documentation, training, and ongoing managed support.

We work as a trusted GoHighLevel implementation and automation partner, not simply a support desk that closes tickets without addressing the underlying cause. If your business is experiencing repeated SMS delivery failures, broken appointment reminders, workflow messaging issues, automation failures, compliance uncertainty, carrier filtering, or the same troubleshooting problems recurring month after month, a structured GoHighLevel SMS and workflow audit can trace the complete messaging chain, from the original trigger through carrier delivery, and identify exactly where it is actually breaking down.

Frequently Asked Questions

Why are my GoHighLevel SMS messages not sending?+

Why does my workflow send emails but not texts?+

How do I troubleshoot GoHighLevel SMS step by step?+

Why are only some contacts receiving messages while others do not?+

What causes SMS delivery failures in GoHighLevel?+

What is DND, and why does it block a message even when the workflow runs perfectly?+

Why was my message rejected, and what do failed and undelivered actually mean?+

Can workflows send SMS automatically, and does A2P 10DLC registration apply to appointment reminders too?+

Do toll-free numbers require A2P 10DLC registration?+

How do I improve SMS delivery and avoid carrier filtering?+

How do appointment reschedules affect reminder SMS delivery?+

What SMS metrics should I actually monitor?+

When should I hire a GoHighLevel SMS consultant?+

Leave a Comment

Ask a Question or Leave a Comment