Merging contacts
Combine duplicate contact records into one — every channel, conversation, note, and team membership moves under the record you keep.
Duplicates happen. You promote a phone number to "Priya", a teammate's intro email creates "Priya Sharma", and a month later the same person exists twice in your contact list. Merging contacts folds those records into one — you choose which record to keep, and everything from the others moves under it.
Like every change to your contact graph, merging is always something you do — CommSync never merges contacts on its own, and there is no suggestion queue. See Merging identities for the same rule at the channel level.
Contact merge vs. identity merge
Two tools, two different problems:
| You have… | Use |
|---|---|
| A loose phone number or email that belongs to an existing contact | Attach / merge identities — see Merging identities |
| Two (or more) full contact records for the same human | Merge contacts — this page |
An identity merge moves one channel. A contact merge moves everything: all channels, conversations, notes, labels, team memberships, and the shared-contact promotion if there is one.
Merging from the Contacts view
Find the duplicates
Search the Contacts view — typing "Priya" surfaces both records side by side.
Select them
Hover a row and tick the checkbox that appears (or right-click → Select for merge). Selecting two or more contacts raises a floating action bar.
Choose Merge
The merge dialog shows each record with its channels and notes.
Pick the record to keep
CommSync pre-selects the record with the most going on — most channels, notes, recent activity — but switching is one click. The After the merge panel previews the final contact: its name and the combined channel list.
Confirm
The button spells out exactly what will happen — for example, "Merge 2 contacts into Priya Sharma".
For a quick pairwise merge, right-click any contact and choose Merge into another contact…, or open the contact and use the ⋯ menu — then search for the duplicate.
What happens to everything
Say you merge "Priya (mobile)" into "Priya Sharma" at Northwind Clinical:
- Channels — Priya's mobile number moves onto the surviving record. The survivor keeps its name.
- Conversations — every thread follows its channel. SMS conversations collapse into one thread; email chains keep their own threads but all open under Priya Sharma. Unread counts add up rather than resetting.
- Notes — combined, never dropped. The note from "Priya (mobile)" is prepended to the survivor's notes under a small "— from Priya (mobile) —" header so you can tell where it came from.
- Labels — the survivor gets every label from both records, deduplicated.
- Teams — if "Priya (mobile)" was in the Northwind Clinical team, the surviving record joins it (without duplicating a membership it already has).
- Shared contacts — if the duplicate was shared with your team, the sharing moves to the surviving record: members keep their access, comment threads are preserved. If both records were shared, the two member lists combine and each teammate keeps their higher permission of the two.
Merging can't be undone
The duplicate contact records are deleted as part of the merge. Messages and channels are never lost — but there is no "unmerge" button. If you merged the wrong records, you can still split individual channels back out and rebuild a contact from them.
Scope and permissions
Your contact graph is private to you (see Core concepts), and merging follows the same rule: you can only merge contacts you own. Teammates' contacts that appear in your list via shared contacts can't be selected for merge — even org admins can't merge someone else's records.
From an agent
Agents with an API key get the same capability over MCP:
merge_contacts(survivorPersonId, sourcePersonIds)The tool enforces the same rules as the UI — all records must belong to the key's owner, the survivor keeps its name, and the sources are deleted. See MCP server for the full reference.