reply_email
Email · macOS
Effect: send (strongest supported action). Status: gated.
Gated means the tool requires an installed app, a connected account, permission, or runtime availability. Check those requirements on the listed platform before using it.
macOS
Purpose
Use this when the user wants to reply to an email that lives in the Mac's Apple Mail (message ID from list_emails/search_emails). Supports plain text or HTML body and previews before sending. To leave the reply in Drafts WITHOUT sending, pass `save_as_draft: true`: it builds the same native Mail reply (automatic quote of the original, correct thread, Reply/Reply-All recipients) and saves it instead of sending — `send` is never called on that path. `create_draft` with `reply_to_message_id` also leaves a draft, but composes it from scratch, so it has no automatic quote. For a Microsoft 365 message ID from m365_list_emails, use m365_reply_email. Pass `account` (from list_emails/search_emails results) to skip scanning other accounts and avoid timeouts on multi-account Macs.
Required inputs
message_id— Id of the message to reply to (from list_emails/search_emails).
Permissions and confirmation
Explicit confirmation parameter: inspect the schema and tool description before any real call. The documentation example keeps confirm false. Obtain user authorization before performing the action.
- Use only the apps, accounts and resources authorized by the user on this platform. Consult this tool's platform-specific description for its connection and permission requirements; this catalog does not assert additional OAuth scopes or OS entitlements.
Full input schema — macOS
{
"properties": {
"account": {
"description": "Account (from the listing) the message is in — pass it to skip scanning other accounts and avoid multi-account timeouts.",
"type": "string"
},
"body": {
"description": "Plain-text reply body.",
"type": "string"
},
"confirm": {
"default": "false",
"description": "Consent gate: the first call previews the reply; call again with confirm=true to actually SEND it — or to save it when save_as_draft is set.",
"type": "boolean"
},
"html_body": {
"description": "HTML reply body. Takes precedence over `body` when both are given.",
"type": "string"
},
"message_id": {
"description": "Id of the message to reply to (from list_emails/search_emails).",
"type": "string"
},
"reply_all": {
"default": "false",
"description": "Reply to all original recipients instead of just the sender.",
"type": "boolean"
},
"save_as_draft": {
"default": "false",
"description": "Save the native reply in Drafts instead of sending it. Keeps Mail's reply template: automatic quote of the original, the right thread, and the Reply/Reply-All recipients. Nothing is sent on this path.",
"type": "boolean"
}
},
"required": [
"message_id"
],
"type": "object"
}Documentation example
Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.
{
"body": "Can we review the launch checklist on Tuesday?",
"confirm": false,
"message_id": "demo-message-001"
}