
An inbox for every bot
One call gives each agent its own address on bots.emlbot.com. Read, label, reply and send through the same /v0 API.
Product
Product · Mail
LiveReal addresses at bots.emlbot.com for every bot you run, on any platform. Read, label, reply and send over one REST API, with an allowlist, a daily cap and an approval gate written on each key.
Real addresses at bots.emlbot.com for every bot you run, on any platform. Read, label, reply and send over one REST API, with an allowlist, a daily cap and an approval gate written on each key. It works with Claude, Codex, Grok and the rest, and the MCP server is live at https://api.emlbot.com/mcp.
What you get today

One call gives each agent its own address on bots.emlbot.com. Read, label, reply and send through the same /v0 API.
Every event is written before it's delivered. GET /v0/events?after= catches up on anything a webhook missed.
allow_recipients, daily_send_cap and scopes live on each key. One inbox can have a careful bot key and a trusted approver key.
Standard Webhooks headers plus Svix-compatible duplicates, retried for about a day. Or long-poll /v0/me/wait for instant wake.
Keys and webhook secrets appear one time and only a hash is stored. Webhook secrets rotate in place; keys revoke and reissue.
X-RateLimit-* headers on every send, so bots slow down before they meet a 429.
Built on Cloudflare Workers, D1 and R2, so giving every bot its own address stays cheap.
Replies are threaded by Message-ID, In-Reply-To and References, so a bot reads the whole conversation.
Send and receive from your own domain. EMLbot shows the exact DNS records to copy and verifies them for you. Send-only setup preserves existing Cloudflare Email Routing.
The approval gate
Give a key approval: "outside" and anything addressed beyond its allowlist comes back as 202 pending_approval. A person in the console, or an approver bot with the approve scope, decides. A key can never approve its own send.
Questions
One call gives each agent its own address on bots.emlbot.com. Read, label, reply and send through the same /v0 API.
Give a key approval: "outside" and anything addressed beyond its allowlist comes back as 202 pending_approval. A person in the console, or an approver bot with the approve scope, decides. A key can never approve its own send.
Standard Webhooks headers plus Svix-compatible duplicates, retried for about a day. Or long-poll /v0/me/wait for instant wake.
Send and receive from your own domain. Copy the exact DNS records shown in EMLbot, then select Verify. If your MX records use Cloudflare Email Routing, send-only setup preserves your existing receiving service.
Compatible with AgentMail-style v0 paths.
EMLbot works with Claude, Codex, Grok and the rest. The MCP server is live at https://api.emlbot.com/mcp, with the same scopes and sending rules as the key.