The 7 places GoHighLevel breaks without ever showing you an error, and the 5-minute manual check for each. Every one of these comes from a real broken account, not theory.
Any workflow action pointing at that stage now references a dead ID. GHL does not error. It silently skips the action and every action after it. The workflow stays green and published. We watched a client lose three weeks of leads to this one.
Check: open every workflow that creates or moves an opportunity. Click each pipeline/stage dropdown. If one shows blank or missing, it has been dead. Re-select, save, re-publish.
A "Remove From Workflow" action aimed at a deleted or re-cloned workflow does nothing. Contacts stay enrolled in the old sequence. Result: people getting two competing message streams from the same business.
Check: open every Remove From Workflow action and re-pick its target from the dropdown. If the target was rebuilt at any point, the old reference is dead even though the name looks right.
Imported workflows carry the SOURCE account's internal IDs: pipelines, stages, custom fields. They arrive published-looking and run into the void. We audited a just-loaded account this week: 24 of its 35 workflows were silently broken.
Check: after any snapshot load, open every workflow that references a pipeline, stage, field, calendar, or another workflow, and re-select each dropdown by hand. All of them. Yes, really.
The webhook fires, the workflow "runs," and no contact is ever created. Your form thanks people while their info evaporates. GHL inbound-webhook workflows run contactless until you explicitly create one. We caught this in our own funnel.
Check: every workflow with an Inbound Webhook trigger must have a Create/Update Contact action as its first step, mapped to the payload's email field. Then send a real test and search for the contact.
Some trigger edits (especially via imports and tools) leave the trigger inactive while the workflow still shows published. Everything downstream looks fine. Nothing ever enters.
Check: after editing any trigger, re-open it and confirm it saved, then run one real test event (a form fill, a tag, a message) and watch Enrollment History. Zero enrollments = dead trigger.
Templates referencing the old name render blank, or worse, send the raw merge tag to the customer. No error anywhere.
Check: after any field cleanup, send yourself a test of every email and SMS template that uses merge fields. Read them on your phone like a customer would.
Sequences "send" successfully and land in spam, or get silently dropped. The workflow execution log shows green. Your open rates just quietly die.
Check: Settings → Email Services. Your dedicated sending domain must show verified with SPF, DKIM, and DMARC green. Send a test to a Gmail you own and check it arrived in the inbox, not spam.