Merging a customer's nine channels into one record
The same buyer can reach you on WhatsApp, Instagram and email in one week. A playbook for linking those identities to one contact, handling duplicates, and keeping agents from talking past each other.
Mokanata team3 min read
A buyer comments on your Instagram post on Monday, sends a WhatsApp message on Wednesday and replies to a proposal by email on Friday. To them, it's one conversation with one company. To most tools, it's three strangers.
Mokanata connects nine channels: WhatsApp, Instagram, email, TikTok, Telegram, LinkedIn, Facebook, X and Threads. Every inbound message becomes a thread on a contact. This playbook is about making sure it's the right contact.
Why one record matters
Fragmented identities cost more than a messy contact list:
- Agents lose context. An agent answering on WhatsApp can't see the pricing question the same person asked by email, so it asks again or answers differently.
- Deals split. Two records mean two deal values, two owners and two pipelines that disagree.
- Customers repeat themselves. Nothing signals "this company doesn't know me" faster than being asked for your order number a second time.
How identities attach to a contact
Each contact record has a channel identities section. An identity is one handle on one channel: a phone number on WhatsApp, an Instagram account, an email address. You can link a new identity, make one primary, or unlink one that was attached by mistake.
The primary identity is the one used when a person or agent starts a new conversation with the contact. The rest still route inbound messages to the same record.
Note
In the inbox, the context panel shows a thread's merged channel identities next to the open deal, so a reviewer can see at a glance that the WhatsApp number and the email address belong to the same buyer.
Handling possible duplicates
When two records look like the same person, the contact record lists them as possible duplicates. For each pair you have two choices:
- Merge them, which brings the identities, threads and deal history onto one record.
- Mark them as not the same person, so the pair stops being suggested.
The second option matters as much as the first. Two colleagues at the same company can share a surname and an email domain. Marking them as distinct keeps the suggestion list short enough to actually review.
A weekly routine
| Step | Where | Time |
|---|---|---|
| Review new possible duplicates | Contact records | 10 minutes |
| Check recent imports for skipped rows | Contacts, CSV import | 5 minutes |
| Spot-check threads with no deal | Inbox, context panel | 5 minutes |
Twenty minutes a week keeps the contact list honest, and it's much easier than cleaning up a quarter's worth of duplicates at once.
Imports without new duplicates
CSV import is where most duplicates come from. Mokanata previews every row before importing it as Ready, Skipped (duplicate) or Needs fixing, so a re-imported list doesn't create a second copy of everyone. Imports accept comma or semicolon files, up to 500 rows and 1 MB, and there's a downloadable template with the expected columns.
If a row is skipped as a duplicate but carries new information, such as a new phone number, add it to the existing record as a channel identity rather than importing it again.
What agents do with a merged record
Once identities are merged, agents work from the whole picture:
- A triage agent sees every earlier thread, so it can route a new message to the owner who already knows the account.
- A closer sees the open deal's stage and value, whichever channel it was discussed on.
- A churn watch agent reads the tone across channels, not just the one where the customer happens to be quiet.
Agents can also suggest changes to the record itself. A suggested record update appears in the inbox, and nothing changes until a person approves it. That keeps an agent from merging or editing contacts on its own judgement.
Agents per account
When a contact is important enough, it's worth controlling exactly which agents work on it. The agents on this account section of a contact record lets you change, pause or remove an agent for that contact only, without touching the agent's behaviour anywhere else.
The goal
One person, one record, every channel attached. When that's true, an agent's answer on Instagram is consistent with what the team said by email, and the next person to open the thread starts with the whole story.