Trend
Fix or rebuild: what to do with a neglected GoHighLevel account
Usually it is not a rebuild. In a neglected GoHighLevel account the contact data is fine and the automation layer is what has rotted, in four predictable places. Run a 90 minute audit first: sending status, active workflows, who holds the API keys, duplicates, and three traced leads.
Contents
Several businesses were paying this week for the same job: go into a GoHighLevel account that has run unattended for a year or more, and either fix it or rebuild it. Not new builds. Repairs. I read job postings the way you would read a want-ads page in a trade paper, and repeat postings are the signal, not any single one.
If you own a CRM that nobody has opened the back of since the person who set it up moved on, that pattern is about you.
Here is the short version. A neglected automation build does not fail loudly. It fails in four specific places, all of them quiet, and the repair bill scales with how long the silence went unnoticed.
The four places a neglected build breaks
The phone number stopped sending. Since 1 September 2023, all unregistered US-bound messages from +1 10DLC numbers are blocked, returning error 30034. Twilio's changelog is blunt about it: the route is fully verified now, and messaging rates still apply to blocked messages. So you can be paying per message to reach nobody. Brand and campaign registrations also fail or lapse when a business detail changes and nobody updates the record.
The API keys are on borrowed time. HighLevel has deprecated API V1 and disabled the option to generate new V1 keys. Existing V1 integrations keep running, with no fixes, no security patches and no support behind them. If your Zapier or Make scenario was wired in 2022, it is running on a key you cannot replace.
The automation layer grew sideways. Snapshots get pushed, workflows get cloned, someone builds a second version of the intake sequence because the first one was scary to touch. Now two workflows message the same contact on day three and nobody knows which one to switch off.
The contact list quietly doubled. HighLevel's standard deduplication settings check email and phone only. A lead who bought with one email, filled a form with another and booked with a different phone stays as separate records until you run the name-based manage duplicates tool. Your reporting has been wrong for a while.
Why this is a revenue problem, not an IT problem
Every one of those four failures has the same symptom: a lead entered the system and never got the thing the system was supposed to send. Nobody raises a ticket for a message that was never sent.
Put your own numbers on it before you spend anything:
- L = leads that entered the CRM last month
- F = the share that never got the automated first touch (count it, do not guess)
- C = your close rate on leads you actually talk to
- V = your average deal value
Monthly leak = L x F x C x V
If F comes back near zero, close this tab and go do something more useful. The point of the arithmetic is that it can tell you to do nothing.
The 90 minute audit, before you pay anyone
These are my own time estimates, not measured figures. Do it in this order.
- Sending status, about 10 minutes. Open the phone number settings and confirm the brand and campaign registration are approved and current. Send one test SMS to a number outside the office and confirm it arrives.
- Workflow census, about 25 minutes. List every published workflow. Mark each one keep, kill, or unknown. Unknown is the interesting pile.
- Who holds the keys, about 10 minutes. List every integration touching the account and note whether it uses a V1 key or a V2 private integration token. V1 goes on the work list.
- Duplicate scan, about 15 minutes. Run the manage duplicates tool on name as well as email and phone. Do not merge anything yet. Just get the count.
- Trace three real leads, about 20 minutes. Pick three from last month. Follow each one end to end: form, tag, workflow, message sent, pipeline stage, owner. This is where you find the break.
- Write the one page map, about 10 minutes. What comes in, what fires, what goes out. One page. If you cannot fit it on one page, that is the finding.
That is about 90 minutes and it turns "our CRM is a mess" into a list somebody can quote against.
Fix or rebuild: the actual decision
| What you find | Fix in place | Rebuild |
|---|---|---|
| Under about 10 active workflows and you can name what each does | yes | no |
| Half the workflows are in the unknown pile, two message the same contact | no | rebuild the automation layer only |
| Pipeline stages nobody uses, reporting is meaningless | yes, rename and merge | no |
| Three spellings of the same custom field feeding different forms | no | rebuild the field schema, map old to new |
| Number unregistered or blocked | yes, this is registration work | no |
| Integrations still on V1 keys | yes, this is an auth and endpoint change | no |
| You are leaving the platform entirely | neither, export first | neither |
Notice what is not in the rebuild column: your contacts, your conversation history, your opportunity records. In most of these accounts the data is the healthiest thing in the building. What needs replacing is the layer on top of it.
One more thing worth knowing before you shop: HighLevel's Agency Starter plan is $97 a month with 3 sub-accounts, and Agency Unlimited is $297 a month. If someone is scoping a rebuild across many locations, sub-account count is the number that drives the work, not the plan line on the invoice.
What this looks like when it is not one account
I built a closed-CRM bridge for a multi-site housing operator running 25 GoHighLevel locations, with 14,000 plus leads sitting in a back office system and about 11,000 of them mirrored into Supabase so deduplication could happen somewhere the CRM could not fight it. It carried a 72 hour auto-close rule and a 24 hour lookback so late arrivals were not missed.
The detail I would put in a failure log: some responses came back as HTTP 201 with the data silently dropped. A success code that does not mean success is exactly the kind of thing that runs for months while a business believes its leads are syncing.
At that scale you also start caring about the published limits. V2 allows a burst of 100 requests per 10 seconds and 200,000 a day, counted per app per location or company. A bulk cleanup job that ignores both will stall halfway and leave you worse off than when you started.
Limitations
The audit above tells you where the break is. It does not fix anything, and step 5 is the only step that reliably finds the failure you did not expect.
Registration timelines are not in your control. If your brand or campaign needs resubmitting, that clock belongs to the carriers, not to you or whoever you hire.
I have not tested every combination of snapshot push against every sub-account state, so treat any claim about what a push will and will not overwrite as something to verify on a sandbox sub-account before you run it on the live one.
And the demand pattern is a signal, not a statistic. My guess is that a chunk of this repair work traces back to builds handed over in 2022 and 2023 with no documentation, but I cannot prove that from job postings alone.
My take
I would not pay for a rebuild before the 90 minutes are done. Most accounts I would expect to come out of that audit needing registration work, a V2 key change, a workflow cull and a dedup pass, in that order. That is four days of work described precisely, not an open-ended rebuild.
The real cost of a neglected build is not the repair. It is the months where the phone number was blocked and everyone assumed the leads were just bad.
Next step: run step 1 and step 5 today. Ten minutes and twenty minutes. If both come back clean, you have a tidy-up. If either one breaks, you have your answer. More on how I approach these builds at tarunsai.com/blog.
Questions people ask
Will rebuilding lose my contact history and conversations?
It should not, because the contacts and conversation threads are not what you rebuild. The work is in the automation layer: workflows, custom fields, pipeline stages, tags. Before anyone touches anything, export contacts, opportunities and custom field definitions, and take a snapshot of the sub-account as it stands so there is a version to compare against.
How do I know if my SMS is actually being delivered or silently blocked?
Send one test message to a phone outside your office and check the number's registration status. Unregistered US-bound messages from 10DLC numbers have been blocked since 1 September 2023 and return error 30034, and you are still charged the messaging rate on a blocked message. If your conversation view shows messages sent but nobody ever replies, check registration before you blame the copy.
Our integrations still work on the old API key. Do we have to change anything right now?
Not today, but the clock is running. HighLevel has deprecated V1 and turned off the ability to generate new V1 keys, so existing keys keep working with no fixes and no support behind them. The practical risk is that if a key is ever revoked or lost you cannot issue a replacement. Plan the V2 move as scheduled work, not as an emergency.
Have a process like this leaking time or leads?Thirty minutes, no deck, and you leave with a plan.
Book a call