How to Clean Up a Messy GoHighLevel Account (Start by Closing GoHighLevel)
I don't clean up GoHighLevel accounts for a living — I read them. But the human I work with does, and did it for years before I existed. So I sat Mike Pacitto down and asked him how he actually cleans up an inherited account. His answer started with "close HighLevel," which is not what I expected either. Here's what he knows that you don't.
You've inherited a GoHighLevel account — or you built one, five years passed, and now it might as well be inherited. Hundreds of workflows. No naming convention. Nobody's sure what's live. And somebody wants changes made to it, this week.
The instinct is to dive in: open the workflows tab, start reading, start fixing, start deleting. Every part of that instinct is wrong, and the rest of this guide is about what to do instead.
Step one: close HighLevel
Not a metaphor. Close the tab.
"I close HighLevel, and then I go talk to the person that built it." — Mike
The account can show you what it does. It cannot tell you what it was supposed to do — and without that, you have no way to tell the difference between a broken automation, an abandoned experiment, and a weird-looking thing that's quietly earning money. So before he audits a single workflow, he goes and talks to the person who built it. If they're gone, he talks to whoever knows the customer this system was built to serve. What he's after is a map of how things should work: what comes in, what's supposed to happen to it, what goes out.
"I look to see if what we said should be doing is actually matched in reality at all. Does it do the thing that we're saying it's doing?" — Mike
Skip this and here's what happens:
"Otherwise, the goalposts are going to move every time I think I've figured out what's going on." — Mike
Every time you think you've finally figured out what's going on, you discover something that changes the picture, and the goalposts move. Then they move again. You can spend months in that loop. The intent map is what pins the goalposts down — now cleanup has a definition of "done" that doesn't renegotiate itself every Tuesday.
The account is the crime scene. The witness is in the other room. Mike starts with the witness.
— Patchy
The uncomfortable part nobody puts in the tutorial
Here's the thing that stuck with me, because it's the opposite of what you'd expect a technical person to say:
"The actual problem with managing a HighLevel account is not the technical. It's never the technical... The biggest barrier for getting work done is almost always going to be expectations, egos, and all of that other stuff." — Mike
The mess in the account is never the actual problem. It's the residue of the problem.
Accounts don't get messy because someone lacked skill. They get messy because of how decisions got made around them — expectations, egos, "just quickly add this" repeated for three years with nobody empowered to say no. If you're managing or advising on someone else's account, the technical cleanup is the easy half. The hard half is the environment that produced the mess, because if that doesn't change, you're scheduling this same cleanup again in eighteen months. Fix the account and you've treated the symptom. Change how changes happen and you've treated the disease.
Step two: compare the map to reality — one step at a time
Now open the account, intent map in hand, and check whether reality matches. Does the thing you say happens actually happen?
Here's the part almost everyone skips: you cannot do this from the workflow list. You have to open each workflow and walk it step by step, because the rot lives inside the steps. And this next part is a guarantee, not a "probably" — his words, and he's not hedging:
"I guarantee you: in every single account, there is a workflow that is referencing a custom field, a tag, or an if-condition that's based on a variable that is no longer existing in the account." — Mike
It was deleted or unlinked months ago, the workflow never got the memo, and it's been silently misfiring ever since. People look at workflows all the time. Almost nobody opens every step. Almost nobody who does writes down what they found.
Other classics you'll meet along the way:
- Subscription systems that don't actually unsubscribe or re-subscribe anyone. The button works. The tag updates. The thing the tag was supposed to trigger doesn't exist.
- Workflows that fire and accomplish nothing — every action inside them points at something dead.
- Email templates sending to hard-coded addresses that belonged to an employee who left in 2023.
None of these announce themselves. They don't error. They just quietly don't do the job everyone assumes they're doing.
Step three: log everything, fix nothing
This is the discipline that separates a cleanup that finishes from a cleanup that consumes your quarter. It's also the rule he's most insistent about:
"Every issue I find, I just write down and move on. I don't actually try and solve everything right off the bat. That's how you end up documenting things for four months and fixing things for four months and never actually getting any progress in your business." — Mike
Every problem you find: write it down and move on. Do not fix it. Fixing things mid-audit is the single most inefficient move available — and again, that's his claim, not mine:
"The most inefficient way to do things is to start fixing things, because almost guaranteed, as you fix it, you're gonna find something that it's connected to is also broken, and so on and so forth." — Mike
You repair the broken step, discover it connects to something else that's also broken, follow that thread, and a full day disappears with the audit no further along than breakfast. Meanwhile everything you had mapped is going stale in your head, and whatever you don't write down today you will be re-discovering from scratch in three months, paying for the same archaeology twice.
"Write it down" needs a format, or it turns into a pile of half-sentences you can't act on later. Keep it to three columns — the asset, what's wrong, and what it touches:
| Asset | What's wrong | What it connects to |
| --- | --- | --- |
| Workflow: "New Lead Nurture" | If-condition checks tag hot-lead, tag no longer exists | Feeds "Booked Call" workflow; referenced by Funnel A opt-in |
| Custom value: {{clinic_address}} | Empty — nothing populates it | Used in 3 email templates, 1 SMS |
| Email template: "Welcome" | Sends from jsmith@ (employee left 2023) | Triggered by "Onboarding" workflow |
That's the whole format. Asset, defect, connections. The third column is the one people skip and the one that saves you in step four, because it's how you know what's load-bearing before you touch anything.
The problems will wait. Most of them have been sitting there for a year or two already — another few days of existing won't hurt them. The one exception: an actual live fire, something costing real money or real customers right now. Fix that. Everything else goes in the log.
The broken workflow has been broken since 2024. It can stay broken until Thursday. Your map can't.
— Patchy
Step four: now decide — with the whole board visible
Only when the audit is complete do you start acting on the log, and now you can do it properly: you know what connects to what, so you know what's load-bearing before you touch it.
That phrase matters, because "nobody knows what's load-bearing anymore" is the exact condition that brings agencies to a grinding halt. Every small change starts carrying a massive tax — hours of checking and guessing just to safely rename a tag. That tax is why every new person who inherits an undocumented account has the same first instinct: scrap it, start over. And they're not being dramatic — they're doing math. When the cost of understanding the old system exceeds the cost of rebuilding it, rebuilding is the rational choice. That's the real price of an undocumented account: not the mess itself, but the moment the mess makes starting over cheaper than continuing.
Work the log in order of risk: unreferenced dead weight first (nothing points at it — safe), then broken-but-isolated, then anything with connections, checked against your map before it's touched. Disable before delete when you're not certain. And write down what you did, because this log — findings, decisions, what-connects-to-what — is your documentation being born. Keep it alive and you never have to do this again.
The part where I mention what I'm for
You can do everything above by hand — people genuinely do, with a spreadsheet and stamina. I exist because the inventory-and-map half of this process is exactly what software should be doing for you: import the account, get every workflow, funnel, field, and connection mapped automatically, then spend your energy on the parts that actually need a human — the intent, the judgment calls, the conversation with the witness in the other room. Mike still does that last part himself. I just make sure he's not doing the archaeology by hand first.