Pick the area, answer a few yes/no questions and get the most likely cause, what to check and a step-by-step fix. No sign-up needed.
Area
Choose the area that’s not working
Which best describes it?
Tried everything?
Book a GHL Troubleshooting Audit
I can inspect the workflow, trigger, filters and contact history for you. Send the details, then book a short call. Access is set up on the call, never by password.
Audits normally cost $50 per sub-account. It’s free for a limited time.
Reference
Common GoHighLevel problems and their usual causes
Every problem the troubleshooter covers, with the causes it checks. Start the guided version from any of them.
Workflow isn’t firing
Contacts never enter the workflow, or nothing happens when the trigger event occurs.
Usual causes
The workflow is still in Draft. Draft workflows save your changes but never run. It is easy to build, test the layout and forget to publish.
A trigger filter does not match the contact. Each filter must be true for the contact to enter. A filter set to a different form, calendar, pipeline or tag spelling quietly keeps everyone out.
The event happened before the workflow was live. Workflows only react to events after they are published. Contacts who submitted, booked or were tagged earlier are not picked up automatically.
Re-entry is blocked for contacts who already went through. By default a contact usually goes through a workflow once. A second event for the same contact is ignored unless re-entry is allowed.
The trigger works, but a step inside stops. If the contact shows in the enrollment history, entry worked. The problem is a condition, a wait, a goal or an action that skipped or failed.
Another workflow removes the contact or handles the same event. A “remove from workflow” action, a goal, or a second workflow on the same trigger can pull the contact out before anything visible happens.
The contact enters the workflow, but a message, update or other action does not happen.
Usual causes
Do Not Disturb blocks the message. When a contact is on DND for a channel, messages on that channel are skipped. This often follows an opt-out reply such as STOP.
The contact is missing data the step needs. An SMS needs a valid phone number, an email needs an email address, and actions that use custom fields need those fields filled in.
Sender settings are incomplete. Messages need a sending number or a configured sending email address. A step with no valid sender can fail.
The contact took the other branch. If/Else conditions send contacts down one path. If the condition was false, the steps on the other path never run.
A wait step is still counting down. Waits until a date, a time window or a day of the week can hold contacts longer than expected, so the next step has not happened yet.
A goal or stop rule ended the workflow early. Goals and “stop on response” settings remove the contact when they reply or reach the goal, so later steps never run. That is often intended.
The cause is shown in the execution log. The execution log records each action for each contact, including the reason a step was skipped or failed. It is the fastest way to stop guessing.
Texts fail, stay undelivered, or never leave the account.
Usual causes
A2P 10DLC registration is missing or incomplete. US carriers expect business texting from 10-digit numbers to be registered. Unregistered or pending traffic can be filtered or blocked.
The contact is on Do Not Disturb for SMS. Contacts who opted out, or who were marked DND, are skipped so you do not text people who said no.
The number is invalid, badly formatted or a landline. Numbers without a country code, with typos, or that are landlines cannot receive texts.
No active sending number is set up. SMS needs a phone number on the location (through LC Phone or a connected provider). A released or unassigned number means nothing can send.
Carrier filtering of the message content. Carriers can filter messages that look like spam: link shorteners, all-caps urgency, or content that does not match the registered use case.
The SMS step never ran. If nothing shows in Conversations, the message was probably never sent: the workflow did not fire or the step was skipped.
Emails from workflows or campaigns are missing, bounce, or go to spam.
Usual causes
Domain authentication is missing or failing. Mailbox providers check SPF, DKIM and DMARC to confirm you are allowed to send for your domain. Missing or broken records push mail to spam or get it rejected.
No dedicated sending domain. Sending on a shared default domain means you share reputation with other senders and your mail is less clearly tied to your brand.
The From address does not match your domain. Sending “from” a free mailbox like Gmail through another platform fails those providers’ authentication rules.
The contact unsubscribed or is on Do Not Disturb. Contacts who unsubscribed or are on email DND are skipped.
The address is invalid or bounced. Mistyped or closed mailboxes bounce. Repeated bounces can also mark the address as invalid in the account.
Sending reputation or volume is hurting delivery. Sudden large sends, cold lists or high complaint rates train providers to filter your mail.
Content looks like spam. Image-only emails, many links, misleading subject lines or shortened links can trigger filters.
The email step never ran. If no email shows in the conversation, the workflow did not fire or skipped the step.
The booking widget shows no slots, too few slots, or slots at the wrong time.
Usual causes
No team member is assigned. Many calendar types take availability from the assigned users. With nobody assigned, or users with no availability, there is nothing to show.
Availability hours are not set for those days. If a day has no hours (or the hours are set on a different calendar or user), those days show no slots.
A connected calendar marks the time as busy. When a Google or Outlook calendar is checked for conflicts, any busy event (including all-day events) blocks those times.
Minimum scheduling notice hides near-term slots. A notice period hides every slot before that time, which can empty out the next day or two.
The date range does not reach that far ahead. Calendars can limit how many days ahead people can book. Dates beyond that show nothing.
Time zones do not match. The location, the user, the calendar and the visitor can each have a time zone. A mismatch shifts slots or pushes them outside working hours.
Booking limits are already reached. Maximum bookings per day or per slot hide remaining times once the limit is hit.
The appointment is longer than the open windows. A 60-minute appointment cannot fit into a 45-minute gap, and buffers make the gap smaller still.
Appointment confirmations or reminders aren’t sending
Bookings come in but confirmations or reminders are missing.
Usual causes
The workflow trigger does not match the booking. Appointment triggers usually filter by calendar and status. A filter on the wrong calendar, or a draft workflow, means bookings never enter.
The reminder time had already passed. A “wait until X hours before the appointment” step cannot go back in time. Late bookings skip reminders whose time has passed.
Calendar notifications are turned off or not set up. If you rely on the calendar’s built-in notifications, they need to be enabled and configured with a sender.
Manually created appointments behave differently. Depending on how a booking is added and the trigger settings, appointments your team creates may not fire the same automations.
The contact cannot receive the message. DND, a missing phone number or a missing email skips the reminder for that contact.
Form submissions don’t create contacts or start automations
People submit a form but no contact appears, or the expected workflow does not start.
Usual causes
The workflow listens to a different form. Form triggers filter on a specific form. A duplicated or replaced form has a new identity, so the old filter no longer matches.
The submission updated an existing contact. If the email or phone matches an existing contact, the submission updates that contact instead of creating a new one, so it can look like nothing happened.
No email or phone is collected. Contacts are matched and created using an email address or phone number. Forms without either may not create a usable contact.
The embed is broken or outdated. An old or partial embed code, page caching, or a script blocked by the outside site can stop submissions reaching the account.
The page does not load on your domain, shows a security warning, or shows the wrong page.
Usual causes
DNS records are missing or conflicting. The domain must point to the platform with the exact records it asks for. Old records for the same name (from a previous site) can override them.
DNS has not finished updating. DNS changes can take minutes to many hours to reach every network.
A proxy or CDN is getting in the way. Some proxies (such as Cloudflare’s orange cloud) can block the platform from verifying the domain or issuing its certificate.
The security certificate is still being issued. After a domain connects, the certificate can take a little while. Wrong records or a proxy can stop it being issued at all.
The page or default path is not set. The domain can connect fine but still show a 404 if no funnel step or website page is set as the default for that domain.
A workflow should add a deal to the pipeline, but nothing appears.
Usual causes
Duplicate opportunities are not allowed. If duplicates are off, a contact with an existing opportunity does not get a new one. This is a sensible default but surprises people.
The step updates instead of creates. An Update Opportunity action only changes an opportunity that already exists. It never creates a new one.
It was created in a different pipeline or stage. The opportunity may exist, just not where you are looking.
The pipeline view hides it. Filters for status, owner or date range can hide new opportunities from the board.
The workflow did not run. If the contact never entered the workflow, no step ran.
It is attached to a duplicate contact. If the same person exists twice, the opportunity may be on the other record.
Moving a deal to a stage should start a workflow, but nothing happens.
Usual causes
The trigger watches a different pipeline or stage. Stage triggers filter by pipeline and stage. Pipelines with similar stage names make this easy to mix up.
The workflow is in Draft. Draft workflows do not run.
Re-entry is blocked. A contact who already went through the workflow is not enrolled again unless re-entry is allowed.
Status changed, not stage. Marking an opportunity won or lost is a status change. A stage trigger does not react to it.
Leads come in on Facebook or Instagram forms but do not reach the account.
Usual causes
The Facebook connection expired or disconnected. Password changes, removed roles or expired sessions can break the connection without an obvious alert.
The wrong page is connected. Lead forms belong to a page. If the account is connected to a different page, its leads cannot come through.
Missing page permissions or CRM access. The connecting user needs enough access to the page, and Facebook’s leads access settings can limit which apps receive leads.
The workflow trigger filters a different form. Leads may arrive as contacts, but the workflow listens to another form, so nothing else happens.
Leads came in before the connection. Leads submitted before the integration was working are not synced automatically.
Form fields are not mapped. Custom questions need mapping to contact fields, or the answers do not land where you expect.
Customers pay, but the payment is missing or the follow-up workflow does not start.
Usual causes
The processor is not connected properly. Payments need a working connection to Stripe or another processor in the right mode.
The payment happened outside the account. Payments taken directly in Stripe or another tool may not appear as HighLevel transactions or fire its payment triggers.
Test and live modes are mixed. Test payments do not appear in live mode and the reverse.
The trigger filters a different product or source. Payment triggers can filter by product or form, so other payments are ignored.
The payment is on a different contact. If the checkout email differs from the lead’s email, the payment may land on a new contact.
A Zap or integration should create or update contacts, but nothing arrives.
Usual causes
The Zap is off or not triggering. Zaps can be turned off automatically after repeated errors, or never trigger if the source app changed.
The connection needs re-authorising. Expired tokens or changed API keys stop actions from reaching the account.
The Zap writes to a different sub-account. With several sub-accounts, the Zap may be connected to the wrong one.
Required fields are not mapped. Without an email or phone, contacts cannot be created or matched.
The workflow does not react to integration contacts. Contacts created by an integration may not fire a form trigger. The workflow needs a trigger that fits, such as a tag the Zap adds.
Registration is pending or rejected, or texting is limited because of compliance setup.
Usual causes
Brand details do not match public records. Brand registration is checked against your legal business details. Mismatched names, tax IDs or addresses are a common reason for problems.
Campaign description, samples or consent do not line up. Reviewers look for a clear use case, sample messages that match it, and a believable opt-in process.
The number is not attached to the campaign. An approved campaign only covers numbers attached to it. Other numbers may still be filtered.
Consent collection looks unclear. Forms that text people should say so, link the privacy policy and explain how to opt out.
Live messages differ from the registered use case. Messages that do not match what was registered, or that include restricted content, are more likely to be filtered.
Duplicate matching is set up differently than you expect. The location decides whether email or phone is used to match contacts, and whether duplicates are allowed.
Phone numbers are formatted differently. Without a consistent country code, the same number can look like two different numbers.
The person used different details. Someone using a work email on one form and a personal email on another looks like two people.
An import or integration skips matching. Imports and integrations can create new records instead of updating existing ones, depending on their settings.
People receive two copies of a text or email, or go through the same sequence twice.
Usual causes
Two workflows react to the same event. When an old and a new workflow both listen to the same trigger, each one sends its own message.
Re-entry lets the contact run through again. With re-entry allowed, any repeat of the trigger starts the sequence again for the same contact.
The trigger event happens twice. A contact who submits two forms, or whose tag is removed and added again, can trigger the same workflow twice.
The person exists as two contacts. If the same person is saved twice (for example with different email addresses), each contact record runs the workflow.
A built-in notification and a workflow both send. Calendars and forms can send their own confirmations. If a workflow also sends one, people get two.
No. It is an independent troubleshooter built from hands-on work in HighLevel accounts. Menu names in your account can differ slightly, and HighLevel’s own documentation and support remain the final word.
How accurate is the result?
It ranks the causes that most often explain the symptoms you describe. Treat the result as the first place to look, not a certainty. The other possible causes are listed for that reason.
Do I need to give access to my account?
Not to use the tool. If you book a troubleshooting audit, access is arranged on the call by adding a user with the right permissions. Never send passwords by email or form.
Is the A2P guidance legal advice?
No. It is educational information about common registration and consent problems. For legal questions about messaging compliance, speak to a qualified professional.