Everything you need to move off — or between — GoHighLevel accounts: export the front end of your funnels and sites, then clone the automations into the destination without rebuilding them by hand.
A GoHighLevel migration is really two jobs wearing one name. There is the front end — the funnels, websites, blogs and AI Studio pages your visitors see — and there are the automations that run behind them. GoHighLevel keeps both largely locked in: there is no native front-end export, and its native workflow copying is narrow — the plain Duplicate action only works within a single sub-account, and Copy Workflow to Sub-Account is limited to agency-admin users moving a draft between sub-accounts in their own agency. This guide is the hub for doing the whole move properly. It walks the full path end to end, then links out to the deeper step-by-step guides for each piece.
The lock-in is structural, not accidental. When you build a funnel in GoHighLevel, the pages live inside the platform's page builder — there is no "download site" button, and copying the HTML out of the editor gives you broken markup with none of the assets. Workflows are nearly as stubborn: the plain duplicate action only works inside the same sub-account, and the native Copy Workflow to Sub-Account only moves a draft between sub-accounts in your own agency for agency-admin users. The moment you need an automation in a different agency, as a non-admin, or cleanly remapped into an account that already has live data, you are rebuilding it trigger by trigger, action by action. For an agency with dozens of client builds, that rebuild cost is what keeps everyone stuck.
Account-level snapshots look like an answer, but they copy a whole-account template, not individual pieces. They are fine for stamping out a fresh sub-account from a blueprint, and poor for moving one or a few workflows into an account that is already live with its own pipelines, tags and clients. We cover that trade-off in detail in snapshots vs workflow export.
ExportGHL is a suite built around exactly this split. ExportGHL Sites takes the front end; ExportGHL Workflows takes the automations. You run both from one login, and you can do them in either order — though exporting the pages first gives you a visual reference while you check that the cloned automations point at the right forms and tags.
ExportGHL Sites works by capturing the rendered snapshot of each page — the finished HTML, CSS and JavaScript exactly as a browser produces it, bundled with images and fonts. Because it reads the rendered output rather than scraping the builder, it handles JS-heavy pages and AI Studio pages that simpler scrapers choke on, and it can crawl hidden or unlinked pages when you give it the URLs.
The output is portable and dependency-free — no GoHighLevel runtime, no platform account required to serve it. Other front-end exporters such as VibeEscape and GHL Escape Kit cover similar ground but more narrowly; Sites is built to handle the awkward page types and hidden pages that break them.
This is the half that normally eats the week. ExportGHL Workflows saves a workflow to a cloud library and then deploys it into another account as a new workflow — it never overwrites an existing one unless you explicitly choose to update. The hard problem it solves is that a workflow is full of ids that only exist in the source account: it references specific pipelines, stages, tags, users, custom fields and calendars. Copy the raw workflow JSON to a new account and every one of those references is dangling.
Workflows' cross-account id remap rewrites those references, matching each one by name in the destination — the "New Lead" pipeline in the source maps to the "New Lead" pipeline in the target, and so on. Anything it cannot match is not silently dropped: the workflow is deployed as a draft, so a missing tag or an unmapped calendar never goes live half-broken. You review the draft, fix or create the missing piece, and publish. This is the capability the JSON-based tools do not have: GHL Workflows Pro offers a cloud workflow library and one-click import across locations, but it does not rewrite source-only ids, so you still re-point every reference by hand. (Super Cloner, despite its name, clones funnel and website pages, not workflows, so it is not a workflow tool at all.)
For the mechanics of a single move, see how to clone a workflow, and for moving automations into an account that is already live, copy a workflow between accounts. To save a workflow to a library and deploy from it, see how to export your GoHighLevel workflows (automations).
The most common real migration is an agency handing a build to a client, or splitting a client out onto their own account. The pattern is the same every time: export the client's funnels and sites with Sites so they have a portable copy they own, then clone the automations into the client's destination account with Workflows. Because remap matches by name, the cleanest handoffs are the ones where the destination already has its pipelines, tags and custom fields named to match the source — so it pays to set those up first, then let remap connect everything in one pass. Draft deployment means you can hand over, review together, and publish only once the client confirms the automations behave.
Set expectations up front. ExportGHL moves pages and automations; it does not move your contact database, conversation history, call logs or opportunity records. Those live in GoHighLevel's CRM and come out through GoHighLevel's own contact and data exports when you choose to move the database itself. Keeping these as separate steps is deliberate — it means nothing in your live account is touched while you export and test the pieces, and you cut over the data last, once the pages are hosted and the workflows are published.
Start free — export a page and move up to 3 workflows on your own account, no card required. See exactly how your migration will go before you pay.
Start free