Get conversation
One conversation with its contact, assignee, labels and every message, private notes included.
MCP tool chatwoot_read → get_conversation
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
| Name | Type | Description |
|---|---|---|
| conversation_id integer required | integer | conversation_id from list_conversations. It is the number in the conversation URL. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "chatwoot_read",
"arguments": {
"operation": "get_conversation",
"arguments": {
"conversation_id": 1
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"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"
}
]
},
"isError": false
}