Reply to ticket
Add a public reply to a ticket and optionally set its status in the same call.
POST https://cotlet.dev/api/v1/zendesk/tickets/{ticket_id}/replies
write Confirm
Adds a public comment to the ticket, which emails the requester unless the notification trigger is disabled in your Zendesk. A comment cannot be removed afterwards. Set status in the same call to move the ticket to pending or solved with the reply. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| ticket_id integer required | integer | Ticket ID from search_tickets or list_view_tickets. |
| body string required | string | Reply text, sent to the requester. |
| status enum | enum | open, pending, hold or solved. Default: leave the status as it is. hold only if an admin enabled On-hold. |
Request
curl -X POST https://cotlet.dev/api/v1/zendesk/tickets/48102/replies \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"body":"Hi Dana, just checking in. To fix the export we still need the exact error text you see after clicking Export. A screenshot works too.","status":"pending"}' result = client.call("zendesk", "reply_to_ticket", {"ticket_id":48102,"body":"Hi Dana, just checking in. To fix the export we still need the exact error text you see after clicking Export. A screenshot works too.","status":"pending"}) const result = await cotlet.call('zendesk', 'reply_to_ticket', {"ticket_id":48102,"body":"Hi Dana, just checking in. To fix the export we still need the exact error text you see after clicking Export. A screenshot works too.","status":"pending"}); cotlet call zendesk reply_to_ticket --data '{"ticket_id":48102,"body":"Hi Dana, just checking in. To fix the export we still need the exact error text you see after clicking Export. A screenshot works too.","status":"pending"}' Example response
{
"ticket_id": 48102,
"comment_id": 9120044471,
"public": true,
"status": "pending",
"created_at": "2026-10-16T09:00:00Z"
}