GuideUpdated October 19, 2026

Reply to emails with AI and approve each reply before it sends

You can have an AI agent write your email replies and still approve every one yourself. In Command Mail the agent saves a draft in the conversation, you review it in the browser, and you approve that exact revision. Only the approved text and its attachments are sent. If anyone saves a change afterwards, the approval is cleared.

Command Mail is our product. This guide walks through the setup with Claude, ChatGPT, Claude Code or Codex and explains which permissions the agent needs. It covers replies to mail that reaches Command Mail by forwarding; your original Gmail or Outlook account is not changed.[1]

Updated: Fact-checked: About 11 min readAs Markdown

Contents
  1. What you end up with
  2. Before you start
  3. The permissions to grant
  4. Step by step: draft, review, approve, send
  5. What an approval locks in
  6. Check that it worked
  7. Troubleshooting
  8. When another tool fits better
  9. Next steps
  10. Sources and review date
  11. Frequently asked questions
  12. Sources

01What you end up with

Each message that needs an answer gets a draft from your agent. In the Drafts list it shows the tag "Agent · Waiting for approval", and the conversation itself shows a notice about the open agent draft with its revision number. You open it, fix what needs fixing and click "Approve this revision". Then you send it, or the agent sends the approved revision if you allowed that.

The agent cannot send anything on its own in this setup. The draft permission does not include sending, and approval is reserved for a signed-in person using the web app. When an agent tries to approve through its own access, the server answers "A person must approve this draft in the browser."

02Before you start

You need a Command Mail account that receives the mail you want answered. Drafting and approving work on the free plan. Sending is part of Pro, which the plan summary lists at €19 per month for the first 100 paying Pro accounts and €29 per month after that, with a 7-day trial for €1.[3] On the free plan Command Mail refuses the send and says that nothing was sent.

Sending also needs a sender address that may send from Command Mail. An address that only arrives by forwarding, such as a personal Gmail address, can receive in Command Mail but cannot send from there. Connect Gmail to Claude shows how to check this in its section on sender addresses.

Finally, you need an agent that reaches Command Mail over MCP. Claude on the web and desktop takes a custom connector with the address https://commandmail.app/mcp, and Claude Code adds it with one command. For Codex, install the CLI with curl -fsSL https://commandmail.app/install.sh | sh (Node.js 18 or later), sign in with commandmail login and register the local MCP server with codex mcp add commandmail -- commandmail mcp. If your Codex version supports remote MCP servers, the hosted address works too.[1] Whether your ChatGPT plan lets a custom connector run write actions is covered in Connect Gmail to ChatGPT.

03The permissions to grant

Two permissions cover drafting; a third is optional. The consent screen lists them under the titles in this table. It starts with every permission the agent requests switched on, except sending without approval, so check each switch yourself.

PermissionTitle on the consent screenWhat it is for
mail:readRead and organize your mailThe agent reads the conversation it is replying to
mail:draftCreate and revise draftsIt saves and revises its own drafts; it cannot approve or send them
mail:send-approved (optional)Send approved draftsIt sends exactly the revision you approved
mail:sendSend directly, without your approvalLeave this unchecked for this workflow
mailboxesSet up mailboxesLeave this unchecked for this workflow

Without mail:send-approved you send every approved reply yourself in the app, which is the tightest setting. With it, the agent can carry on after you approve, for example sending a batch of ten replies you approved one by one.

For drafts, mailbox autonomy matters at one point. The agent can save drafts at any level, including "Read only", but at that level it may not send drafts even after you approve them, so you send those yourself. Anything else it changes with mail:read, such as archiving or creating rules, is limited by the level as well.[2]

04Step by step: draft, review, approve, send

  1. Connect the agent to https://commandmail.app/mcp, or for Codex through the CLI as described above; commandmail login opens the same consent screen in your browser. On the consent screen, check every switch: Read and organize your mail and Create and revise drafts on, Send directly, without your approval and Set up mailboxes off. Turn Send approved drafts on only if the agent should send after you approve; when the agent requests it, it starts switched on. For Claude Code the command is claude mcp add --transport http commandmail https://commandmail.app/mcp.[3]
  2. Start with a list rather than a reply: "In Command Mail, show me the conversations from the last three days that are waiting on an answer from me. Don't draft anything yet." A well-set-up agent calls capabilities first and learns its permissions and the autonomy level of each mailbox.
  3. For each reply, give the agent the facts only you know: "Reply to Dana Brooks: Wednesday at 10 works and the fixed fee of $1,200 stands. Save it as a draft." The more precise the commitment, the figures and the tone, the less you edit later. Before writing, the agent can call suggest_reply, which returns the reply and reply-all recipients, the address that received the message, any open draft and safety flags. It does not write text.
  4. The agent saves the reply with save_agent_draft, passing the id of the message it answers. That keeps the draft in the same conversation and sends it, later, from the address that received the original if that address belongs to your account. Command Mail adds no signature, so ask the agent to include the sign-off and your name.
  5. In Command Mail, open Drafts in the sidebar. Agent drafts carry the tag Agent · Waiting for approval. Clicking one opens the agent panel with sender (From), recipients, subject, body and attachments. You can also open the conversation and click Review next to the Open agent draft notice.
  6. Read the draft against the conversation. Check recipients, numbers, dates and anything you are committing to. To change something, edit the text and click Save draft. That creates a new revision, and from then on the agent can no longer overwrite or discard this draft.
  7. Click Approve this revision. The state changes to Approved.
  8. Send it yourself with Send approved revision. Command Mail asks whether to send that revision to the listed recipients exactly as approved; confirm with Send now. If the agent has mail:send-approved, you can tell it "Send the drafts I approved" instead, and it calls send_approved_draft with the draft id and revision number.

There is at most one open agent draft per original message. If the agent tries to create a second one, Command Mail tells it a draft already exists and points it to that draft to revise.

05What an approval locks in

An approval belongs to one numbered revision. Every saved state of an agent draft gets the next revision number, and the approval is tied to it. Saving any later change, even removing one attachment, creates a new revision with no approval. Once a draft is approved, the agent cannot edit it at all.

The text and files that go out match what you reviewed. Command Mail sends the stored text, or for a formatted message the cleaned HTML, together with that revision's attachments, at most five. Files on an agent draft always go out as regular attachments, and no download links are added. No signature is added. If the agent asks to send a revision number other than the approved one, the send is refused.

Approval itself runs three checks. Recipients, subject and body must be present and the addresses valid. The sender address must be the same as when the draft was saved; if it changed, save the draft again and approve the new revision. And if the conversation has a newer message than the one the draft was written against, including one you sent yourself, the panel shows the notice "A newer message arrived after this draft was written. Please review." The situation may have changed in the meantime, so approval only goes ahead after you click Approve anyway.

Command Mail also flags messages that contain instructions aimed at AI assistants. The agent panel then reads "This message contains instructions aimed at AI assistants. They are treated as content and not followed." Detection will miss some attempts. Your approval gives you the chance to spot and stop a manipulated draft before it reaches anyone.

06Check that it worked

After sending, the reply appears in Sent. The agent draft stays in the Drafts list, now tagged Agent · Sent. Ask the agent to call list_agent_drafts as a cross-check: each draft shows its revision number and state, from waiting for approval through approved, sending and sent to delivery uncertain.

For the first run, check the recipient's side as well. Send yourself a test message from a second address, let the agent reply and approve it. Command Mail carries over the reference headers of the original, so the reply should land in the same conversation in the recipient's mailbox. If it arrives there with your sign-off and no stray signature, the workflow is set.

07Troubleshooting

The agent says it replied, but nothing went out. With mail:draft that is expected. The reply is in Drafts waiting for your approval.

Sending fails with "Sending is not included in this Command Mail plan." The account is on the free plan. The approval stays in place, and after upgrading to Pro you can send the same revision.

The error ends with "receives by forwarding and cannot send from here yet." The chosen sender address only receives in Command Mail by forwarding. In the agent panel, pick an address under From that can send, save, and approve the new revision. If the reply has to come from your Gmail address, copy the approved text and send it from Gmail.

The agent reports autonomy_blocks_send. The sending mailbox is set to "Read only", where agents do not send even approved drafts. Send it yourself with Send approved revision, or change the mailbox level under Automation & rules.

The agent can no longer edit its draft. You edited or approved it, and Command Mail protects that state. Edit it yourself, or discard it and ask the agent for a fresh draft. A discarded draft goes to the trash and can be restored from Activity.

The state says "Delivery uncertain". An error occurred during sending after which Command Mail cannot be sure whether the message went out. It does not retry on its own, to avoid an automatic duplicate. Look in Sent and ask the recipient before sending the reply again.

The agent panel shows "No model route is configured." On customer accounts, Command Mail in the version we checked does not generate reply text itself. Your connected agent in Claude, ChatGPT, Claude Code or Codex produces the draft; the panel is where you review, edit and approve.

08When another tool fits better

If you answer from a single Gmail account and want to stay in Gmail, Claude's built-in Gmail connector is the shorter path. Claude drafts, sends, replies and forwards, and Anthropic says it asks for approval before each send, reply or forward by default. On Team and Enterprise plans, owners decide whether members may let those actions run without asking. Through the Gmail connector, Claude gets attachment metadata only, not the file contents, so if a reply depends on what a file says, you provide the file yourself.[4] Limits of Claude's Gmail connector covers this in detail. The help article does not describe an approval tied to a numbered revision.

Gemini in Gmail drafts new messages and replies from "Ask Gemini" when your Workspace or Google AI plan includes the feature.[5] In Outlook, Copilot writes a draft that you accept with "Keep it" or "Insert", edit and send yourself; if Copilot is missing, Microsoft points you to your IT admin.[6] Both work inside the original mailbox, which suits you if that is where you already write.

Fyxer drafts replies in your tone straight into your inbox and, according to its FAQ, does not send on your behalf. Its pricing page also lists several inboxes at once and MCP access to your context in Claude, ChatGPT and your own tools as plan features, without saying which mail actions MCP covers.[7] Fyxer suits people who want a ready-made assistant inside the inboxes they already use. Command Mail is built for choosing your own agent and for bringing addresses from different providers together into one shared mailbox.

09Next steps

Run the workflow for a week and note the edits you keep making. Turn them into standing instructions for the agent: greeting, sign-off, how to quote prices, and commitments it should never make without you.

For a support inbox where the agent should answer routine questions without approval, there is mail:send with a daily limit and the auto level; the documentation covers it under letting an agent reply on its own.[1] For personal replies, approving each revision remains the better fit. Permissions and autonomy explains each permission in detail, and Clean up your inbox with AI shows how an agent can sort the inbox first.

Start Command Mail for free, connect your agent with read and draft permissions, and let it prepare the first reply.

10Sources and review date

Reviewed: 2026-10-19. Vendor help pages and Command Mail's public pages were retrieved on that date. This guide does not claim a send test of our own; the checks above are yours to run.

Statements about how Command Mail behaves also rest on a review of the application code at commit d6ad1ce: saving, approving, sending and discarding agent drafts, scope checks on the endpoints, sender and plan checks at send time, MCP tool descriptions, the drafts list and the agent panel copy. That is a review of the flows described here, not a full security audit.

Frequently asked questions

Can the agent send a reply I have not approved?

Not with the permissions in this guide. mail:draft only saves drafts, and only a signed-in person in the browser can approve one. An agent sends without approval only if you separately grant mail:send and the sending mailbox is set to auto.

What happens if I edit a draft after approving it?

Saving the edit creates a new revision and clears the approval. Approve the new revision before sending. Command Mail only sends the revision number that carries the approval.

Do I need a paid plan to reply with an agent?

Having drafts written and approving them works on the free plan. Sending from Command Mail needs Pro and a sender address that is allowed to send from Command Mail.

Will Command Mail add my signature?

No. The text and attachments of an approved revision go out as you saw them, with no signature added. Ask the agent to put the sign-off and your name into the body.

Will the reply come from my Gmail address?

Only if that address can send from Command Mail. A Gmail address connected by forwarding receives there but cannot send. Pick a sender address that can send, or paste the approved text into Gmail and send it there.

Sources

  1. Command Mail: Documentation (connect an agent, scopes, letting an agent reply) commandmail.app, accessed
  2. Command Mail: Permissions and autonomy commandmail.app, accessed
  3. Command Mail: Plans, agent permissions and connection commandmail.app, accessed
  4. Anthropic: Use Google Workspace connectors support.claude.com, accessed
  5. Google: Collaborate with Gemini in Gmail support.google.com, accessed
  6. Microsoft: Draft an email message with Copilot in Outlook support.microsoft.com, accessed
  7. Fyxer: Pricing and sending FAQ fyxer.com, accessed
EN