[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Merge duplicate JivoChat clients

> Merge JivoChat clients who wrote from two devices into one card, keep the right name and company and join their chats. Runs weekly.

Source: https://cotlet.dev/integrations/jivochat-api-mcp-server/merge-duplicate-clients

The same customer wrote from a phone on Monday and a laptop on Friday, and JivoChat has two cards with one email and two half-empty histories.

Cotlet does it in your own JivoChat account with list\_clients, list\_duplicate\_clients, get\_client and merge\_clients, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=jivochat) [All JivoChat tools](https://cotlet.dev/integrations/jivochat-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can JivoChat do this on its own?

JivoChat has no API call to list or merge clients (checked 20 Oct 2026). The CRM webhooks, such as crm\_client, notify your server about a change but cannot make one. Zapier has no JivoChat actions. The merge is a button in the agent app.

## How you do it in JivoChat today

1. Open the client in the agent dashboard and look for the red icon next to the client data. It appears when another client shares the email or phone number.
2. Click the icon to open the list of customers with the same data, pick the right one and press Merge.
3. In the window that opens, choose which customer's value to keep for Name, Company, Responsible, Status, Category and Description.
4. Check the combined result on the right side of the screen, then press Merge again. The app shows "The clients merge started".
5. Repeat for every pair. Nothing lists all flagged clients at once, so the pairs are found one client at a time.

## How to merge duplicate JivoChat clients

Prompt

```
Find JivoChat clients that share an email with another client. For each pair, keep the older client, take the name and company from whichever side has them, and merge.
```

1. 01  
### Walk the client list  
list\_clients pages through CRM and the agent calls list\_duplicate\_clients for each client that has a conversation. Clients already seen as the duplicate of a client in the same run are not checked twice.
2. 02  
### Compare before touching  
get\_client shows the company, status, category and description of both cards. A pair is merged only when the email or phone number is the same; two people who share a company mailbox by name are left for you.
3. 03  
### Choose the side that wins  
keep\_from picks the client or the duplicate for all six fields at once. The agent keeps the card with an assigned agent and a status, and a name that is not an initial, and reports when both sides hold different values for Responsible.
4. 04  
### Merge one pair at a time  
merge\_clients runs once per pair and asks for your OK by default, because the app cannot undo a merge. A channel other than Live Chat fails with a clear error and the pair goes on your list.
5. 05  
### Report the finished merges  
The merge takes from a few seconds to a few minutes on the JivoChat side, so the agent reports the pair as started and checks list\_duplicate\_clients again at the end of the run.

### What you get back

Example data

```
Clients checked: 120
Duplicate pairs found: 3
Merge started 2:
- Dana Whitfield + D. Whitfield (same email), kept name and company of the first
- Priya Shah + P. Shah (same phone)
Left for you 1:
- Info Desk + Ben Ortiz share a company mailbox
```

### Other ways to ask

- List duplicate pairs from this month's new clients and show what each merge would keep, without merging.
- Merge only pairs where both cards have the same email and one of them has no assigned agent.
- After a CSV import, find imported clients that already exist and merge them into the existing card.

## What JivoChat allows, and what to know first

- JivoChat flags a duplicate when a client with an email or phone number in CRM starts a new chat, for example from another device, and gives the same details. It does not matter whether the client or an agent typed them.
- A merge combines tags, tasks and deals automatically and asks you to choose only Name, Company, Responsible, Status, Category and Description.
- After a merge the chat histories become one common chat, and later agent replies go to every device the customer has used.
- JivoChat cannot reverse a merge, any agent can run it with or without admin rights, and it works only inside one channel, currently only in Live Chat channels.

merge\_clients asks for your OK by default. To run it weekly without you, switch confirmation off for that tool in your dashboard.

Sources: [JivoChat Help: How to merge duplicated customers](https://www.jivochat.com/help/agentapp/merge-clients.html) · [JivoChat Help: Importing clients to JivoChat](https://www.jivochat.com/help/agentapp/clients-import.html) · [JivoChat Docs: Webhooks API](https://www.jivochat.com/docs/webhooks/)

## Call merge\_clients from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/jivochat/duplicates/cl_7b20/clients/cl_3a91/merge \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keep_from":"client"}'
```

Example response

```
{
"status": "merge_started",
"client_id": "cl_3a91",
"merged_client_id": "cl_7b20",
"message": "The clients merge started"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is jivochat\_write → merge\_clients. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/jivochat-api-mcp-server.md#automations)

## JivoChat tools this automation uses

__Cotlet JivoChat tools used to merge duplicate JivoChat clients__
| Tool | Parameters |
| ------------------------ | ------------------------------------- |
| list\_clients | query, tag, cursor |
| list\_duplicate\_clients | client\_id |
| get\_client | client\_id |
| merge\_clients | client\_id, duplicate\_id, keep\_from |

[All 13 JivoChat tools with descriptions](https://cotlet.dev/integrations/jivochat-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect JivoChat to Cotlet?

Yes. You sign in to JivoChat yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get JivoChat once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More JivoChat automations

- [Answer new JivoChat chats from the Inbox with AI](https://cotlet.dev/integrations/jivochat-api-mcp-server/answer-new-chats-from-inbox.md)
- [Weekly JivoChat missed chats and agent report](https://cotlet.dev/integrations/jivochat-api-mcp-server/weekly-missed-chats-report.md)
- [JivoChat API and MCP server: every tool](https://cotlet.dev/integrations/jivochat-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to JivoChat.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with JivoChat.

[Sign up free](https://cotlet.dev/app/signup?app=jivochat)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
