Skip to content

Guides / How to export a workflow

How to export a GoHighLevel workflow

Quick answer: you can’t, natively. GoHighLevel has no export button and its API doesn’t return the step-tree. Your three real options are screenshots (loses all settings), an account Snapshot (complete but clunky), or an extension like GHL Workflow Backup & Audit that saves the full configuration as JSON in about ten seconds.

A GoHighLevel workflow exported as clean JSON by GHL Workflow Backup & Audit

Why there’s no export button

Workflows live inside the sub-account editor as editable state, not documents. You can duplicate one within the same account, but there’s no download, and the public API doesn’t return the step-tree either. That’s fine until someone changes a branch on Tuesday and by Friday nobody remembers what it did.

Method 1: Screenshots

Open the workflow, zoom out, screenshot. Maybe also click into each step and photograph its settings panel.

Works for: a one-off record that a workflow exists and roughly what it does.

Fails at: everything else. Settings hidden behind dropdowns never make it into the shot: wait steps, filters, custom values, notification bodies. You can’t compare two screenshots to see what changed, and rebuilding from one means retyping the whole thing.

Time cost: 10 to 20 minutes per workflow. Fidelity: low.

Method 2: The Snapshot trick

Agency plans can export a sub-account as a Snapshot: a packaged template of the entire account (workflows, funnels, pipelines, calendars, custom fields) that imports into another sub-account.

Works for: cloning a whole account setup, or moving everything to a fresh sub-account.

Fails at: single-workflow backup. It’s all-or-nothing per asset group, a Snapshot is a deploy artifact rather than a readable record (no diffing month-over-month), and importing one to “restore” a workflow drags every other included asset along with it. It also requires agency-level access, so contractors working inside someone else’s agency can’t use it at all.

Time cost: 15 to 30 minutes plus import cleanup.

Method 3: An extension that reads the builder

GHL Workflow Backup & Audit pulls the complete step-tree of whichever workflow you have open (every node, trigger, branch and setting) and saves it as clean JSON.

  1. Install from the Chrome Web Store.
  2. Open any GoHighLevel workflow in the builder.
  3. Click the extension icon. The JSON lands in your Downloads folder.
  4. Optional: select whole folders for a bulk export in one run.

What you get: nodes in execution order, triggers with filter conditions, published/draft status, settings-tab metadata, and readable names instead of raw IDs. Files are named like Workflow Name - a1b2c3 - 2026-08-16_14-30-02.json, so a folder of exports is itself a version history.

Because it’s structured data, you can diff two exports to see what changed, drop one into an AI assistant and ask what the workflow does, or hand a client a readable record. Free tier covers 5 single exports and 1 bulk export; after that it’s $14.99 once.

Honest limits: the extension reads the data the builder loaded, so if GoHighLevel changes their app, capture can break until we ship a fix. Open an export and glance at it before treating it as your only backup; that advice applies to every method on this page.

Which one should you use?

ScreenshotsSnapshotThis extension
Captures every setting
Single workflow only
Readable / diffable later
Works on non-agency accounts
Time for one workflow10-20 min15-30 min~10 sec

Rule of thumb: Snapshots for deploying account templates to new clients. JSON exports for knowing what your automations say and keeping history. Screenshots for neither. Related: Snapshots vs real backups, in depth.

FAQ

Does GoHighLevel have a native workflow export?

No. Workflows can be duplicated within an account but not downloaded, and the public API doesn’t return the step-tree.

Can I copy a workflow to another sub-account?

Not natively across locations. A Snapshot moves the whole account; for one workflow, export its JSON and rebuild from that.

Is exporting safe? Will it change my workflow?

Every method here is read-only. Nothing writes back to GoHighLevel.