Skip to content

Guides / How to export a workflow

GoHighLevel to JSON: How to Export Workflows (and Back Them Up)

GoHighLevel has no native one-click export of a workflow as a JSON file — snapshots copy whole sub-accounts, not single workflow trees. To get a true workflow JSON you need a browser extension: open the workflow, click Export in the GHL Workflow Backup & Audit extension, and a clean JSON file downloads. That JSON also converts to Excel for audits.

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 $19.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.

GoHighLevel to Excel or CSV (from the JSON)

The JSON is the backup. A spreadsheet is what you hand someone who has to read it.

  1. Export the workflow JSON.
  2. Excel: Data → Get Data → From File → From JSON. Power Query opens the file and you expand the nested levels down to the rows you want. Excel 2016 and later, including Mac.
  3. Google Sheets: run the file through any JSON-to-CSV converter first, then File → Import the CSV. Sheets’ import accepts .csv, .tsv, .xlsx and .ods — not .json — so handing it the export directly gets you nothing.
  4. Keep the JSON as the backup; the spreadsheet is the readable audit copy.

A workflow is a tree, not a table, so neither route drops out as tidy rows of triggers and actions on the first click. Expect to expand a few nested levels and to end up with one sheet per branch rather than one row per step. That is still far faster than retyping a workflow into a doc, which is the alternative.

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

Can you export GoHighLevel workflows to JSON?

Not natively — GoHighLevel has no one-click workflow JSON export. The GHL Workflow Backup & Audit Chrome extension exports single workflows or whole folders as clean JSON files.

How do I convert GoHighLevel JSON to Excel or CSV?

Import the exported JSON file into Google Sheets or Excel, or pass it through any JSON-to-CSV converter. The JSON is the backup; the spreadsheet is the readable audit copy.

What is the difference between a snapshot and a JSON export?

Snapshots package whole sub-accounts for deployment and cannot restore one workflow tree, while a JSON export is a per-workflow file you can version, diff, audit and re-import.

Is there a free way to try it?

Yes — the free tier includes 5 single exports, 1 bulk export and 5 single imports before the one-time license is needed.

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.

Install free from the Chrome Web Store (opens in a new tab)

5 single exports, 1 bulk export and 5 single imports free. Pricing and what the license adds are on the product page.

Would rather not do it yourself? I also take GoHighLevel workflow builds as scoped, fixed-price work.

More on this: Snapshots vs real backups · all guides