GoHighLevel Copy Contact action workflow for copying contacts between sub-accounts

Use Copy Contact in GoHighLevel by using duplicate contact records: Step-by-Step Guide

August 31, 202611 min read

How to Duplicate Contact Records Across Workflows Using the Copy Contact Action in GoHighLevel

Introduction

Managing contacts across multiple GoHighLevel sub-accounts can become complicated quickly. An agency may have one account handling lead generation, another managing a regional operation, or separate sub-accounts for different brands and clients. In these situations, moving contact information manually between accounts can create unnecessary work and increase the chance of inconsistent data.

GoHighLevel's Copy Contact workflow action provides a way to automate this process.

However, there is an important distinction to understand before setting it up: Copy Contact does not duplicate a contact from one workflow into another workflow. Instead, it copies a contact from one GoHighLevel sub-account to another. Depending on your configuration, you can also copy tags and compatible custom-field data and choose whether an existing contact in the destination account should be updated.

In this guide, you'll learn how the Copy Contact action works, how to configure it step by step, when to use it, what information is transferred, and which limitations you should understand before using it in a live automation.

What Is the Copy Contact Action in GoHighLevel?

The Copy Contact action is a workflow action designed to copy a contact from the current GoHighLevel sub-account into another selected sub-account.

It can be particularly useful for agencies and businesses that operate multiple accounts but need certain contact information to exist in more than one location.

For example, imagine an agency has a central account that receives new leads. When a lead meets a specific condition, a workflow can use the Copy Contact action to send that contact to the appropriate client or regional sub-account.

According to GoHighLevel's documentation, the action can be configured to:

  • Select a destination sub-account

  • Add specific tags in the destination account

  • Copy existing contact tags

  • Copy custom fields when the corresponding fields exist in the destination

  • Update the contact if it already exists in the destination account

  • Skip copying contacts that lack required basic information when that option is enabled

The action is therefore more than a simple manual export. It allows contact duplication to become part of an automated workflow.

Diagram of contact transfer between sub accounts
How the Copy Contact action routes contact records across different GoHighLevel sub-accounts automatically.

Why Use Copy Contact in a Workflow?

Copying contacts between sub-accounts can be useful when different parts of a business need access to the same contact record.

Some common scenarios include:

Multi-location businesses

A business may operate separate GoHighLevel sub-accounts for different branches or locations. A central account can collect leads and automatically copy qualifying contacts into the appropriate destination account.

Agencies managing multiple sub-accounts

An agency may maintain a central lead-management process while individual client or operational accounts handle the next stage of the customer journey.

Copy Contact can help transfer the relevant contact record without requiring an employee to manually recreate it.

Lead routing

Suppose a lead completes a form and selects a particular service area. Your workflow can use conditions to determine which account should receive the contact and then copy the contact to the appropriate sub-account.

Keeping selected data available across accounts

If tags and compatible custom fields are enabled in the action, important contact information can accompany the copied record. This can reduce the amount of manual data entry required by the receiving team.

How to Set Up Copy Contact in GoHighLevel

Before building your workflow, make sure your agency has access to the required premium workflow functionality. GoHighLevel documents Copy Contact as a premium action, and its availability and execution costs depend on your agency's premium-action configuration.

Once the feature is available, you can configure it from the Workflow Builder.

Step 1: Open the Workflow Builder

Log in to the appropriate GoHighLevel sub-account and open:

Automations → Workflows

Create a new workflow or open an existing workflow where you want the contact-copying process to happen.

GoHighLevel workflows operate by starting with a trigger and then executing actions sequentially. This means the Copy Contact action can be placed after an event or condition that determines when a contact should be transferred.

GoHighLevel navigation bar highlighting automations workflow menu
Navigating to Automations → Workflows in GoHighLevel to create or edit an existing workflow.

Step 2: Choose Your Workflow Trigger

The trigger determines when the workflow should begin.

For example, you could build a workflow around a Contact Added event, or use another appropriate trigger such as a tag being applied or a contact being updated.

The best trigger depends on your business process.

For example:

New Contact → Check Lead Type → Copy Contact

Or:

VIP Tag Added → Copy Contact → Destination Account

GoHighLevel specifically lists Contact Added, Tag Applied, and Contact Updated as examples of triggers that can be combined with Copy Contact.

Workflow builder showing contact added trigger setup
Setting up a workflow trigger like Contact Added or Tag Applied in the GoHighLevel workflow canvas.

Step 3: Add the Copy Contact Action

After configuring the trigger, click Add Action inside the workflow.

Search for the contact action called Copy Contact or Copy Contact to Sub-Account, depending on how it is displayed in your GoHighLevel interface.

This is the action that performs the actual contact transfer.

Step 4: Select the Destination Account

The first important setting is the destination account.

Select the GoHighLevel sub-account where you want the contact to be copied.

For example:

Selecting copy contact action in workflow menu
Locating and adding the Copy Contact premium action within the GoHighLevel action menu.

Source Account → Regional Sales Account

The destination account is required because GoHighLevel needs to know where the new contact record should be created.

Step 5: Configure Tags

GoHighLevel provides options for handling tags during the copy process.

You can add specific tags to the copied contact in the destination account. You can also enable the option to Copy Tags, which allows the contact's existing tags to be copied.

For example, a source contact might have:

  • VIP Lead

  • Website Lead

  • Qualified

If Copy Tags is enabled, those existing tags can be copied according to the action's configuration.

You can also add destination-specific tags when appropriate. This can help the receiving account immediately identify why the contact was transferred.

Step 6: Enable Copy Custom Fields When Needed

If your source contact contains important information stored in custom fields, you can enable Copy Custom Fields.

There is an important requirement here: the corresponding custom field needs to exist in the destination sub-account, and GoHighLevel's documentation notes that the custom-field type must match.

For example, if the source account contains:

Lead Type: Commercial

the corresponding custom field must be available in the destination account for its value to be copied.

This is why it is worth standardizing custom fields across accounts before relying heavily on this automation.

Step 7: Decide What Happens if the Contact Already Exists

Another important setting is Update Contact if it Already Exists.

When enabled, GoHighLevel can update the existing contact in the destination account instead of simply creating another record.

If the contact does not already exist, a new contact can be created.

This option is particularly useful when your workflow may run more than once for the same contact and you want the destination account to stay updated rather than intentionally creating additional records.

GoHighLevel copy contact action settings panel
Configuring essential settings inside the Copy Contact action, including destination sub-account selection, tag synchronization, and custom field mapping.

Step 8: Review and Publish the Workflow

Once your settings are configured, review the workflow carefully.

A simple structure might look like this:

Contact Added

Check Lead Criteria

Copy Contact

Destination: Regional Account

Copy Tags: Enabled

Copy Custom Fields: Enabled

Update Existing Contact: Enabled

Save and publish the workflow after testing your configuration.

Completed GoHighLevel workflow with published toggle on
A completed GoHighLevel workflow blueprint demonstrating conditional lead routing and contact copying across sub-accounts.

Example: Automatically Copy a Qualified Lead

Consider an agency that uses one central GoHighLevel account to collect leads for several regional offices.

A visitor submits a lead form and provides their location. The agency wants qualified leads to be copied into a regional sub-account.

The automation could follow this structure:

Trigger: Contact Added

Condition: Lead meets the required qualification criteria

Action: Copy Contact

Destination: Regional Office Account

Copy Tags: Enabled

Copy Custom Fields: Enabled

Update Existing Contact: Enabled

This setup allows the central account to remain the source of the lead while the regional account receives the contact information needed for its own operations.

The exact workflow conditions will depend on how your business qualifies and routes leads.

What Information Does Copy Contact Transfer?

Understanding what is and isn't copied is essential.

GoHighLevel's documentation states that the Copy Contact action can transfer:

  • Contact information

  • General contact information

  • Tags, when the Copy Tags option is enabled

  • Custom fields, when Copy Custom Fields is enabled and matching fields exist in the destination account

However, it does not copy everything associated with the contact record.

What Is Not Copied?

According to GoHighLevel, the following are not transferred as part of the Copy Contact action:

  • Conversations

  • Activity

  • Notes

  • Tasks

  • Appointments

  • Payments

  • Independently transferred documents and files

Files have additional limitations. GoHighLevel notes that file or document transfer between sub-accounts is not supported as a standalone migration through Copy Contact. In some situations, references may still depend on the original contact in the source account.

This means you should not treat Copy Contact as a complete migration or cloning tool for every piece of a contact's history.

Visual comparison of transferred versus retained data
Overview of contact details that transfer via Copy Contact versus historical account data that remains in the source sub-account.

Best Practices for Using Copy Contact

Standardize custom fields

If several sub-accounts need the same contact data, create matching custom fields with compatible types before activating the automation.

Use meaningful destination tags

Adding a tag such as Copied From Central Account or a location-specific tag can make transferred contacts easier to identify and segment.

Be careful with duplicate handling

Decide whether the destination should receive a new record or update an existing record. Enabling the update option can be helpful when synchronization is intended.

Test with sample contacts

Before activating the workflow for real leads, use test contacts and verify the destination account.

Check:

  • Contact information

  • Tags

  • Custom fields

  • Existing-contact behavior

  • Workflow execution results

Don't assume contact copying means history migration

If your business needs conversations, appointments, notes, payments, or other historical information in the destination account, Copy Contact alone will not provide that complete history.

Understanding this limitation before building the workflow can prevent major operational problems.

Common Mistakes to Avoid

Confusing Copy Contact with workflow duplication

Copy Contact moves contact data between sub-accounts. It does not copy an entire workflow or move a contact from one workflow into another.

Forgetting destination custom fields

If a custom field doesn't exist in the destination account, its value cannot simply be assumed to appear there.

Ignoring premium-action requirements

Copy Contact is a premium workflow action, so agencies should verify their GoHighLevel premium-action configuration before deploying it at scale.

Expecting conversations and appointments to transfer

The copied contact is not a complete historical replica. Conversations, activities, notes, tasks, appointments, and payments are among the information GoHighLevel says is not copied.

Frequently Asked Questions(FAQ's)

1. Does Copy Contact duplicate a contact inside another workflow?

No. Copy Contact is designed to copy a contact from one GoHighLevel sub-account to another. It does not duplicate a contact record between two workflows within the same account.

2. Can I copy contact tags?

Yes. You can enable the Copy Tags option so tags associated with the source contact can be copied to the destination contact. You can also configure tags to be added in the destination account.

3. Can custom fields be copied?

Yes, provided Copy Custom Fields is enabled and the corresponding custom fields exist in the destination account with compatible field types.

4. What happens if the contact already exists?

If Update Contact if it Already Exists is enabled, GoHighLevel can update the existing contact in the destination account. If no matching contact exists, the contact can be created there.

5. Does Copy Contact transfer conversations and appointments?

No. GoHighLevel specifically states that conversations, activity, notes, tasks, appointments, payments, and independently transferred files are not copied by this action.

Conclusion

The Copy Contact action can be a valuable automation tool when your GoHighLevel setup includes multiple sub-accounts that need access to the same contact information.

Instead of manually recreating contact records, you can trigger the process from a workflow and control which account receives the contact. You can also choose whether tags and compatible custom-field information should be copied and whether an existing destination contact should be updated.

The key is to understand what the action actually does. Copy Contact is designed for copying contacts between GoHighLevel sub-accounts—not for duplicating contacts between workflows. It also does not transfer the complete history associated with a contact.

Once you understand those boundaries, you can use the action more confidently for multi-account lead routing, regional operations, agency workflows, and other contact-management processes.

For a reliable implementation, standardize your contact fields, define your destination logic clearly, test with sample records, and verify the resulting contact data before putting the automation into production

Need Expert Help with GoHighLevel?

New to GoHighLevel and ready to get started? Buy your GoHighLevel account here and launch with confidence.

Already know what you need and want our team to handle everything, from complete setup and customization to funnels, workflows, automations, CRM, and pipelines? Click here.

Wispcode Team

Wispcode Team

Wispcode team provides the gohighlevel updates to give understanding to the agency owners.

LinkedIn logo icon
Youtube logo icon
Back to Blog

At Wispcode, we deliver pioneering digital engineering strategies that empower businesses to grow with confidence.

Get in touch with us

Email:

Phone:

Hours: 24/7 avaailable

Copyright @2026 Wispcode. All Rights reserved.