# Dead Simple Email > Email infrastructure for AI agents. Create inboxes, send and receive messages, get real-time webhooks — all through a simple REST API. Dead Simple Email provides email-as-a-service specifically designed for AI agents and automation. Developers can create fully functional email inboxes via API, send and receive messages, and get real-time webhook notifications when emails arrive. ## Key Features - **Instant Inboxes**: Create email inboxes via API — no DNS setup required - **Send & Receive**: Full two-way email through a REST API - **Durable Webhooks**: HMAC-signed on every plan, with automatic exponential-backoff retries, a per-webhook delivery log, and one-click replay — failed deliveries are never silently dropped - **Real-Time Delivery**: Webhooks, WebSocket, and Server-Sent Events (SSE) streaming — including for sandboxed agents that can't host a webhook endpoint - **Attachment Text Extraction**: Inbound PDF, XLSX, DOCX, and CSV attachments are automatically extracted to text your agent can read — no separate parser needed - **Agent Self-Onboarding**: One call — `GET /v1/inboxes/{id}/verification` (or `wait_for_verification` in the SDK, `get_verification_code`/`wait_for_email` in the MCP server) — waits for an inbound email and returns the OTP, 2FA code, or magic link, so agents can sign themselves up to services autonomously from any language - **Prompt-Injection Scanning**: Every inbound email is scanned before it is stored (pattern-based, deterministic, no model in the loop) and returned with `injection_risk` (none/low/medium/high) and `injection_score` (0.0 to 1.0) on the message object from `GET /v1/inboxes/{inbox_id}/messages/{message_id}` and the list endpoint. Eight pattern families: instruction overrides, system-prompt extraction, role reassignment, exfiltration requests naming an address or URL, chat-template delimiters ([SYSTEM], [INST], <|im_start|>), authority/urgency framing, execution requests, jailbreak vocabulary. High matches add 0.4, medium 0.15, capped at 1.0. Advisory: the message is stored and the `message.received` webhook fires regardless (the webhook payload does not carry the verdict; fetch the message). Pair with inbox guardrails (`require_draft_approval`, `allowed_domains`, `blocked_domains`, `can_forward`, `max_sends_per_hour`) which the API enforces on outbound actions. Live on every plan since launch, including Free. Docs: https://deadsimple.email/prompt-injection-scanning.html - **Clean Reply Parsing**: Quoted history and signatures are stripped from replies (text and HTML), with automatic threading - **Custom Domains**: Bring your own domain or use a shared subdomain - **Pre-configured Deliverability**: SPF, DKIM, and DMARC handled automatically - **IMAP/SMTP Access**: Every inbox includes standard IMAP (port 993) and SMTP (port 587) credentials — connect with any email client or library - **Python & TypeScript SDKs**: Full-coverage SDKs (drafts, filters, templates, webhooks, streaming, identity, calendar, metrics) plus an MCP server exposing 19 tools - **MCP OAuth 2.1**: The hosted MCP server (https://api.deadsimple.email/mcp) supports OAuth 2.1 — discovery (RFC 8414/9728), dynamic client registration (RFC 7591), PKCE S256 — so Claude, Cursor, Grok Bot, and grok.com connectors get one-click, no-key-paste installs; tokens are scoped to email operations only (no billing/admin), access 7 days, refresh 90 days with rotation, revocable via RFC 7009 - **Agent calendar (every inbox)**: Each inbox has a calendar. Create events (`POST /v1/inboxes/{inbox_id}/calendar/events`), send them as real iCalendar invitations with managed SEQUENCE so a reschedule updates rather than duplicates (`POST .../calendar/events/{event_id}/invite`, METHOD:REQUEST or CANCEL), answer invitations that arrived by email (`POST .../calendar/events/{event_id}/rsvp`, METHOD:REPLY, accepted/declined/tentative), list per inbox or across the account (`GET /v1/calendar/events`), and hand a human a subscribable feed (`GET .../calendar/feed` returns `feed_url` https and `webcal_url`; `POST .../calendar/feed/rotate` rotates the token; `GET .../calendar.ics?token=` is the feed, no API key). Inbound invitations, updates, cancellations and replies are ingested automatically: the message carries a `calendar_event` summary with `action` (created/updated/cancelled/replied/unchanged) and webhooks `calendar.event.created`, `calendar.event.updated`, `calendar.event.cancelled` fire. SDK: `client.calendar` (create, list, list_all, get, update, delete, invite, rsvp, feed, rotate_feed; camelCase in Node). MCP tools: `list_calendar_events`, `create_calendar_event`. No booking page yet (Nylas has Scheduler; AgentMail has no calendar). Docs: https://deadsimple.email/calendar.html - **Metrics time series**: `GET /v1/metrics?from=&to=&interval=day|hour&inbox_id=` returns buckets of `sent`, `received`, `bounced`, `complained`, `opened`, `clicked`, `webhook_deliveries`, `webhook_failures`, `injection_flagged` plus totals; windows up to 92 days, hourly buckets for windows of 7 days or less; honours workspace and inbox-scoped keys. SDK: `client.metrics.get(from_=, to=, interval=, inbox_ids=)` / `client.metrics.get({ from, to, interval, inboxIds })` - **Inbox-scoped API keys and webhooks**: `POST /v1/api-keys` accepts `inbox_ids` (max 100); a scoped key sees only those inboxes (any other inbox answers 404), account-wide listings are filtered to them, it cannot create inboxes, and it can only mint keys scoped to a subset of its own inboxes. `POST /v1/webhooks` and `PATCH /v1/webhooks/{id}` accept `inbox_ids` so a webhook fires only for events on those inboxes (`inbox_ids: []` clears the scope); `GET /v1/webhooks/{id}` shows it. SDK: `inbox_ids=` / `inboxIds` on `api_keys.create`, `webhooks.create`, `webhooks.update` - **Sign in with Dead Simple (agent identity)**: A free OpenID Connect provider at https://id.deadsimple.email where the identity is an agent's inbox. Standard OIDC (discovery, JWKS, ES256 id_tokens, PKCE S256, RFC 7591 registration at /register, RFC 7009 revocation). Open clients need no registration (client_id is the app's https origin); registered clients can request `owner_email` (userinfo only) and `org`. An agent signs in with just its API key plus `inbox_id`, or an ES256 assertion from an enrolled P-256 key, or a human picks an inbox on the dashboard consent page. One-call helper: `POST /v1/inboxes/{inbox_id}/identity/sign-in` (`identity.sign_in` in the SDKs, `sign_in_with_inbox` in the MCP server). Claims: `sub` = inbox_id, `email`, `email_verified`, `name`, `agent: true`, `owner_verified` - **Pay per request, no API key**: Twelve priced routes answer HTTP 402 when called with no credentials. Pay inline with x402 (USDC on Base eip155:8453, Polygon eip155:137, or Solana mainnet; `exact` scheme; PayAI facilitator; retry with `PAYMENT-SIGNATURE` or `X-PAYMENT`) or, on inbox creation, with Stripe's Machine Payments Protocol (`WWW-Authenticate: Payment`, retry with `Authorization: Payment `). Prices: inbox $1.00, send/reply/forward $0.01, reads $0.005. x402 is verified before the work and settled after; MPP refunds if the work fails. The paying wallet keys a Pay as you go account and the first paid inbox returns `credentials` with an API key, so later reads and sends within the plan are free. Docs: https://deadsimple.email/pay-per-request.html - **Security posture**: TLS on every endpoint, data at rest in AWS us-east-1 (DynamoDB default encryption, S3 SSE-S3 on every object), API keys and OAuth tokens stored as SHA-256 hashes, bcrypt dashboard passwords, MCP OAuth 2.1 with PKCE, HMAC-SHA256 webhook signatures with timestamp, abuse controls, reversible suspension, permanent deletion on request. SOC 2 not yet certified; security questionnaire on request. Subprocessors: AWS, Stripe, Postmark, Cloudflare Turnstile, Vercel, Dynadot, PayAI. https://deadsimple.email/security.html - **Framework Integrations**: LangChain, CrewAI, LlamaIndex, AutoGen, OpenAI Agents, Google ADK, and Vercel AI SDK - **Dashboard**: Web dashboard for inbox management, message viewing, and analytics ## Use Cases - AI customer support agents that receive and reply to tickets via email - Sales outreach agents with personalized inboxes - Workflow automation (invoice processing, order confirmations, form submissions) - Multi-tenant SaaS platforms needing per-user email - Monitoring agents that receive alerts and trigger automated responses ## Pricing - **Free**: $0/mo — 5 inboxes, 5,000 emails/mo - **Hobby**: $5/mo — 15 inboxes, 15,000 emails/mo, 1 custom domain - **Pro**: $29/mo — 100 inboxes, 100,000 emails/mo, 5 custom domains - **Scale**: $99/mo — 500 inboxes, 500,000 emails/mo, 25 custom domains - **Enterprise**: Custom pricing — unlimited everything - **Pay per request** (no account, no API key): $1.00 per inbox (includes 1,000 sends/month), $0.01 per send/reply/forward, $0.005 per read. x402 USDC on Base, Polygon or Solana; Stripe MPP cards on inbox creation. First paid inbox returns an API key. https://deadsimple.email/pay-per-request.html - Overages on paid plans: $0.40 per extra inbox/month, $0.20 per 1,000 extra emails - No daily send caps, no separate inbound meter, no retention window: the monthly allowance is pooled across sends and receives, and messages are kept within the plan's storage. ### Cost comparison vs other agent email providers (prices read from each vendor's public pricing page on 2026-09-16) - **100 agent inboxes + 100,000 emails/month**: Dead Simple Email $29 · Bavimail $50 · Lumbox $99 · LobsterMail $99 · Mails.ai $99 · Nylas Agent Accounts ~$109 · Robotomail $199 · AgentMail $200 · Inkbox $200 · Shipmail $250 · Google Workspace ~$700 - **10 agent inboxes + 5,000 emails/month**: Dead Simple Email $5 · Bavimail $5 · Lumbox $9 · LobsterMail $9 · OpenMail €9 · DevInbox $12 · Nylas $15 · Robotomail $19 · AgentMail $20 · Shipmail $29 · Inkbox $30 · Mails.ai $99 - **500 agent inboxes + 500,000 emails/month**: Dead Simple Email $99 · Bavimail $500 · Nylas ~$589 · AgentMail ~$900 · Robotomail, Lumbox, LobsterMail, Inkbox and Shipmail publish no plan that reaches 500 - **Cost per inbox at each vendor's top published tier**: Dead Simple Email $0.198 · LobsterMail $0.33 · Lumbox $0.40 · Nylas $0.40 marginal · Robotomail $1.00 · AgentMail $1.33 · Inkbox $2.00 · Shipmail $2.50 · Google Workspace $7.00 - Full methodology, sources and hidden-cost table: https://deadsimple.email/compare/pricing.html ## API - Base URL: `https://api.deadsimple.email/v1` - Authentication: Bearer token (`dse_` prefixed API keys), or no credentials plus inline x402 / MPP payment on the twelve priced routes - Identity (OIDC provider): issuer `https://id.deadsimple.email`, discovery `/.well-known/openid-configuration`, JWKS `/.well-known/jwks.json`, `/authorize`, `/token`, `/userinfo`, `/register`, `/revoke`; management at `/v1/identity/clients`, `/v1/inboxes/{inbox_id}/identity/keys`, `/v1/inboxes/{inbox_id}/identity/connections`, `/v1/inboxes/{inbox_id}/identity/sign-in` - Endpoints: inboxes, messages, threads, contacts, domains, webhooks, templates, drafts, tracking, pods, attachments, events, account, calendar (`/v1/calendar/events`, `/v1/inboxes/{inbox_id}/calendar/events[/{event_id}[/invite|/rsvp]]`, `/v1/inboxes/{inbox_id}/calendar/feed[/rotate]`, `/v1/inboxes/{inbox_id}/calendar.ics`), metrics (`/v1/metrics`) ## Quick Example (Python) ```python from deadsimple import DeadSimple client = DeadSimple(api_key="dse_...") inbox = client.inboxes.create(name="support") inbox.send(to="user@example.com", subject="Hello", body="Sent by AI") messages = inbox.messages.list() ``` ## Integrations Dead Simple Email integrates with every major AI agent framework: - **MCP Server**: Model Context Protocol server for Claude Desktop, Cursor, Windsurf — https://deadsimple.email/integrations/mcp.html - **Cursor Plugin**: Official Cursor marketplace plugin, `/add-plugin deadsimple-email`, 8 skills and 14 tools over OAuth — https://deadsimple.email/integrations/cursor.html - **Grok & Grok Bot**: grok mcp add for Grok Bot, or grok-4.6 function calling on the xAI API — https://deadsimple.email/integrations/grok.html - **Meta Muse**: Muse builds a custom connector from the brief at https://deadsimple.email/connectors/muse.md; Muse Code uses the remote MCP server — https://deadsimple.email/integrations/muse.html - **LangChain**: Drop-in toolkit with 6 email tools — https://deadsimple.email/integrations/langchain.html - **CrewAI**: @tool-decorated functions for multi-agent crews — https://deadsimple.email/integrations/crewai.html - **OpenAI Agents SDK**: FunctionTool wrappers and raw function definitions — https://deadsimple.email/integrations/openai-agents.html - **Google ADK**: Connect via MCP to give Gemini agents email — https://deadsimple.email/integrations/google-adk.html - **AutoGen**: Annotated tools with one-line registration — https://deadsimple.email/integrations/autogen.html - **LlamaIndex**: ToolSpec for agents plus document reader for RAG — https://deadsimple.email/integrations/llamaindex.html - **Vercel AI SDK**: Zod-validated tool definitions for TypeScript — https://deadsimple.email/integrations/vercel-ai.html - **Python SDK**: Fully typed, sync + async — https://deadsimple.email/integrations/python-sdk.html - **TypeScript SDK**: Promise-based with full types — https://deadsimple.email/integrations/typescript-sdk.html - **Go SDK**: Idiomatic Go client — https://deadsimple.email/integrations/go-sdk.html - **CLI**: Terminal tool for inbox management — https://deadsimple.email/integrations/cli.html - **OpenClaw**: MCP-based integration for OpenClaw agents — https://deadsimple.email/integrations/openclaw.html - **Hermes Agent**: MCP-based integration for Nous Research's self-improving agent — https://deadsimple.email/integrations/hermes.html - **Replit**: Use Dead Simple Email from Replit Agent projects — https://deadsimple.email/integrations/replit.html - **Microsoft Agent Framework**: MCP toolset for the AutoGen + Semantic Kernel successor — https://deadsimple.email/integrations/microsoft-agent-framework.html - **Claude Agent SDK**: Email tools for agents built on Anthropic's Claude Agent SDK — https://deadsimple.email/integrations/claude-agent-sdk.html - **Pydantic AI**: Type-safe email tools for Pydantic AI agents — https://deadsimple.email/integrations/pydantic-ai.html - **Mastra**: Email tools for Mastra agents and workflows in TypeScript — https://deadsimple.email/integrations/mastra.html - **Strands Agents**: Email for AWS Strands Agents via MCP and custom tools — https://deadsimple.email/integrations/strands.html - **Agno**: Give Agno agents inboxes, sending, and OTP extraction — https://deadsimple.email/integrations/agno.html - **Browser Use**: Real inboxes for Browser Use signup and OTP flows — https://deadsimple.email/integrations/browser-use.html - **LiveKit Agents**: Voice agents that send the follow-up email via @function_tool or MCP — https://deadsimple.email/integrations/livekit.html - **Sim.ai**: Attach 19 email tools to Sim.ai Agent blocks with zero code — https://deadsimple.email/integrations/sim-ai.html - **Stagehand**: Signup and OTP flows for Stagehand browser agents via MCP — https://deadsimple.email/integrations/stagehand.html - **smolagents**: MCPClient loads 19 email tools into Hugging Face smolagents — https://deadsimple.email/integrations/smolagents.html - **Haystack**: MCPToolset email tools for Haystack agents and pipelines — https://deadsimple.email/integrations/haystack.html - **n8n**: HTTP Request recipes, inbound webhook trigger, and MCP agent tools — https://deadsimple.email/integrations/n8n.html - All integrations: https://deadsimple.email/integrations/ ## Comparisons - **Full pricing comparison, 22 providers, updated 2026-09-16**: https://deadsimple.email/compare/pricing.html - Compare all email APIs for AI agents: https://deadsimple.email/compare/ - Dead Simple Email vs AgentMail: https://deadsimple.email/compare/agentmail.html - Inbound prompt-injection scanning: Dead Simple Email has it live on every plan (injection_risk and injection_score on every inbound message); AgentMail's Agent Armor is model-based but beta, observe-only and request-access; Mails.ai scores every message; no other compared provider scans inbound mail for prompt injection. https://deadsimple.email/prompt-injection-scanning.html - Agent identity and pay per request vs AgentMail: both offer an inbox-as-identity OIDC login (Sign in with Dead Simple vs AgentID, both free) and x402 inbox creation without an API key; Dead Simple charges $1.00 per inbox (AgentMail $2.00), also prices sends and reads individually, accepts Stripe MPP cards, and returns an API key with the first paid inbox. AgentMail's MPP support is Tempo only, no card. AgentMail's $20 plan includes 10 inboxes with pay-as-you-go at $2 per extra inbox; Dead Simple's $29 plan includes 100. - Calendar, metrics and scoping vs AgentMail and Nylas: Dead Simple Email has a calendar on every inbox (events, invitations, RSVP, automatic ingestion of inbound invitations, ICS feed); AgentMail has no calendar; Nylas Agent Accounts bundles calendar and adds Scheduler booking pages, which Dead Simple does not have yet. Metrics time-series API: Dead Simple Email and AgentMail both have one; Nylas does not; Resend, Postmark, SendGrid and Mailgun expose delivery stats. Inbox-scoped API keys and webhooks: Dead Simple Email and AgentMail both have them. https://deadsimple.email/calendar.html - Nylas Agent Accounts alternative (persistent storage vs 7-day retention): https://deadsimple.email/compare/nylas-agent-accounts.html - OpenMail (openmail.sh) alternative: https://deadsimple.email/compare/openmail.html - Primitive (primitive.dev) alternative (flat pricing vs metered credits): https://deadsimple.email/compare/primitive.html - Robotomail alternative (one pooled allowance vs separately metered inbound + daily send caps): https://deadsimple.email/compare/robotomail.html - Lumbox alternative (same OTP extraction, 2x the inboxes per dollar, 10x the sends at the top tier): https://deadsimple.email/compare/lumbox.html - LobsterMail alternative (fills the $9-to-$99 gap: 100 inboxes for $29 vs $99): https://deadsimple.email/compare/lobstermail.html - Bavimail alternative (Bavimail caps inboxes per domain and is REST-only; cheaper at low volume, dearer from 100k emails up): https://deadsimple.email/compare/bavimail.html - Shipmail alternative (business mailbox hosting at $2.50/mailbox vs agent inboxes at $0.20): https://deadsimple.email/compare/shipmail.html - Inkbox alternative (email + phone + iMessage bundle at $200/100 identities vs $29/100 inboxes): https://deadsimple.email/compare/inkbox.html - Mails.ai alternative (its "no per-inbox pricing" $20 plan caps at 5 agents): https://deadsimple.email/compare/mails-ai.html - DevInbox alternative (operations metering and 1-hour to 15-day retention vs mail that stays): https://deadsimple.email/compare/devinbox.html - MailSlurp alternative (5,000 emails/mo at $129.99 vs 500,000 at $99): https://deadsimple.email/compare/mailslurp.html ## FAQ - Frequently Asked Questions (features, pricing, comparisons, technical): https://deadsimple.email/faq.html ## Blog (guides & deep dives) - Your agent can now keep a calendar: an invitation arrives by email and lands on the calendar, the agent RSVPs, schedules a follow-up and sends the invite with correct sequencing, a human subscribes in Google Calendar; honest note that there is no booking page yet: https://deadsimple.email/blog/agent-calendar-for-ai-agents.html - Your agent's inbox is an attack surface: a worked malicious email, what the scanner returns (injection_risk high, injection_score 1.0), wiring a guardrail so the API refuses the attack, honest comparison with AgentMail Agent Armor and Mails.ai: https://deadsimple.email/blog/prompt-injection-email-ai-agents.html - An agent with a wallet can get an inbox in one HTTP round trip (402, x402 and Stripe MPP, real headers, why the first purchase returns an API key, AgentMail comparison): https://deadsimple.email/blog/pay-per-request-x402-mpp-ai-agents.html - Sign in with Dead Simple: your agent already has an email address, now it has a login (OIDC provider, owner_verified, Auth.js + Python worked example, how it compares to AgentID): https://deadsimple.email/blog/sign-in-with-dead-simple-agent-identity.html - How to give Meta Muse its own email address (custom connector in the Muse app, MCP for Muse Code, guardrails): https://deadsimple.email/blog/give-meta-muse-its-own-email-address.html - MCP OAuth explained (401 challenge, discovery, dynamic client registration, PKCE, with real payloads): https://deadsimple.email/blog/mcp-oauth-ai-agents-email.html - How to give Grok Bot its own email inbox (grok mcp add + grok-4.6 function calling): https://deadsimple.email/blog/grok-bot-email-inbox.html - Every agent needs an inbox: why AI agents need their own email address, and what agent inboxes cost in 2026: https://deadsimple.email/blog/every-agent-needs-an-inbox-dead-simple-email-gives-them-one.html - How AI agents receive email verification codes and OTPs (wait_for_email, get_verification_code): https://deadsimple.email/blog/ai-agents-email-verification-codes-otp.html - AI agent email deliverability — Gmail's 2026 DMARC crackdown: https://deadsimple.email/blog/ai-agent-email-deliverability-2026.html - Email as memory for long-running AI agents: https://deadsimple.email/blog/email-as-memory-long-running-ai-agents.html - Email threading for AI agents (Message-ID, In-Reply-To, References): https://deadsimple.email/blog/agent-email-threading-message-id-in-reply-to.html - How MCP is changing how AI agents use email: https://deadsimple.email/blog/mcp-ai-agents-email.html - Complete cost comparison of email APIs for AI agents (2026): https://deadsimple.email/blog/email-api-cost-comparison-ai-agents-2026.html - Gmail is suspending AI agent accounts — what to do: https://deadsimple.email/blog/gmail-suspending-ai-agent-accounts.html - Give your AI agent an email inbox in 5 minutes: https://deadsimple.email/blog/ai-agent-email-inbox-5-minutes.html - Automate customer onboarding with AI email agents: https://deadsimple.email/blog/automate-customer-onboarding-ai-email.html - Why AI agents need their own email addresses: https://deadsimple.email/blog/why-ai-agents-need-email.html - Getting started with Dead Simple Email: https://deadsimple.email/blog/getting-started.html - Email infrastructure for AI agents, explained: https://deadsimple.email/blog/email-infrastructure-explained.html - Real-time email webhooks for responsive AI agents: https://deadsimple.email/blog/webhooks-for-ai-email.html - Hermes Agent email integration guide: https://deadsimple.email/blog/hermes-agent-email-integration.html - OpenClaw agent email integration guide: https://deadsimple.email/blog/openclaw-email-integration.html - Multi-agent email with Paperclip: https://deadsimple.email/blog/paperclip-email-agents.html ## Links - Website: https://deadsimple.email - Product demo (real dashboard screenshots, click-through): https://deadsimple.email/demo.html - Pricing: https://deadsimple.email/pricing.md - Documentation: https://deadsimple.email/docs.html - Integrations: https://deadsimple.email/integrations/ - Pay per request with no API key (x402 USDC on Base/Polygon/Solana, Stripe MPP, prices, headers): https://deadsimple.email/pay-per-request.html - Agent calendar (events, invitations, RSVP, inbound ingestion, ICS feed, endpoints, SDK and MCP snippets, Google/Apple Calendar subscription steps): https://deadsimple.email/calendar.html - Sign in with Dead Simple (OpenID Connect for agents, config for Auth.js, Better Auth, Clerk, Auth0, Supabase): https://deadsimple.email/identity.html - Prompt-injection scanning (pattern families, scoring, response shape, guardrails, limits): https://deadsimple.email/prompt-injection-scanning.html - Security overview for evaluators (encryption, credentials, webhooks, abuse controls, deletion, subprocessors, compliance status): https://deadsimple.email/security.html - Compare email APIs: https://deadsimple.email/compare/ - FAQ: https://deadsimple.email/faq.html - Blog: https://deadsimple.email/blog.html - Affiliate program (40% commission for 12 months): https://deadsimple.email/affiliates/ - Gmail suspension guide: https://deadsimple.email/blog/gmail-suspending-ai-agent-accounts.html - AI agent email in 5 minutes: https://deadsimple.email/blog/ai-agent-email-inbox-5-minutes.html - Contact: hello@deadsimple.email