Reply to an email
mail_replyReplies to a message from the account that received it, keeping the conversation and quoting the original; reply_all includes everyone; cc and bcc add people. Use it to answer mail in its thread. Returns sent. It can return pending_approval: tell the user a person must approve it in Prubex, and do not retry. Example: { "message_id": "msg_…", "body": { "content": "Thanks, confirmed." } }.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"message_id": "<message_id>",
"body": "<body>"
},
"name": "mail_reply"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Extra people to copy, as `{ email, name? }`, on top of whom the reply already goes to (the sender, or everyone with `reply_all`). Nobody is listed twice. | |
| bcc | No | Extra people to blind-copy, as `{ email, name? }`. Someone the reply already reaches stays visible where they are. | |
| body | Yes | The message body. Markdown is converted to HTML for the recipient. | |
| reply_all | No | Reply to every recipient, not just the sender. | |
| message_id | Yes | A message id (`msg_…`) from a list or search. | |
| attachments | No | Files to attach to the reply, within the account's limit. | |
| idempotency_key | No | Any unique string. Retrying with the same key within 24 h never repeats the action. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| message | Yes | What happened, in words for the user. | |
| thread_id | No | ||
| account_id | Yes | ||
| expires_at | No | When held: when the request expires. | |
| message_id | No | The sent message, when the provider reports it. | |
| review_url | No | When held: where a person approves it in Prubex. | |
| approval_id | No | When held: pass it to approvals_get later. |