AgencySnapshotHQ

How-toSeptember 5, 2026· 9 min read

How to create a GoHighLevel snapshot you can install more than once

Creating a snapshot takes two minutes. Creating one that installs cleanly into an account it was not built in takes preparation — here is exactly what that preparation is.

The HQ deskBuild team, AgencySnapshotHQ

THE SHORT VERSION

  • Snapshots are created from the agency view with a sub-account as the source — never from inside a sub-account.
  • The two minutes of creating it are trivial. The hour of preparing the source account is the entire job.
  • Every client-specific string becomes a custom value before you take the snapshot, not after somebody complains.
  • A share link makes the snapshot importable by other agencies — and those installs can never receive your updates.

Creating a GoHighLevel snapshot is a two-minute operation: go to the agency view, choose a sub-account as the source, name it, save.

That is not the job. The job is everything you do to the source account before those two minutes, because a snapshot is a photograph and it will faithfully capture whatever mess is in frame.

Here is the preparation, in the order that makes it least painful.

Step 0 — decide what this snapshot is for

Three different intentions produce three different snapshots, and mixing them is the mistake underneath most of the others.

  • A client-facing vertical system you will install into many client accounts.
  • Your own agency’s operating system — proposals, onboarding, retention.
  • A component — just a review engine, or just a reactivation campaign — meant to be installed alongside other things.

They cannot be the same file. The difference between the first two is worked through in the GoHighLevel agency snapshot, and it is worth settling before you build anything.

For the rest of this, assume the first: something you will install repeatedly, into accounts you have not seen yet.

Step 1 — build in a clean source sub-account

Create a sub-account that exists only to be the source. No real contacts, no live phone number, no connected payment account, no client data.

The reason is not tidiness. It is that snapshots are taken from a whole account, and an account that has been used for real work carries residue — test contacts, an old workflow somebody disabled rather than deleted, a calendar assigned to a contractor who left. All of it travels.

If you are adapting somebody else’s snapshot, import theirs into this clean account, customise there, and take your snapshot from it. That account is now your canonical source and the vendor’s link is upstream of it, not the thing you deploy.

Step 2 — prefix every asset name

Before you build anything, pick a short identifier and put it in front of every asset name: workflows, funnels, pipelines, custom fields, forms, calendars, templates.

Importing adds rather than replaces. Without a prefix, your snapshot’s “Follow Up” workflow lands next to whatever “Follow Up” was already in the account, and neither of you can tell them apart in a trigger dropdown a year later. With a prefix, anyone opening the account can see at a glance which assets are yours and which the client added — which is also what makes “clients do not edit snapshot assets” an enforceable rule rather than a hope.

Do this first. Renaming forty assets afterwards is an afternoon.

Step 3 — extract every client-specific string into a custom value

This is the step that decides how long each install takes, and it is the one people skip.

Go through every email body, SMS body, funnel page, calendar description, form confirmation and workflow note, and find anything that would differ for a different business:

  • Business name, phone, address, hours
  • Booking link, website, review links
  • Service list, price points, the offer
  • The owner’s name and the sending signature
  • Seasonal or geographic references

Every one becomes a custom value, defined once and referenced everywhere. The install then becomes filling in a form rather than searching forty assets and missing four of them. The four you miss are the ones that go out to a client’s customers signed with the wrong company name.

Write the list of custom values down as you go. That list is half of your install guide, and it is the single most useful artefact the whole build produces.

Step 4 — list what cannot travel

Snapshots carry configuration, not connections. These never come with, no matter what you do:

  • Contacts and conversation history
  • Reporting data
  • Phone numbers — and their A2P registration
  • Sending domains and their authentication
  • Connected payment accounts
  • Google Business Profile connections
  • Users, and therefore user assignments on calendars and pipelines

So anything referencing one of those arrives pointing at nothing. A calendar assigned to you personally arrives assigned to nobody. A workflow step sending from a specific number arrives sending from nothing.

You cannot eliminate this. What you can do is write it down — a per-vertical reconnection list that says exactly what has to be wired up after every import. Combined with the custom values list, that is your complete install guide, and it is the difference between a product and a file. What to do with it at import time is in how to install a GoHighLevel snapshot.

Step 5 — make the automation branch

A snapshot that sends everyone the same three messages is the cheapest part of the build to reproduce and the least worth acquiring. The value is in the branch points:

  • Replied or did not
  • Booked or did not
  • Showed or did not
  • Bought or did not
  • Satisfied or not — before any public review link is ever sent

That last one matters more than it looks. Firing a Google review request at every completed job unconditionally is how a business collects one-star reviews at scale. Check satisfaction first, send public links only to the satisfied, escalate the rest internally.

The no-show branch is the highest-value single automation in most verticals, because a missed appointment is bookable revenue that already said yes once. Ours target a 70% no-show recovery rate as the system’s design target — your own rate will depend on your niche, your call timing and your reschedule offer.

Step 6 — audit the source account before you take the snapshot

A short pass that catches most of what would otherwise ship:

  • Delete test contacts and disabled experiments rather than leaving them.
  • Open every workflow and confirm no step references a specific number, user or external URL that is not a custom value.
  • Confirm every calendar’s availability and assignment is generic.
  • Check every funnel page for hard-coded links to your own domain.
  • Confirm nothing notifies you — internal notification steps pointing at your inbox or Slack will notify you for every client, forever.
  • Turn off anything you do not want firing the moment it lands in a live account.

That last point is worth stating plainly: a snapshot should arrive with its campaigns off, or with the sequencing documented, so an install does not start blasting a freshly imported contact list.

Step 7 — create it, then version it

Now the two minutes. Agency view, choose the source sub-account, name it, save.

Put a version in the name. Once the snapshot is installed in more than about three accounts, “which accounts have the new reminder sequence?” becomes a question you have to be able to answer, and the name is where the answer lives. Keep a three-line changelog per version: what changed, what was removed, what needs manual cleanup.

The whole update mechanic — refresh, push, and the four things a push will not do — is in how to update a GoHighLevel snapshot. Read it before your first push, not after.

You can generate a link that lets anyone import your snapshot into their own agency. Two consequences follow, and both are permanent.

Your updates can never reach those installs. Push updates travel only within your own agency. Anything imported by an external agency is a fork from the moment it lands.

You lose control of it. A share link can be forwarded, and there is nothing in the mechanism that distinguishes a customer from anyone the link was passed to.

For your own client accounts, install from inside your agency instead — same result, and the update path stays intact. Save share links for genuine external distribution, and price accordingly.

If the build is bigger than the time you have

The preparation above is roughly a day per vertical done properly, and it is a day that pays back on every install afterwards. If it is not a day you have, a custom snapshot build is that work specified around your delivery process and built for redeployment from the start. Anything that needs to talk to systems outside GoHighLevel — a booking platform, a PMS, a proprietary database — is integration and API work and gets scoped separately, because it genuinely is a different discipline.

Or start from a built one. Every snapshot in the library already carries the prefix, the custom values list, the reconnection list and the branch logic, in 21 verticals — and it is often cheaper to licence one and adapt it in your own canonical source than to build the same structure from an empty account.

Questions on this

Where do I create a snapshot in GoHighLevel?
From the agency view, not from inside a sub-account. You select a sub-account as the source, name the snapshot and save it. Creating it at agency level is what makes it available to install across your other sub-accounts and to share by link.
What does a snapshot include and exclude?
It carries configuration: funnels and websites, workflows, pipelines, custom fields and values, forms, surveys, calendars, tags and templates. It does not carry contacts, conversation history, reporting data, connected payment accounts, phone numbers, sending domains or user accounts — anything that is a connection rather than a configuration stays behind.
Should I share my snapshot by link?
Only deliberately. A share link lets anyone with it import your snapshot into their own agency, where your future updates can never reach it, and where you have no control over how it is used or resold. For your own client accounts, install from within your agency instead so the update path stays intact.

BRF-02 // MENTIONED

Snapshots referenced in this piece

Auto repair & service

Auto Repair Shop Snapshot

Declined work followed up, service intervals remembered, bays kept full.

  • AI Receptionist
  • Workflows
  • Reviews

$1,140

agency licence

12 min

to import

Childcare & early years

Childcare Centre Snapshot

Enquiries answered warmly, tours booked and attended, waitlists that convert.

  • AI Receptionist
  • Workflows
  • Reviews

$890

agency licence

12 min

to import

Painting & decorating

House Painting Contractor Snapshot

Quote requests answered instantly, estimates followed until they are won or dead.

  • AI Receptionist
  • Workflows
  • Reviews

$1,190

agency licence

12 min

to import

BRIEFING // NEXT STEP

Skip the reading and take the shortcut.

Everything in this piece is already built into the AgencySnapshotHQ library. 21 snapshots, nine components each, unlimited sub-accounts and written install guides.

Unlimited sub-accountsWritten install guidesUpdates included