Version
DESTRUCTIVE

reply_support_conversation

Send a reply to a member in a support conversation, or record a private internal note.

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.

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Fires one event

Delivered to every endpoint subscribed to it once the change is made.

Annotations

Destructive

A client that honours annotations asks a person before running it.

Arguments

conversation_id*string

UUID of the support conversation to reply in.

body*string

The reply text, max 4000 characters. Reaches the member verbatim.

internalbooleanoptional

Record a creator-only note instead of sending to the member.

reply_to_message_idstringoptional

Optional. UUID of a message in this same conversation to quote above the reply, the way a chat client shows a threaded reply.

What it returns

{  "data": {    "message_id": "6c18f7a3-2e95-4d60-b47a-c093e5182b7f",    "conversation_id": "9e042b6f-5d81-4c37-a920-7b3e18cf6d45",    "internal": false,    "delivery_status": "pending"  }}

How it fails

TOKEN_MISSING_ABILITY

token lacks support-conversation:update.

No support conversation found with that id. — unknown id, or outside the token's project scope.

A reply needs a body. — body was empty or whitespace only.

A reply may not be longer than 4000 characters. — the connector's message ceiling.

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 as unreachable. Read the message back with get_support_conversation if 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_conversation separately when the matter is closed.
  • Only text is supported here. Sending media takes the dashboard inbox.
  • reply_to_message_id must 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.

How is this guide?

Last updated on