On this page

Stop GoHighLevel Snapshots Overwriting Your Workflow Edits

A snapshot push is meant to ship improvements out to your linked sub-accounts — but the same mechanism can quietly roll back edits someone made inside one of those accounts. Here is how snapshot updates actually behave, what they can and cannot clobber, and how to move a specific workflow without putting anything live at risk.

If you build in GoHighLevel at agency scale, snapshots are how you keep clients on a shared system: you link each sub-account to a master snapshot, then push updates out as you refine the build. It is efficient, right up until the day a push lands and a workflow someone customised for one client looks the way it did weeks ago. The fear is real, and the mechanism behind it is specific. Knowing exactly when a snapshot update can overwrite a workflow — and when it cannot — is the difference between shipping updates confidently and dreading every push.

How snapshot updates affect linked accounts

A snapshot is a whole-account template: a point-in-time bundle of a sub-account's workflows, pipelines, custom fields, calendars, funnels and settings. When you create a new sub-account from a snapshot, that account can stay linked to it. Linking is what makes updates possible — it lets you push changes from the master snapshot out to every account built from it, so an improvement you make once reaches the whole fleet.

A push only touches accounts that are linked to that specific snapshot; an unlinked account is never affected by it. When you do push, GoHighLevel lets you choose which asset categories go out and how they are applied. That choice is the whole story here. Used carefully, a push is a clean way to roll out one new automation across many clients. Used without reading the options, it is how edits disappear.

Why local workflow edits can get overwritten

The risk comes from how a push matches assets. A snapshot update does not blindly dump everything; it looks at what already exists in the linked account and decides, per category, whether to add only new assets or to override matching ones with the snapshot's version. When override is in play and a workflow in the account matches one in the snapshot, the incoming version replaces it — and any edits made directly in that sub-account since it was created go with it.

That is the scenario agencies rightly dread. A client asked for a tweak to their nurture sequence, someone made it in the sub-account, and then a routine snapshot push — intended to ship a completely different new workflow — rolled that account's copy back to the master version. There is no per-workflow diff warning before it happens and no obvious changelog afterwards; the workflow simply reads the way the snapshot says it should, not the way the account last left it.

The gap to watch: a snapshot push is an account-level broadcast, not a per-workflow decision. If the push is set to override and a workflow matches, local edits lose — quietly. Any change made directly inside a linked sub-account is only as safe as the next push's settings allow it to be.

What survives and what gets clobbered

It is worth being precise, because not everything is at risk. A push configured to add only leaves existing assets untouched and simply drops in what is new. Workflows you built locally in a sub-account — ones that never existed in the snapshot and so match nothing in it — are generally left alone either way. Your contacts, conversations and the data a client has accumulated live outside the snapshot entirely and are never carried by a push.

What gets clobbered is the overlap: a workflow that exists in both the snapshot and the linked account, when the push is set to override that category. That is the collision point. And one honest caveat applies whichever way you move automations — sending infrastructure is per-account. The sending domain, from-address, phone number and A2P registration never travel with a workflow in a snapshot or anywhere else, so those connections always belong to the destination account on their own terms.

Moving specific workflows without a snapshot

The deeper issue is that a snapshot is the wrong instrument when the job is one or a few workflows into accounts that are already live. It is all-or-nothing and account-wide, so you cannot ship a single automation through it without accepting its push rules for everything else in that category. A per-workflow tool sidesteps that completely.

ExportGHL Workflows works at the level of the individual automation. You save a workflow from the source account to a private cloud library — capturing the full build: every trigger, every action in order, waits, branches and settings — then deploy it into a destination account when you need it. Save a workflow once and deploy it into each account that needs it, as a repeatable move from the library rather than a fleet-wide broadcast. Cross-account remap matches references — pipelines, stages, tags, users, custom fields, calendars and templates — by name in the destination and rewrites the ids, so steps resolve instead of opening blank.

Deploy creates new — it never overwrites by default

This is the part that directly answers the overwrite fear. Every deploy lands as a new workflow in the destination, sitting alongside whatever is already there. It does not match against and replace an existing automation the way a snapshot push can. Nothing a client depends on is touched unless you make a separate, deliberate choice to update a specific workflow — and even then it is one workflow you singled out, not a category-wide override applied silently.

Remap adds a second layer of safety. When it cannot confidently match a reference by name, it does not guess and it does not publish a broken step. It flags what it could not map and imports the workflow as a draft, so you review something that is wired up and paused, not something live with a hole in it. Between those two behaviours — new by default, draft when unsure — there is no path where a deploy quietly rolls back work you did not ask it to touch.

Keeping control of changes across accounts

In practice, the clean split is this: use snapshots for what they are built for — standing up new, empty sub-accounts from a known-good baseline — and be deliberate about linked pushes, reviewing the add-versus-override setting every time. For targeted changes into accounts that are already live, move the specific workflow with save and deploy instead, so each change is intentional and nothing else is disturbed.

A cloud library makes that repeatable: refine a workflow once, save it, and deploy it into each client as you are ready, keeping a clean reusable workflow template library rather than re-snapshotting everything. If you are weighing the two approaches more broadly, see snapshots vs workflow export, and for the step-by-step of a single move, read how to copy a workflow between accounts. Moving your first workflow is free, with no card.

Frequently asked questions

Can a snapshot update overwrite my workflow changes?
Yes, it can. If a sub-account is linked to a snapshot and you push an update, the incoming version of a matching workflow can replace the one in the account — including edits someone made directly in that sub-account since it was created. Whether a push overwrites or only adds depends on how it is configured, which is exactly why edits made inside a linked account should never simply be assumed to survive the next push.
Do linked accounts get overwritten on a snapshot push?
Only accounts linked to that snapshot receive the push, and what happens depends on the update settings you choose. A push can add new assets without touching existing ones, or it can override matching assets with the snapshot's version. The risk is that an update meant to ship one new workflow also rolls back local edits to others. Review the push scope carefully before you send it.
How do I move a workflow without risking an overwrite?
Move it per-workflow instead of through a snapshot. ExportGHL Workflows saves one workflow to a cloud library and deploys it into the destination as a new workflow, so nothing already in the account is touched. References like pipelines, tags and custom fields are remapped by name, and anything it cannot match is left as a draft rather than published broken.
Does ExportGHL ever overwrite an existing workflow?
Not unless you deliberately choose to. Every deploy lands as a new workflow in the destination by default, sitting alongside whatever is already there. Updating an existing workflow is a separate, explicit choice you make — never the default and never silent. That is the core difference from a snapshot push, where a matching asset can be replaced without you singling it out.

Ship changes without clobbering a client's edits

Deploy a workflow as a new automation — never an overwrite unless you choose one. Your first move is free, no card.

Start free