There are good reasons to copy a contact: the same business owner applies for a second business, a household needs two service records, or a rep wants a clean record for a new deal without retyping 30 fields. HighLevel doesn't have a copy button, so this guide shows how to duplicate a contact in GoHighLevel natively, the settings that quietly block it, and a faster option.
First, decide if you need a duplicate
Sometimes a second contact is the wrong tool:
| Situation | Better option |
|---|---|
| Same person, second deal | A second opportunity on the same contact |
| Same person, new info | Update the existing contact |
| Second business, same owner | A duplicate contact, so each business has its own fields and files |
| Spouse or partner on the same account | A new contact (not a copy), possibly linked by a field |
If each record needs its own custom field values (business name, revenue, documents), a duplicate makes sense. If it's just another deal, use opportunities.
Check your duplicate settings
HighLevel blocks duplicates by default in many sub-accounts. As of October 2026, the setting lives here:
- In the sub-account, click Settings.
- On Business Profile, find the contact deduplication preferences panel.
- Allow Duplicate Contact controls whether a new record with a matching email or phone gets created or merged into the existing one.
- Find Existing Contacts Based On sets the primary match field (Email by default, or Phone), with an optional second preference.
Changes save automatically. HighLevel's help center notes this setting covers forms, Zapier and Facebook and Instagram Messenger. CSV imports always merge by phone or email, so you can't duplicate a contact by re-importing it.
If you don't want to allow duplicates sub-account wide, the alternative is to leave email and phone off the copy and add them separately.
How to duplicate a contact in GoHighLevel manually
- Open the original contact and keep it in one tab.
- Open Contacts in a second tab and click to add a new contact.
- Copy over the standard fields: name, business name, address, source and so on.
- Save, then open the new contact and fill in the custom fields, folder by folder.
- Set the contact owner and any tags you need.
- If a workflow should start for the new record, add it to the workflow or add the trigger tag.
This works, but it's tedious for records with many custom fields, and it's easy to miss one.
Duplicating a contact with the API
If you're comfortable with an API client, you can copy a contact in two calls with a token that has contacts.readonly and contacts.write:
GET /contacts/{contactId}to read the original. The response includes standard fields and acustomFieldsarray ofidandvaluepairs.POST /contacts/with thelocationId, the standard fields you want and the samecustomFieldsarray.
Both use the base URL https://services.leadconnectorhq.com and the Version: 2021-07-28 header. If the sub-account blocks duplicates, the create call fails when email or phone matches, so drop those fields or change the setting first. Our Private Integration token guide covers getting a token.
Keeping duplicates easy to tell apart
Two contacts with the same name and phone number confuse reps fast. A few habits help:
- Change something visible. Update the business name, or add a short note in a field like "Deal Label," so the records look different in search results.
- Assign the right owner. The copy might belong to a different rep than the original.
- Watch conversations. Inbound texts and calls are matched to a contact by phone number, so think about which record should own the conversation if both share a number.
- Link them if it matters. A custom field on each record holding the other's name or business helps a rep find the sibling record.
What not to copy
- Tags. Adding tags to the new record can fire "Tag Added" workflow triggers, so a copied tag may send a new SMS or assign a new rep. Add tags on purpose instead.
- Invoice and payment fields. Copying a "Payment Status" or invoice field onto a new record usually creates confusion.
- Notes, tasks and appointments. They belong to the original's history.
- Work-order or deal-specific IDs. These should be unique per record.
Where the native way gets slow
Copying one record by hand is fine once. If your team does it daily, every copy means two tabs, dozens of fields and a good chance of missing something. The API version is quick but not something you hand to a rep, and the duplicate settings can make it fail without an obvious reason.
If you're cleaning up the reverse problem, actual unwanted duplicates, HighLevel has a separate manage-and-merge duplicates feature for that.
How Power-Ups handles it
Duplicate Contact is a Power-Up that adds a Duplicate contact button on the contact page, and a Duplicate selected button when you tick contacts in the Contacts list.
- You choose which fields come along, per sub-account, from a simple on/off list.
- Tags are off by default, because they can trigger "Tag Added" workflows.
- Invoice and payment-type fields are skipped by default.
- Workflows, appointments and notes are never copied.
- After a single duplicate, you land on the new contact.
- If the sub-account blocks duplicates, the button tells you so, with the two fixes: turn on Allow Duplicate Contact, or switch email and phone off for copies.
Power-Ups install with one loader line in Agency Settings Custom JS, and you choose which sub-accounts get each one. The same line can add sub-account Dark Mode and Contact Peek.
Questions
Is there a duplicate contact button in GoHighLevel?
As of October 2026 there is no native button that copies a contact. You create a new contact and re-enter the details, use the API, or add a button with a Custom JS add-on.
Why won't GoHighLevel let me create a contact with the same email?
The sub-account's Allow Duplicate Contact setting is off. It's in Settings, under Business Profile, in the contact deduplication preferences. With it off, a new record with a matching email or phone is merged instead of created.
Does importing a CSV create duplicate contacts?
No. HighLevel's help center says CSV imports always merge by phone or email, regardless of the Allow Duplicate Contact setting.