ContactsMigrationsFiles

Move Contacts Between GoHighLevel Sub-Accounts (With Files)

How to move contacts between GoHighLevel sub-accounts with CSV import or the Copy Contact action, what each one drops, and how to bring the files along.

Agencies need to move contacts between GoHighLevel sub-accounts more often than you'd expect: a client splits into two businesses, a broker hands a book of leads to a partner, or you consolidate test accounts into a live one. HighLevel has two native ways to do it, and both move the contact record but not the files. This guide covers each method, what it drops, and how to prepare the destination so the move goes cleanly.

Before you move contacts between GoHighLevel sub-accounts

Whichever method you use, the destination needs matching structure first. Custom field values only land if a field of the same type exists on the other side.

  1. Compare custom fields. List the source sub-account's fields and check each one exists in the destination with the same type. A text field in one and a dropdown in the other won't map. Comparing custom fields between sub-accounts covers how.
  2. Create missing fields. Add them by hand in Settings under Custom Fields, or see bulk creating custom fields.
  3. Create tags you'll reference in imports or workflows.
  4. Match dropdown options exactly. A value that isn't one of the destination's options may not import as expected.
  5. Consider a snapshot if the destination also needs the source's pipelines, workflows and forms. Snapshots copy configuration, not contacts.

Method 1: Export a CSV and import it

The most common approach, and the only one that doesn't cost per contact.

  1. In the source sub-account, go to Contacts > Smart Lists and filter to the contacts you're moving.
  2. Use Manage Fields to show every column you need. The export only includes visible columns.
  3. Select the contacts and choose Export. Download it from Contacts > Bulk Actions.
  4. In the destination sub-account, start a contact import and upload the CSV.
  5. Map each column to the matching standard or custom field.
  6. Decide how to handle duplicates, and add a tag like moved-from-acme-2026-10 so you can find this batch later.
  7. Run the import and spot-check a few records.

What doesn't come along:

Method 2: The Copy Contact to Sub-Account workflow action

HighLevel's workflow builder has an action that copies a contact into another sub-account. As of October 2026:

To move an existing list:

  1. Create a workflow with a trigger you can control, such as Contact Tag added.
  2. Add Copy Contact to Sub-Account, pick the destination and set the toggles.
  3. Publish it, then bulk-add the trigger tag to the contacts you want to move.

It's handy for ongoing syncing, such as copying every new VIP lead into a partner's account. Its limits match the CSV route and add a cost:

The file problem

Both native methods give you a contact in the destination with empty file fields. For many businesses, that's the part that matters. A lending partner receiving a book of merchants needs the bank statements and applications. A franchise splitting territories needs signed agreements.

Doing it by hand means downloading each file from the source contact and uploading it to the matching contact in the destination. With the API, you can script it, but you'll need to:

  1. Download every file from each source contact.
  2. Find or create the matching destination contact.
  3. Upload each file into the right file field on the destination contact.
  4. Log anything that failed so nobody assumes it moved.

Downloading all files from GoHighLevel contacts covers the first half of that in detail.

Checklist after the move

Where the native way gets slow

The record moves in minutes. The files are the slow part, and they're the part neither native method handles. For agencies doing this regularly, such as splitting a book between partners or reps, it turns into a recurring manual project.

How Backup & Insights handles it

Backup & Insights from RGS Tools moves contacts with their documents.

Backup & Insights is $99/mo per agency with unlimited sub-accounts and a 7-day free trial. Use it alongside the field preparation steps above, since the destination still needs matching fields.

Questions

Can I copy contacts from one GoHighLevel sub-account to another?

Yes. You can export a CSV and import it into the other sub-account, or use the Copy Contact to Sub-Account workflow action. The workflow action is a premium action billed per execution and must be enabled in agency settings.

Does Copy Contact to Sub-Account copy files and conversations?

No. As of October 2026, HighLevel's documentation says file and document transfer isn't supported by the action, and conversations, activity, notes, tasks, appointments and payments are not copied.

Why didn't my custom fields copy to the new sub-account?

Custom field values only copy when a field with the same type already exists in the destination sub-account. Create or match the fields first, then run the copy.

Features in this guide

File Backup

Copies contact files, attachments, call recordings, form uploads, media and signed documents to your own storage, monthly.

Rep Packages

Splits a sub-account's contacts into packages with their files, one per rep, without handing anyone out twice.

Copy to Another Sub-account

Pushes contacts and their documents into a different sub-account, without changing the source.

Keep reading

Backup & Insights

How to Split Leads Between Reps in GoHighLevel

Split leads between reps in GoHighLevel with the Assign to User action and weighted round robin, and divide an existing book along with its documents.

4 min read
Backup & Insights

How to Download All Files from GoHighLevel Contacts

Where files live on GoHighLevel contacts, how to download them one by one or via the API, and how to keep each file tied to its contact in a bulk pull.

5 min read
Backup & Insights

How to Back Up a GoHighLevel Sub-Account

A layer-by-layer plan to back up a GoHighLevel sub-account: snapshots for setup, CSVs for records, and the files, recordings and messages native exports skip.

5 min read
All 6 tools, all 34 features: $149/month

Every tool above plus everything we release next. $302/month bought separately. 7 days free, cancel any time.

Start the bundle free