Merge conversations

Merge one conversation into another of the same customer.

POST https://cotlet.dev/api/v1/kustomer/target-conversations/{target_conversation_id}/conversations/merge

write Confirm

Merges the source conversation into the target. A merge is permanent and cannot be undone: all messages and notes from both appear in one thread in chronological order, but data on the source conversation is not carried over. A conversation with mergeLocked set is refused. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: merge_conversations
NameTypeDescription
target_conversation_id string required string Conversation that stays and receives the merge.
source_conversation_id string required string Conversation that is merged into the target.

Request

cURL
curl -X POST https://cotlet.dev/api/v1/kustomer/target-conversations/6718d2e4a1b2c3d4e5f60711/conversations/merge \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"source_conversation_id":"6719a8c0a1b2c3d4e5f60722"}'
Python
result = client.call("kustomer", "merge_conversations", {"target_conversation_id":"6718d2e4a1b2c3d4e5f60711","source_conversation_id":"6719a8c0a1b2c3d4e5f60722"})
Node.js
const result = await cotlet.call('kustomer', 'merge_conversations', {"target_conversation_id":"6718d2e4a1b2c3d4e5f60711","source_conversation_id":"6719a8c0a1b2c3d4e5f60722"});
CLI
cotlet call kustomer merge_conversations --data '{"target_conversation_id":"6718d2e4a1b2c3d4e5f60711","source_conversation_id":"6719a8c0a1b2c3d4e5f60722"}'

Example response

JSON

{
  "target_conversation_id": "6718d2e4a1b2c3d4e5f60711",
  "source_conversation_id": "6719a8c0a1b2c3d4e5f60722",
  "status": "merged",
  "updated_at": "2026-10-17T09:05:00Z"
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.