reply_support_conversation
Send a reply to a member in a support conversation, or record a private internal note.
This message reaches a real person. Confirm the wording with the creator before calling, and never invent facts about a member's subscription, refunds or access. There is no undo — Telegram messages cannot be recalled once delivered.
Purpose
Reply to a member. The message is recorded against the conversation and queued for delivery on the member's channel, prefixed with the project's support name so it reads as coming from a person rather than from the bot.
Set internal to record a private note for the creator's team instead. Internal notes are never delivered, never appear to the member, and raise no webhook event.
Required ability
support-conversation:update
Input schema
{
"type": "object",
"required": ["conversation_id", "body"],
"properties": {
"conversation_id": {
"type": "string",
"description": "UUID of the support conversation to reply in."
},
"body": {
"type": "string",
"description": "The reply text, max 4000 characters. Reaches the member verbatim."
},
"internal": {
"type": "boolean",
"description": "Record a creator-only note instead of sending to the member."
},
"reply_to_message_id": {
"type": "string",
"description": "Optional. UUID of a message in this same conversation to quote above the reply."
}
}
}Output shape
{
"data": {
"message_id": "smg_01HX...",
"conversation_id": "sup_01HX...",
"internal": false,
"delivery_status": "pending"
}
}Example prompts
"Reply to that conversation: their invite link expired, here is a fresh one."
"Add an internal note that this member has asked about the same thing twice."
Failure modes
No support conversation found with that id.— unknown id, or outside the token's project scope.A reply needs a body.—bodywas empty or whitespace only.A reply may not be longer than 4000 characters.— Telegram's own message ceiling.TOKEN_MISSING_ABILITY— token lackssupport-conversation:update.
Caveats
delivery_status: "pending"means queued, not delivered. Delivery runs on a queue and can still fail — a member who has blocked the bot comes back asunreachable. Read the message back withget_support_conversationif the outcome matters.- Replying to a resolved conversation does not reopen it. Only an inbound member message does that.
- A reply does not clear the unread count or resolve the thread. Call
resolve_support_conversationseparately when the matter is closed. - Only text is supported here. Sending media takes the dashboard inbox.
reply_to_message_idmust name a message in the same conversation. Anything else is refused rather than silently dropped, so a quote can never surface one member's words in another member's thread.- The reply is attributed to the token's owner. On a token minted for automation, that is the account the token belongs to — not the AI.
Related
get_support_conversationresolve_support_conversationsupport.message.sent— the event this raises- Support conversations API
How is this guide?