Save a reply as a draft
draft_replyCompose a reply to a message and save it in Drafts WITHOUT sending it. Use this whenever the user wants to review or edit a reply before it goes - never draft_email, which composes a standalone message: a draft made that way carries a "Re:" subject but no quoted original and none of the headers that attach it to the thread, so it looks right and arrives as a new conversation. This produces exactly what reply_email would have sent - the original quoted below the new text, correct recipients, correct threading - and puts it in the Drafts folder, where it opens in Outlook or webmail to be edited, sent or deleted. The original is NOT marked as answered, because it has not been answered yet; that happens if and when the user sends it. Nothing is sent and nothing reaches anybody.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Extra people to copy in, on top of whoever the original message resolves to - the same thing as typing an address into the Cc line of a reply. Someone already being written to in To is not repeated here. | |
| all | No | Reply to everyone. The sender and the original To recipients go in To; the original Cc stays in Cc; your own addresses are removed from both. Defaults to false. | |
| uid | Yes | The UID of the message to reply to, from list_emails. | |
| body | Yes | Plain text of the reply - your words only. The quoted original is added below them; do not paste it in yourself. | |
| from | No | Send as one of the other addresses on this mailbox instead of its default. Use it only when the user names an address to send from. It must be one already added to the mailbox; anything else is refused with the list of addresses that would have worked. The mail server still decides whether it will carry the address, and may refuse it at send time. | |
| html | No | Optional HTML body. Send real markup, used exactly as given and never escaped or unescaped by us: `<p>Hi</p>`, never `<p>Hi</p>`. Escaped markup is delivered as visible tags and nothing will warn you. Leave it out unless you have real markup to send: the message still goes out as HTML, built from `text`, carrying the mailbox owner's HTML signature. Send it only for real markup of your own words: the quoted original is added to the HTML part either way, and is never something you paste in yourself. | |
| mailbox | No | IMAP folder the message is in. Defaults to INBOX. | |
| attachments | No | Files to attach. FOUR WAYS IN, AND ONLY ONE OF THEM COSTS YOU ANYTHING. For a file already in this mailbox, call read_email on the message holding it and pass the `ref` from its `attachments` list as `fileRef`. For a file on the web, pass its https:// link as `url` and this server fetches it. For a file on the person's own computer, make a link with create_upload_link and pass its `uploadId` once the file is up - one entry attaches everything that arrived there. Those three work at any size, because the bytes never pass through this conversation. `content` is the last resort and is only for something you generated yourself in this conversation that exists nowhere else: it costs roughly 450,000 tokens per megabyte, so keep it under about 50 KB. All attachments TOGETHER must come to under 10 MB - a whole-message limit, not an allowance per file, so three 4 MB files are refused however they arrived. | |
| plainTextOnly | No | Send with no HTML part at all. Leave this out unless the user has asked for plain text or the recipient is a list that rejects HTML - it drops the mailbox owner's HTML signature and their formatting. Do not set it to be cautious; HTML is the normal format and what their own mail client sends. | |
| confirmReplyTo | No | Only needed when this tool refuses because the message carries a Reply-To pointing somewhere it did not come from. Read the refusal, TELL THE USER where the reply is actually going, then pass those addresses here to proceed. | |
| requestReadReceipt | No | Ask the recipient's mail program to confirm when the message is opened, exactly as Outlook's "request a read receipt" tick box does. Only set it when the user asks for it. TELL THEM WHAT IT REALLY DOES before promising anything: it is a request their mail program may ignore and that many clients ask them to approve, so most messages never produce one however promptly they are read - consumer Gmail never sends one, Workspace only if an administrator enabled it, Apple Mail only behind a setting that ships off. Use check_receipts afterwards to see whether one came back, and never treat silence there as evidence the message was unread. There is no delivery-receipt option: that needs an SMTP feature none of the mail providers this connects to offer. |