Get conversation

One conversation with its contact, assignee, labels and every message, private notes included.

GET https://cotlet.dev/api/v1/chatwoot/conversations/{conversation_id}

read

Returns the conversation and its messages in time order. Each message has a sender (contact, agent or bot), a private flag and its text. Private notes are marked private: true and are never seen by the customer. Attachments appear as names, not files. Your role decides which conversations open; a conversation outside your inboxes returns APP_PERMISSION_DENIED.

Parameters

Parameters: get_conversation
NameTypeDescription
conversation_id integer required integer conversation_id from list_conversations. It is the number in the conversation URL.

Request

cURL
curl https://cotlet.dev/api/v1/chatwoot/conversations/1 \
  -H "Authorization: Bearer $COTLET_API_KEY"
Python
result = client.call("chatwoot", "get_conversation", {"conversation_id":1})
Node.js
const result = await cotlet.call('chatwoot', 'get_conversation', {"conversation_id":1});
CLI
cotlet call chatwoot get_conversation --data '{"conversation_id":1}'

Example response

JSON

{
  "conversation_id": 1842,
  "status": "open",
  "priority": null,
  "inbox": "Support email",
  "contact": {
    "contact_id": 311,
    "name": "Dana Whitfield",
    "email": "dana.whitfield@example.com"
  },
  "assignee": null,
  "team": null,
  "labels": [],
  "messages": [
    {
      "message_id": 90377,
      "sender": "contact",
      "private": false,
      "content": "I was charged twice for October. Can you refund one payment?",
      "created_at": "2026-10-22T06:41: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.