| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A growing set of small Chrome extensions that export, back up, restore, and version-control every facet of a GoHighLevel (HighLevel) sub-account — one focused tool per facet, for agencies and operators who keep their sub-account configuration in git.
R&D purposes only. This toolset is built and published for research and development purposes only. The tools talk to undocumented, internal HighLevel endpoints that can change or break without notice, and this project is not affiliated with or endorsed by HighLevel. Verify everything a tool produces before relying on it anywhere real.
A toolbox, not a monolith. Each tool in this repo is a standalone Chrome extension living in its own folder, with its own manifest and its own README. You install only the tool you need, and each tool does exactly one job against the sub-account you already have open in a tab.
This is a deliberate design choice: rather than one bulk extension that migrates or dumps everything from a sub-account in a single pass, the toolset covers the account facet by facet — workflows today, the other surfaces as focused tools as the set grows. Small tools are auditable in one sitting, fail independently, and can be pointed at exactly the data you want without touching the rest.
The first tool is live:
| Tool | Extension | Status | What it does |
|---|---|---|---|
| ghl-workflow-tools | GHL Workflow Backup | Available | Exports every workflow in the current sub-account as re-importable JSON in a ZIP, and restores workflows from a backup — as new drafts or in-place overwrites |
| ghl-* — pipelines, calendars, custom values, templates, funnels, forms, and the rest of the account | — | Planned | One focused tool per facet; see Roadmap |
HighLevel has no built-in way to get a sub-account's configuration out as data you can diff, review, and restore. Agencies white-labelling GHL manage dozens of sub-accounts where a workflow edit is effectively irreversible — no history, no rollback, no code review.
Bulk export tools that exist are all-or-nothing: they assume you want everything, in one format, through one flow. Real operations need the opposite — pull the pipelines for a migration audit, snapshot the workflows before a release, diff custom values between two sub-accounts. That is a per-facet job, so this repo builds a per-facet toolset.
Every tool in the set follows the same contract, so behavior learned on one transfers to all of them:
About a minute, no build step:
git clone https://github.com/legioncodeinc/ghl-toolset.gitThen load the folder of the tool you want via chrome://extensions → Load unpacked, as in the quick start. Each tool's folder is self-contained; there is nothing to install or build.
Each tool has its own README with its exact flow — start with ghl-workflow-tools/README.md. The shared pattern across all of them:
A workflow backup session produces:
legendary-academy-<locationId>/
├── index.json # one entry per workflow: name, status, version, counts
├── snapshot.json # everything in one file, for diffing a release as a unit
├── README.md # provenance note, written into every export
└── workflows/ # one re-importable JSON file per workflow
The goal is a focused tool for every facet of a sub-account that can be read through the app's own session. Planned, in no committed order:
Each lands as its own folder here when it ships — not as modes piled onto an existing tool.
None, by design. No environment variables, no API keys, no options page — see .env.example for the rationale. Authentication travels with your signed-in tab and never leaves it.
Every tool is the same three-part shape (MV3, no build step):
flowchart LR
A[Popup UI<br/>popup.html/js] -->|chrome.scripting<br/>MAIN world| B[Injected agent fns<br/>agent.js]
B -->|borrows| C[App's own HTTP client<br/>window.SHELL_STORE.$http]
C -->|same-session GETs| D[GHL backend<br/>backend.leadconnectorhq.com]
B -->|results| A
A -->|deterministic ZIP<br/>zip.js| E[Download]
git clone https://github.com/legioncodeinc/ghl-toolset.git
cd ghl-toolset
node scripts/validate-manifests.mjsTo work on a tool: edit its folder, hit reload on its card in chrome://extensions, and re-run it against a test sub-account. To add a new tool: create a ghl-<facet>-<verb>/ folder with a manifest.json, popup, agent, and README following the contract above — the validator and the tool table in this README pick it up. See CONTRIBUTING.md for the full workflow and CLAUDE.md for the codebase conventions in depth.
node scripts/validate-manifests.mjsPassing looks like one ok line per tool manifest and exit code 0. This is the same check CI runs; beyond it, each tool is smoke-tested manually against a real (test) sub-account before release.
Releases are published by pushing a v<x.y.z> tag: the Release workflow validates every manifest, packages each tool folder as a ZIP (with a checksums.txt), and publishes a GitHub Release using that version's CHANGELOG section as the notes. To install from a release: download the tool's ZIP, unzip it, and load the resulting folder via chrome://extensions → Load unpacked. Extensions loaded unpacked never auto-update — a new release means downloading the new ZIP and replacing the folder. Chrome Web Store distribution is out of scope for this project. Exported data never transits any server — it goes from the browser tab to the ZIP on disk.
PRs welcome, especially for the roadmap facets above — one tool per PR, following the shared contract. See CONTRIBUTING.md for branching, commit conventions, and the local gate before opening a PR.
GHL Toolset is licensed under the GNU Affero General Public License v3.0. Each tool in the set carries the same license.
Copyright (c) 2026 Legion Code Inc.
| Back | FazBrowse Home | New Git URL |