CRM

Merge contacts

crm_merge_contacts · Deletes data · Markdown

Merges duplicate contacts into the one you keep; their notes, emails, chats, calls and deals move with them.

$0.01 a call

From your agent’s balance. A call that fails costs nothing.

An example

Sophie Lange is in there twice, once with her work email. Merge them into one.

Your agent callscrm_merge_contacts$0.01 a call

The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.

With these arguments
{
  "keep_id": 4812,
  "merge_ids": [
    4839
  ]
}
What comes back
{
  "contact": {
    "id": 4812,
    "email": "sophie.lange@example.com",
    "name": "Sophie Lange",
    "title": "",
    "company": "",
    "company_id": null,
    "phone": "+49 40 66969 214",
    "location": "Hamburg",
    "lifecycle_stage": "lead",
    "outreach_status": null,
    "notes": "",
    "tags": [
      "cold"
    ],
    "custom_fields": {},
    "archived": false,
    "updated_at": "2026-10-14T08:00:00+00:00"
  },
  "merged_ids": [
    4
  ]
}

Use it when

Two or more contacts are the same person.

What it does

Merge duplicate contacts into the one you keep. Its empty fields are filled from the others, tags and custom fields are combined (the kept contact wins where both have a value), and every note, task, email, chat, call, ticket and deal moves to it. The merged contacts are archived; their emails still find the kept contact.

What comes back

The kept contact as it now is, and merged_ids: the contacts merged into it (now archived). Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
keep_idRequiredintegerAt least 1.
merge_idsRequiredarray of integers1 to 10 items.

The call

Over MCP, call crm_merge_contacts on https://api.conecto.chat/mcp/crm. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/crm_merge_contacts \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keep_id":4812,"merge_ids":[4839]}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
not_found404An id is not a contact of the business, or was merged already.Find the contacts again with crm_find_duplicates.
invalid_input400merge_ids includes keep_id.List only the other records in merge_ids.
conflict409A conflicting record stopped the merge; nothing changed.Read the records again (crm_find_duplicates) and merge once more.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md