Skip to main content
The script that books for one roofing client will probably book for the next. Clone copies a campaign, and optionally its agent, so you start from what works. The copy is yours to change. If you need twenty copies that must stay identical, use a Master Agent instead.

Prerequisites

  • The id of the agent whose campaign you are copying.
  • The locationId of the target project. It can be the same project. See Agencies, projects and sub-accounts.
  • The target project is connected. A disconnected project cannot receive a campaign.
  • An API key with agents:write.

Step 1: Choose what to copy

Pick everything when in doubt. It costs nothing extra and keeps the two clients’ agents apart.

Step 2: Pick the trigger tags

activeTags sets the trigger for the clone. One rule decides them: a tag drives one campaign per sub-account.
  • Cloning into a different sub-account: the same tags are fine, and usually what you want.
  • Cloning into the same sub-account: use different tags, or the two campaigns would compete for the same contacts.

Step 3: Clone

Call Clone agent:
The response carries the mode applied, the new campaignId, the agentId that owns it, and the full agent and campaign records. In campaign mode the agentId is the source agent’s. In everything mode it is the new agent’s. The request accepts an Idempotency-Key header. Send one, and a retry after a timeout returns the same clone instead of a second one.

Step 4: Re-point what does not travel

A copy is not a twin. Three things are per sub-account and need your attention before the clone goes live.
  • Phone numbers. The clone’s fromNumbers is empty. Assign or buy one. See Phone numbers and caller ID.
  • Calendars, tags and fields. Ids are per sub-account, so a booking skill pointing at the source’s calendar, or a workflow node moving to the source’s pipeline stage, has to be re-pointed at the target’s. Look them up with GoHighLevel resources.
  • Live state. The clone starts paused. Test it, then set active: true.

Next steps