On this page

How to Copy a GoHighLevel Pipeline Automation Between Accounts

A pipeline automation is bound tighter to its pipeline and stages than almost any other workflow type, which is exactly why a raw copy lands in a new account pointing at nothing. Here is how to move one so the pipeline and every stage are remapped by name.

A pipeline automation is one of the most useful things you can build in GoHighLevel — and one of the most account-specific. It watches opportunities as they move through a pipeline and reacts to each stage: send a follow-up when a deal reaches "Proposal Sent", assign an owner at "Negotiation", notify the team when it lands in "Won". That tight binding to a particular pipeline and its stages is what makes it powerful in one account and fragile the moment you try to move it to another. This guide explains why that happens, and how to copy the automation so the pipeline and stages are rewired to the destination rather than left dangling.

What a pipeline automation does

A pipeline automation is simply a workflow whose trigger or actions depend on where an opportunity sits in a pipeline. The common shapes are a trigger that fires on Opportunity Stage Changed or Opportunity Status Changed, and actions that create or move an opportunity into a specific stage. Around those sit the usual pieces — waits, if/else branches, notifications, tasks — but the part that defines the type is the dependence on one named pipeline and its ordered stages.

Captured faithfully, that is a genuinely valuable build: a repeatable sales or onboarding sequence that keeps every opportunity moving without anyone remembering to nudge it. ExportGHL captures the whole thing — every trigger, every action in order, waits, branches and settings — the same way it treats any other workflow type. There is nothing pipeline-specific about how it is saved; the difference shows up only in what has to be remapped on the way into a new account.

Why pipeline and stage ids break across accounts

A workflow is not a self-contained document. When a step says "move to Proposal Sent", GoHighLevel does not store the words "Proposal Sent" — it stores an id that points at that exact stage, inside that exact pipeline, in the account where the workflow was built. The pipeline itself is stored as an id too.

Drop that raw workflow into a second account and both ids point at nothing. The destination has its own pipelines and its own stages, each with completely different ids, even when the names are identical. The copied automation still has the right shape in the editor, but its trigger is listening for a stage that does not exist there and its actions are trying to move opportunities into stages the account has never heard of. In practice the steps fail silently: opportunities never move, the trigger never fires, and nothing in the builder tells you the workflow is quietly broken. This is the gap ExportGHL Workflows is built to close.

The references this workflow type leans on most

Every workflow type carries account-scoped references, but a pipeline automation leans on the two that are hardest to get right. In rough order of how much this type depends on them:

  • The pipeline — the container the whole automation is organised around. Match this wrong and nothing else lines up.
  • The stages — the individual steps inside that pipeline. These are the most remap-sensitive references of all, because a single automation often touches several of them, and each one has to resolve independently.
  • Supporting references — tags, users, custom fields and calendars that the surrounding actions use (assign this owner, add this tag, update this field). They matter, but they are shared with every other workflow type rather than specific to this one.

Because stages carry so much of the weight here, this type is a good stress test for name-based remapping. Get the pipeline and stage names lined up and most of the work is done; the rest is the same supporting-reference handling every workflow needs.

Cloning it with save and deploy

ExportGHL treats the copy as three steps — save once, a free readiness check, then deploy — so the same saved automation can be dropped into each account you manage without rebuilding it.

  1. Save the automation in the source account. Open the pipeline automation in the builder and save it to your cloud library. The full build is captured — the triggers, every action and its stage references, waits, branches and settings — and the original is left untouched.
  2. Open the destination account. Switch to the sub-account or agency you are copying into and go to its Workflows area, so the new copy is owned by the right account.
  3. Run the free readiness check. Before deploying, run the check: it previews which pipeline and stages will map, what the opt-in auto-create toggle can build for you, and what you must set up yourself — no credit spent and nothing deployed.
  4. Deploy as a new workflow. Choose the saved automation and deploy. Because it is a cross-account deploy, cross-account remap runs automatically, and ExportGHL rebuilds it as a new workflow with the pipeline and stage ids rewritten to the destination's own.
Deploy always creates a new workflow and never overwrites an existing one unless you deliberately choose to update it. You can copy a pipeline automation into a busy, live account without any risk of replacing an automation already running there. Save a workflow once and you can deploy it into each new account from the library — no re-saving.

How remap rewires pipeline and stages by name

On a cross-account deploy, remap runs automatically: ExportGHL reads every account-scoped reference in the automation and matches it to a record with the same name in the destination. For a pipeline automation it does this in two layers: first it finds the destination pipeline whose name matches the source pipeline, then it matches each stage inside it by name and rewrites those ids too. A trigger watching "Proposal Sent" ends up watching the destination's own "Proposal Sent"; an action that moves a deal to "Won" is rewired to the destination's "Won".

The supporting references — tags, users, custom fields, email templates — are matched by name in the same pass. The full logic, including how ties and near-matches are handled, is covered in the cross-account id remap guide, and the end-to-end move for any workflow type is in copy a workflow between accounts.

Matching stage names so more references land

Name matching is only as good as the names, and stages are where mismatches usually hide. Pipelines drift between accounts — a stage renamed from "Proposal Sent" to "Quote Sent", an extra "Follow-up" stage added, a different capitalisation. Each stage the remap cannot match by name is flagged rather than guessed, and if any references are still unmapped the automation is deployed as a draft instead of being published broken.

A draft never runs. You open it, see exactly which stages or supporting references need attention, either point each step at the right destination record or create the missing one, and publish when it is genuinely ready. The cleanest result comes from a quick pass before you deploy: make sure the destination pipeline exists and its stages are spelled the way the source spells them. Or flip on the opt-in auto-create toggle and ExportGHL builds any missing pipeline — with its stages — and missing tags for you in the destination, leaving only templates, calendars and users to set up by hand. If tags or custom fields are the ones coming up unmapped, see tags and custom fields not mapping for how to close those gaps.

Frequently asked questions

Can I copy a pipeline automation to another account?
Yes. GoHighLevel's native duplicate only copies a workflow inside the same sub-account, so it cannot move a pipeline automation to a different account. ExportGHL Workflows saves the automation to a cloud library and deploys it into the destination as a new workflow. On a cross-account deploy it automatically matches the pipeline and its stages by name and rewrites their ids, so the steps resolve against the destination's own pipeline instead of pointing at nothing.
Why do pipeline stages break when I copy the workflow?
Because a workflow stores each stage as an id that only exists in the account it was built in, not as the name you see. Move the raw workflow to another account and those stage ids point at nothing, so a step like "move to Proposal Sent" references a stage the destination has never heard of. The step looks fine in the editor but silently fails at runtime — the opportunity never moves.
Does remap match stages by name?
Yes. Cross-account remap matches the pipeline by name first, then each stage within it by name — "New Lead", "Proposal Sent", "Won" — and rewrites the source ids to the destination's matching ids. Stages are the most remap-sensitive references in this workflow type, so it pays to make sure the destination pipeline uses the same stage names before you deploy.
What if the destination pipeline has different stages?
Any stage the remap cannot match by name is flagged rather than guessed, and the workflow is deployed as a draft instead of going live broken. You open the draft, point each unmatched step at the right stage or rename the destination stage to match, then publish. A draft never runs, so a mismatched pipeline costs you a minute of cleanup, not a misfiring automation in a live account.

Move your first pipeline automation free

No credit card. Save it once, then deploy it into any account with the pipeline and every stage remapped for you.

Start free