The GoHighLevel practice of Yotomations, Your Business, Automated.Need AI development, custom software or a website? See everything we do at yotomations.com
Book a 30-minute call
Troubleshooting

Inherited a messy GoHighLevel account? The 90-minute GoHighLevel audit checklist

Twelve checks, in order, that show what is broken in an inherited GoHighLevel account: shared triggers, dead tags, orphaned pipelines, phone and A2P status, and what to fix first.

Reviewing printed charts and documents next to a laptop during an account audit
By Yaakov (Koby) Oranski, Certified GoHighLevel Admin and Partner | | 6 min read

Short answer: a GoHighLevel audit is a twelve-point inventory of what the account actually does, run in a fixed order: workflows and their triggers, then tags and custom fields, then pipelines and calendars, then phone numbers, A2P registration, integrations and users. You touch nothing during the inventory. The output is a list of fixes ordered by risk (double sends and missed follow-ups first, cosmetic cleanup last). One owner described the account we inherited as a "big rat's nest": 160 workflows, 242 tags and six pipelines, and the checklist below is the exact order we worked through it.

Auditing an inherited GoHighLevel accountAUDITING AN INHERITED GOHIGHLEVEL ACCOUNTInherited account160 workflows, 242 tags,six pipelines, nobody knowswhyInventoryExport workflows, tags,fields, pipelines, numbersMapTrigger to workflow, tag toreader, stage to workflowShared triggersTwo workflows on one formor stageGoHighLevel changesDraft, merge, rename, oneat a timeClean accountOne trigger per job, tagsthe team can explainread-only seatfoundordered by riskEverything is inventoried and mapped before anything is changed; the map, not the menu, decides the order of fixes.

Why inherited GoHighLevel accounts turn into a rat's nest

Three things pile up. First, snapshots: every agency, course and marketplace template that ever touched the account loaded its own workflows, tags and pipelines, and nobody removed the previous set. Second, tags are free text with no schema, so "Hot Lead", "hot-lead" and "HOT" all exist and different workflows read different ones. Third, workflows are cheap to clone and expensive to understand, so when something did not work the last builder made a copy and left the original published.

The result is an account where a form submission can start three workflows, two of which send a text. That is how you get the duplicate text messages owners complain about, and it is why the audit begins with triggers rather than with the tag list.

The GoHighLevel audit checklist: 12 checks in order

Work top to bottom. Each row names where in the sub-account you look and what you are looking for. Copy it into a sheet and fill the last column as you go.

#CheckWhere in GoHighLevelWhat you are looking for
1Workflow inventoryAutomation, Workflows listEvery workflow, its status (published or draft), last edited date, and its trigger
2Shared triggersOpen each workflow, read the trigger blockTwo or more published workflows on the same form, stage, tag or appointment event
3Re-entry and wait stepsWorkflow settings and Enrollment HistoryAllow re-entry turned on, and drips with contacts sitting in wait steps
4Send steps and from numbersSMS and email actions inside each workflowWhich number and which sender each message uses
5TagsSettings, Tags, plus a smart list per tagDuplicates by spelling, tags nothing reads, tags with zero contacts
6Custom fields and valuesSettings, Custom Fields and Custom ValuesFields nothing writes to, values with stale phone numbers or prices
7Pipelines and stagesOpportunities, PipelinesPipelines with no open opportunities, stages that no workflow moves into or out of
8CalendarsCalendars, SettingsTime zone, assigned users, confirmation and reminder workflows attached
9Phone numbersSettings, Phone NumbersWhich number is default, which are unused, which have forwarding set
10A2P and walletSettings, Phone Numbers, Trust Center; Billing, WalletCampaign status, numbers attached to the campaign, auto-recharge on
11IntegrationsSettings, Integrations; Marketplace apps; webhook actionsConnected Google, Facebook, Stripe, QuickBooks accounts and where webhooks point
12Users and permissionsSettings, My StaffFormer employees, former agencies, and who owns the agency account

Checks 1 to 4: workflows and triggers

The workflow list in GoHighLevel shows name, status and last modified date but not the trigger, so you open each one. Put the trigger in a column next to the workflow name and sort by it. In the 160-workflow account, sorting by trigger showed form submissions and stage changes that each started more than one published workflow, and more than one of those sent a welcome text.

Check 3 matters because of how GoHighLevel handles edits. A workflow with a seven-day wait step can hold hundreds of contacts, and Enrollment History shows you who is inside it. If you pause and republish that workflow, every waiting contact advances at once. So during the audit you only read; you do not republish anything that has people in a wait step. Check 4 explains the "texts from a different number" complaint: a send step that uses the sub-account default number instead of the number the contact texted.

Checks 5 to 8: tags, fields, pipelines and calendars

Settings shows the tag list, but the useful count comes from building a smart list filtered on each tag. The 242-tag account had dozens of tags with zero contacts and groups like "Booked", "booked" and "Appointment Booked". More important than the count is the second column of your sheet: which workflow or smart list reads the tag. A tag that nothing reads is not automation, it is a sticky note, and it can be merged without breaking anything.

Custom values hide a different problem. They are account-wide variables (a phone number, an address, a price) that templates and workflows reference, and inherited accounts often still carry the previous agency's booking link or an old office number. Pipelines get the same treatment as tags: a pipeline with no open opportunities and no workflow moving contacts into it can be archived. Calendars need their time zone checked against the sub-account and the assigned user, which is the usual cause of reminders arriving at the wrong time.

Checks 9 to 12: phone, A2P, integrations and people

A workflow can be perfectly built and still send nothing. Under Settings, Phone Numbers, the Trust Center shows whether the A2P 10DLC brand and campaign are approved and which numbers are attached to the campaign. A number bought last month and never attached will fail on every send. Wallet auto-recharge turned off produces the same symptom on a different day of the month.

Integrations are the last technical check because they cross the account boundary. Note every connected Google or Facebook account (whose login is it?), every Stripe connection, and every outbound webhook action inside a workflow, because those point at a Zapier or Make scenario that may belong to a previous vendor. Then look at users. Former employees with admin seats, and especially a former agency that still owns the agency-level account your sub-account lives under, are the highest-risk item in the whole list, because they decide whether you can ever move.

What to fix first, and what not to touch yet

Order the list by what can hurt a customer. Shared triggers that send messages come first. Then re-entry settings, then send-step numbers, then A2P and wallet. Tag and pipeline cleanup is safe and satisfying but changes nothing a customer sees, so it goes last.

For workflows, switch to draft rather than delete. Draft stops new contacts from entering and keeps the build, so if a form stops getting a reply you republish in seconds. Give it two or three weeks before deleting. For tags, merge by adding the surviving tag to every contact that has the duplicate, updating the workflows that filter on the old spelling, and only then removing the old tag. Do the workflow filters before the tag removal or the filter silently matches nobody.

What Yotomations would do first

We ask for a user seat, agree in writing not to publish or delete anything, and run these twelve checks. You get the filled-in sheet, a fix list ordered by risk, and a fixed price for the cleanup, not an hourly estimate. The GoHighLevel audit and cleanup service is scoped that way on purpose: you should know what is wrong and what it costs before anyone changes a live workflow. If you would rather talk it through first, book a free discovery call and bring the login.

Yaakov (Koby) Oranski, Founder and CEO of Yotomations

Certified GoHighLevel Admin and Partner. Koby designs CRM migrations, two-way integrations, billing systems and AI agents for service businesses, and writes from the engagements described on this site.

Published

Frequently asked

How do I audit a GoHighLevel account I did not build?

Ask for a user seat with admin permissions but agree with the owner that you will not publish, delete or edit anything for the first pass. Then work through the twelve checks in this article in order: workflows and triggers first, then tags and fields, then pipelines and calendars, then phone, A2P and integrations. Write down what each item does before deciding what to change.

Should I delete unused workflows in GoHighLevel?

Not on the first pass. Switch a workflow to draft instead, which stops new contacts entering it but keeps the build. If a form stops getting a reply or a reminder goes missing, you can republish in seconds. Delete after two or three weeks of nothing breaking.

How many tags is too many in GoHighLevel?

There is no hard limit, but when the tag list is longer than anyone on the team can explain, the tags have stopped being useful. The practical test is to list every tag with the workflow or smart list that reads it. Tags that nothing reads are memory, not automation, and can be merged or archived.

How long does a GoHighLevel audit take?

For a single sub-account with under two hundred workflows, a first pass that inventories triggers, tags, pipelines, calendars and phone setup takes about 90 minutes. Writing up the fixes and ordering them by risk takes another hour or two. Agency accounts with many sub-accounts take longer because each sub-account is audited on its own.

Keep reading

Is this happening in your account?

Book a 30-minute call. We look at the account live and tell you what is broken, what we would fix first and what it would cost.

No pitch deck. We look at your current setup and tell you what we would do and what it would cost.

Need more than GoHighLevel? Yotomations, our parent company, also builds AI agents, custom software and websites.