Create Draft
create_draftSaves an email to the Mail.app Drafts folder for the user to review and send manually — it never sends. Compose a new draft with to/subject and body or html_body, or save a reply draft with reply_to_message_id, reply_all, and body or html_body; the response gives the subject and, once Mail shows the saved draft back, the mailbox it landed in (mailbox for a new draft, draft_mailbox for a reply) and its current message id; when Mail has not shown it yet, no mailbox is named. A reply draft holds your text followed by a plain-text quote of the original ("On , wrote:" and the original's lines prefixed with > ), not Mail's styled quote, and in a reply draft html_body is converted to plain text. quoted_original in the response is true when the quote is there; it is false, with a note, when the original has no readable text. A reply draft's response includes threaded: true means the saved draft was read back and its headers reference the source message (it will appear inside the conversation); false means it saved WITHOUT threading headers (relay the warning to the user); "unconfirmed" means it could not be read back in time (e.g. Exchange sync lag). On a multi-account Mac, pass account (an account name from list_email_accounts) or from (a sender address) to place the draft in that account's Drafts; otherwise it lands in the default account. Attach files by passing attachments (comma-separated absolute file paths, e.g. a PDF quote) — they are attached to the saved draft. Use this for the cautious user who wants AI-composed mail but insists on sending it themselves.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC address(es), comma-separated. | |
| to | No | Recipient address(es) for a new draft, comma-separated. May be left empty: the draft is saved without a recipient, to be added in Mail. Omit for a reply draft (uses reply_to_message_id). | |
| bcc | No | BCC address(es), comma-separated. | |
| body | No | Plain-text body of the draft. | |
| from | No | Sender address — on a multi-account Mac, selects which account's Drafts to use. Alternative to `account`. | |
| account | No | Account name (from list_email_accounts) whose Drafts folder receives the draft. Alternative to `from`. | |
| confirm | No | Ignored; kept for older clients. | false |
| subject | No | Subject line for a new draft. Ignored for reply drafts (they inherit the original subject). | |
| html_body | No | HTML body of the draft. Takes precedence over `body` when both are given. | |
| reply_all | No | For a reply draft, include all original recipients (reply-all) instead of just the sender. | false |
| attachments | No | Files to attach, as comma-separated absolute paths (e.g. a PDF). | |
| reply_to_message_id | No | Message id (from list_emails/search_emails) to draft a reply to, instead of a new message. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| kind | No | ||
| account | No | ||
| id_note | No | ||
| mailbox | No | ||
| subject | No | ||
| message_id | No | New drafts: the draft's id right after saving. Can change when Mail re-saves it (see id_note). | |
| attachments | No | ||
| saved_draft | No | ||
| quoted_original | No | Reply drafts only: true when the draft holds your text followed by a plain-text quote of the original. | |
| attachments_failed | No | ||
| reply_to_message_id | No |