MultiMail gives your AI agent a direct path from API key to delivered email — with gated approval built in so production sends go through human review by default.
Adding email to an agent workflow should take an afternoon, but the first integration typically stalls in three places: figuring out the correct authentication headers, getting the payload shape right, and deciding what happens when the agent sends something the human didn't expect. Teams often discover these gaps in production, after an agent has already sent an email that shouldn't have gone out.
MultiMail provides a REST API and an MCP server that share the same authentication model and mailbox primitives — call the REST endpoints directly with any HTTP client (curl, requests, httpx), or invoke the tools through an MCP-compatible client. The default oversight mode for new integrations is gated_send: your agent can read and draft emails autonomously, but sends are held in a queue until a human approves them. This means you can ship a first agent email integration without writing your own approval logic or review UI.
Generate a live or test API key from the MultiMail dashboard. Test keys (mm_test_...) route all sends to a sandbox and never reach real recipients, so you can exercise the full authentication, payload, and approval flow safely before going to production.
Set the Bearer token in your agent's environment. For REST callers, add the Authorization header to every request. For MCP clients such as Claude Desktop, Cursor, or Windsurf, point the server config at https://mcp.multimail.dev/mcp with the same token.
Call send_email with your mailbox_id (the sending mailbox you own on MultiMail), recipient, subject, and markdown body. Under gated_send, the API returns an id and status: pending_scan — the email is queued, not yet delivered.
MultiMail notifies the reviewer via webhook or email. The reviewer calls decide_email with action: approve to release the message, or action: reject to discard it. Only after approval does MultiMail hand the message off for delivery.
After approval, MultiMail delivers the email and emits a message.delivered webhook event. Your agent can subscribe to the webhook or poll read_email with the email's id to confirm delivery before proceeding to the next step in the workflow.
Pick your platform, copy the prompt, and paste it to your AI agent — it sets up MultiMail and builds the whole flow. Nothing to fill in.
gated_send holds every outbound message in a queue until a human approves it. You get the full review workflow — notification, approve/reject UI, and state tracking — without building any of it yourself.
mm_test_ keys exercise the complete send path — authentication, payload validation, approval flow, and delivery webhooks — against a sandbox. You can iterate on your agent without risking accidental sends to real users.
The same Bearer token works whether your agent calls the REST API directly or runs through an MCP-compatible client. No separate credentials or configuration per integration path.
Pass an idempotency_key in the send_email request. If your agent retries after a timeout or network failure, MultiMail returns the original id with status: already_sent and idempotent: true, without creating a second send — no duplicate emails reach recipients.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a hosted MCP server. Formally verified in Lean 4.