GoHighLevel Sub-Account Backup & Restore (2026) — HL Growth Partner, Dr Priya Jaganathan

GoHighLevel Sub-Account Backup & Restore (2026)

September 21, 2026

By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 21 September 2026 · 10 min read

A proper GoHighLevel sub-account backup does not exist as a single button, and every agency that assumes otherwise finds out at the worst possible moment. Snapshots look like backups. They are not. They carry the build, not the business.

This piece sets out exactly what GoHighLevel can and cannot restore, verified against HighLevel's own help documentation, and then gives you a weekly and monthly routine an Australian agency can actually run. The honest framing first: GoHighLevel is a CRM and marketing platform, not a backup product. Recovery is your job.

Quick Facts

What a snapshot copiesConfiguration assets only — Workflows, triggers, funnels, forms, calendars, custom fields, custom objects, pipelines, tags, dashboards (HighLevel help documentation, 2026)
What a snapshot never copiesContacts, conversations, messages, appointments, reputation data, Stripe connections and third-party integrations (HighLevel help documentation, 2026)
Sub-account deletion grace period24 hours to reverse; after that the deletion is permanent (HighLevel help documentation, 2026)
Deleted contact restore windowUp to 60 days from Bulk Actions — but conversations, notes and tasks do not come back with the contact (HighLevel help documentation, 2026)
Workflow version historyLast 10 versions or 30 days; restoring creates a new draft rather than changing the live Workflow (HighLevel help documentation, 2026)
Contact CSV export availabilityExport jobs run server-side and the finished file stays downloadable for 30 days (HighLevel help documentation, 2026)
API v2 limits for scheduled exports100 requests per 10 seconds burst and 200,000 requests per day, per Marketplace app per resource (HighLevel developer documentation, 2026)

Why a snapshot is a template, not a HighLevel backup and restore plan

HighLevel's own snapshot overview describes snapshots as reusable templates that capture selected configuration assets. That wording is deliberate: a snapshot clones a system, it does not preserve a client's history.

The copyable asset list is genuinely broad: Workflows and triggers, funnels and websites, forms, surveys, calendars and services, custom fields, custom values, custom objects, pipelines, tags, trigger links, email and text templates, dashboards, custom reports and membership products.

The exclusion list is where agencies get hurt. Contacts, appointments, conversations, conversation history, messages, reputation data, live account activity, Stripe connections, third-party integrations, private dashboards and contact-to-contact associations all stay behind.

What that means in practice

Rebuild a client's sub-account from a snapshot after a disaster and you get a working machine with no memory. Every lead, SMS thread, call recording, booked appointment and form submission is gone. For a lead-gen client running twelve months of Meta traffic, that is the entire asset.

What a snapshot carries versus what you have to back up yourself

AssetIn a snapshot?Your backup method
Workflows, triggers, funnels, forms, calendarsYesSnapshot refresh, plus Workflow version history
Custom fields, custom values, custom objects, pipelines, tagsYesSnapshot refresh
Dashboards and custom reportsYes (private dashboards excluded)Snapshot refresh; rebuild private dashboards manually
Contacts and custom field valuesNoScheduled CSV export or API v2 pull
Opportunities and pipeline stage historyNoOpportunity CSV export or API v2 pull
Conversations, SMS and email threadsNoAPI v2 only — no native bulk CSV
Call recordings and voicemailNoPull recording URLs via API and store them yourself
Form and survey submissionsForm definition yes, submissions noCSV export from the submissions page
Appointments and booking historyNoAPI v2 calendar events pull
Media library filesNot listed as a copyable categoryDownload and mirror in your own storage
Stripe, Meta, Google and Twilio connectionsNoDocumented reconnection runbook

Read that table as a work list. Every row marked "No" is a job your agency owns, for every client.

The restore windows that actually exist inside GoHighLevel

GoHighLevel does ship some genuine recovery features. They are narrow, and knowing the exact edges is the difference between a shrug and a lost client.

Deleting a sub-account

HighLevel's documentation gives a 24-hour grace period on sub-account deletion. Miss it and the contacts, messages, campaigns and settings are gone.

Pause the sub-account instead of deleting it. There is no upside to deleting a departing client's account on the day they leave. Build the pause-then-export sequence into your GoHighLevel client offboarding and data export process.

Deleted contacts

Deleted contacts can be restored from the Bulk Actions page for up to 60 days, including bulk deletions. That is a real safety net for a mis-filtered smart list.

But the documentation is explicit about the catch: restoring a contact does not restore the associated conversations, notes and tasks. You get the record back, not the relationship history.

Version history on funnels and Workflows

Funnels and websites carry auto-save and version history. Workflows have their own version history with a timeline showing who edited what, when, and whether the version was draft or published.

The limits matter: roughly the last 10 versions or 30 days, restoring produces a new draft rather than changing the live Workflow, and the Workflow must be in draft with no enrolled contacts to restore.

Restoring a Workflow changes what happens next. It does not unsend the emails, untag the contacts or reverse the pipeline moves the broken version already made.

The exports that do the real backup work

Contacts

Contact export now runs as a queued server-side job tracked from the Bulk Actions dashboard, and the finished file stays available for 30 days. You choose which fields to include, so include everything: name, email, phone, tags, source, date created and every custom field.

Export from the full contact list, not a filtered smart list. A filtered export is the single most common way agencies think they have a backup and do not.

Keep field naming stable across sub-accounts, because a restore is just an import in reverse and the same rules apply as in any GoHighLevel contact import and CSV mapping exercise.

Opportunities

Opportunities export separately from contacts. A contacts-only backup loses every deal value, stage and pipeline position, which for most B2B clients is the commercially important half of the CRM.

Form and survey submissions

The submissions page lets you download the current page as CSV or use Export to receive an emailed link for the full set. Snapshots carry the form definition, never the submissions, so this export is not optional.

Custom objects

If you have modelled properties, vehicles, enrolments or jobs as custom objects, the structure travels in a snapshot but the records do not. Agencies that have gone deep on GoHighLevel custom objects for complex data beyond contacts need an API-based export routine from day one.

Using API v2 for scheduled GoHighLevel sub-account backup

Manual exports fail because humans forget. The only routine that survives a busy agency is a scheduled one.

API v2 exposes the endpoints you need: search contacts with advanced filters, search opportunities, search conversations, get messages by conversation ID, and calendar events. Point a scheduled job at those and write the JSON to your own storage.

Respect the published limits. HighLevel's developer documentation sets a burst limit of 100 API requests per 10 seconds and a daily limit of 200,000 requests, per Marketplace app per resource, where a resource is a location or company. Page slowly and stagger sub-accounts across the night.

Practical notes for the build

  • Store exports outside GoHighLevel — S3, Google Drive or a local NAS — never in the sub-account's own media library.
  • Download the audio behind call recording URLs; a URL in a JSON file is not a backup.
  • Name every file locationid_object_YYYY-MM-DD so a restore is a sort, not an archaeology dig.
  • Keep one monthly copy of each backup set for twelve months, and log every run.
  • Restrict who can trigger exports — an export is a full copy of client PII leaving the platform, which is a GoHighLevel sub-account permissions and user roles question as much as a technical one.

A weekly and monthly routine with an RTO mindset

Start from the only question that matters: if this sub-account vanished this morning, how long can the client be down and how much data can we afford to lose? That recovery time and recovery point objective sets the frequency of everything below.

Weekly

  • Automated API pull of contacts, opportunities, conversations and appointments for every active sub-account.
  • Export form and survey submissions for any client running live lead forms.
  • Check the previous week's job log for silent failures.

Monthly

  • Refresh the snapshot for each client build so the configuration backup is not twelve months stale.
  • Full contacts and opportunities CSV export as a human-readable fallback.
  • Download new media library assets added that month.
  • Review the integration reconnection runbook — Stripe, Twilio, Mailgun, Meta, Google — none of those reconnect themselves.

Quarterly

Do a restore drill. Spin up a throwaway sub-account, load the snapshot, import last week's contacts and opportunities CSV, and time it.

A backup you have never restored is a hypothesis, not a backup. The drill also surfaces drift between your snapshot and your live builds, which is the same discipline behind GoHighLevel snapshot updates and pushing changes.

Why this matters more in Australia right now

The OAIC reported 1,205 data breach notifications in the 2025 calendar year, the highest since the Notifiable Data Breaches scheme began in 2018 and an 8% increase on 2024. Agencies holding client CRM data are custodians of that risk, and an uncontrolled pile of CSV exports on a laptop is its own exposure.

Back up deliberately, store it encrypted, and delete old copies on a schedule.

The official references worth bookmarking are HighLevel's Snapshots Overview help article for the authoritative include and exclude lists, and the API v2 rate limits documentation before you build any scheduled export.

Common mistakes to avoid

  • Treating a snapshot as a backup. It restores the build and none of the client's data, conversations or history.
  • Exporting contacts from a filtered smart list and filing it as a full backup.
  • Forgetting opportunities entirely, then discovering the pipeline values were the only numbers the client cared about.
  • Leaving exports inside the same sub-account's media library, where they die with the account.
  • Deleting a departing client's sub-account on the last day instead of pausing it, with a 24-hour window and no rollback after that.
  • Never running a restore drill, so nobody knows whether the archive is complete until the day it must be.
  • Storing years of unencrypted client exports with no retention policy.

If you want a documented backup and recovery routine built across your whole GoHighLevel portfolio, book a strategy call with the HL Growth Partner team.

Book Your Strategy Call →

Frequently asked questions

Does a GoHighLevel snapshot back up my contacts?

No. HighLevel's documentation states that contacts, appointments, conversations, conversation history, messages and reputation data do not transfer in a snapshot. A snapshot copies configuration assets such as Workflows, funnels, forms, calendars, custom fields and pipelines. Contact data must be backed up separately by CSV export or API v2.

Can I recover a deleted GoHighLevel sub-account?

Only within the 24-hour grace period documented by HighLevel. After 24 hours the deletion is permanent and the contacts, messages, campaigns and settings cannot be retrieved. If a client relationship is ending, pause the sub-account and export the data before you consider deleting anything.

How long do I have to restore deleted contacts in GoHighLevel?

Deleted contacts can be restored from the Bulk Actions page for up to 60 days, including records removed in a bulk delete. Restoring the contact does not restore its associated conversations, notes or tasks. Treat the 60-day window as a safety net for mistakes, not as a backup system.

What is the difference between a snapshot and a real HighLevel backup and restore process?

A snapshot is a configuration template that rebuilds how a sub-account works. A real backup and restore process also preserves what happened inside it: contacts, opportunities, conversations, submissions and appointments. You need both, because a snapshot alone gives you a functioning but empty account.

Can I export GoHighLevel conversations and SMS history?

There is no native bulk CSV export for conversation threads the way there is for contacts. The reliable route is API v2, using the search conversations endpoint and then retrieving messages by conversation ID, and writing the results to your own storage. Budget for the published rate limits when you schedule it.

Does Workflow version history protect me from a bad edit?

Partly. Workflow version history covers approximately the last 10 versions or 30 days and lets you restore a previous version as a new draft. It does not reverse actions the faulty version already executed, so emails already sent stay sent and tags already applied stay applied.

How often should an agency back up GoHighLevel sub-accounts?

Weekly for data that changes constantly, meaning contacts, opportunities, conversations and appointments, and monthly for configuration via a snapshot refresh plus a full CSV export. Set the frequency from your recovery point objective: the gap between backups is exactly how much client data you are prepared to lose.

Sub-account structure and access

Data hygiene and structure

Agency operations

Dr PriyaJaganathan

Dr PriyaJaganathan

Dr Priya Jaganathan is a Go High Level Certified Admin, trusted CRM consultant based in Australia, and a keynote speaker at SaaSpreneur Sydney and Level Up 2025 in Dallas.

Back to Blog