Send reply
Send a public reply to the customer in a conversation.
POST https://cotlet.dev/api/v1/chatwoot/conversations/{conversation_id}/replies
write Confirm
Sends a message that the customer sees, through the channel of the conversation's inbox, under your agent name. The text goes out as written, with no variables filled in. A sent reply cannot be unsent through Cotlet. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| conversation_id integer required | integer | conversation_id from list_conversations. It is the number in the conversation URL. |
| body string required | string | Reply text. |
Request
curl -X POST https://cotlet.dev/api/v1/chatwoot/conversations/1851/replies \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"body":"Hi Priya, you can reset your password from the sign-in page: choose Forgot your password and follow the link in the email. Tell us if it does not arrive."}' result = client.call("chatwoot", "send_reply", {"conversation_id":1851,"body":"Hi Priya, you can reset your password from the sign-in page: choose Forgot your password and follow the link in the email. Tell us if it does not arrive."}) const result = await cotlet.call('chatwoot', 'send_reply', {"conversation_id":1851,"body":"Hi Priya, you can reset your password from the sign-in page: choose Forgot your password and follow the link in the email. Tell us if it does not arrive."}); cotlet call chatwoot send_reply --data '{"conversation_id":1851,"body":"Hi Priya, you can reset your password from the sign-in page: choose Forgot your password and follow the link in the email. Tell us if it does not arrive."}' Example response
{
"message_id": 90412,
"conversation_id": 1851,
"private": false,
"status": "sent",
"created_at": "2026-10-22T07:20:00Z"
}