People

Merging Contacts

Fold duplicate contacts into one person without losing any history

The same human often reaches you more than once - WhatsApp today, Instagram next month, the website widget after that. Each arrival creates its own contact, so your People list ends up with several rows for one person.

Merging folds those rows into a single contact. Nothing is thrown away: every conversation, message and field value is kept, and the merge can be undone.

People list with a merged contact row

Merging and splitting contacts require a Pro or Enterprise plan, and the Owner, Admin or Editor role.

Possible Duplicates

Wexio looks for rows that are probably the same person and collects them under Possible duplicates. Nothing is merged until you say so.

Possible duplicates panel

Each suggestion shows why Wexio thinks these rows match:

SignalMeaning
Same verified emailBoth contacts have the same confirmed email address.
Same verified phoneBoth have the same confirmed phone number.
Shares a fieldThey hold the same value in one of your contact fields.
Same name on a channelThe channel reports the same display name.

Verified email and verified phone are the strong signals - a shared field or a matching channel name is weaker, and worth a look before you accept it.

On a busy account the first pass takes a moment. An empty panel on first load means Wexio is still looking, not that there are no duplicates.

Dismissing a Suggestion

Not every match is real - two people genuinely can share a name.

ActionEffect
DismissHides this suggestion for now.
Dismiss permanentlyWexio never suggests this combination again.
Remind me laterHides it for a number of days, or until a date you pick.

Use Dismiss permanently for a pair you have checked and know are different people. Use Remind me later when you need to ask the customer before deciding.

Merging

You can merge from a suggestion, or by selecting rows in the People list yourself.

Merge into one contact dialog

The dialog asks one question: which contact survives. Mark it with Keep - it keeps its ID, and everything else folds into it. Use Include in the merge to control exactly which of the selected rows take part.

Then confirm with Merge.

What Survives

What happens
Conversations and messagesAll of them move to the surviving contact. Nothing is deleted.
Channel identitiesAll kept. The merged contact can be reached on every channel its parts could.
Field valuesEvery value is kept. Each channel identity keeps its own answers - the merge only decides which one the contact displays.
The contact IDThe survivor's ID is the one that lives on. Retired IDs become aliases.

This is the part people expect to lose data at, and it does not. If two identities give different answers for "preferred language", both answers are still stored - see choosing which value shows.

Limits

  • There is a cap on how many identities you can merge in one go, and only one already-merged contact can take part in a merge. If you hit it, merge in two passes.
  • A contact that already holds several identities shows how many it will end up with before you confirm.

Undo

Right after a merge, an Undo prompt appears - available until you leave the page. After that, undo it from the contact's merge history: see Splitting contacts.

Choosing Which Value Shows

A merged contact displays one value per field, but keeps them all. Open Which values this contact shows to pick the source per field.

Field source picker
  • Every channel keeps its own answers.
  • The picker only says which one the contact displays.
  • It changes as soon as you pick, and you can change it again later.

Fields with no value on a given identity show as Empty.

The Merged Contact

After a merge the People list shows one row. The contact profile lists the channel identities behind it, each with its own conversations.

One identity is the primary one. You can change which, and you can take a single channel back out without undoing the whole merge - both covered in Splitting contacts.

What External Systems See

If you have an outbound webhook or an API integration mirroring contacts, a merge is not a deletion:

  • It emits contact.merged with a { from, into } forwarding pointer.
  • It does not emit contact.deleted for the retired rows.

An integration that only listens for contact.deleted will silently drift out of sync after a merge. Subscribe to contact.merged and contact.split too, and key your records on the merge-winner contact ID.

On this page