Skip to content
CLI v0.2.0NEW: Conversations commands

Email for AI agents.

Real email inboxes for AI agents. Send, receive, reply, and wait for verification codes through one API, MCP, or CLI.

Get your API key
brew install botinbox-dev/tap/botinbox

Private beta · join the waitlistread the docsREST · MCP · CLI

Changelog

What shipped recently across the API, MCP server, CLI and dashboard.

read the docs →
  • Email APIPOST /v0/emails

    Send transactional email from any address on your verified domain, with status, timestamps, and open and click counts.

  • Batch sendsPOST /v0/emails/batch

    Up to 100 emails in one request, validated as a whole: if one is invalid, nothing is sent.

  • Idempotent retriesIdempotency-Key

    Repeat a request with the same key for 24 hours and get the original response back. Nothing is sent twice.

  • Domain modesmode: send_only | inbound_subdomain

    Send-only is the default: DKIM, a return path and DMARC, no MX, so the mail you already run keeps working. Add a receiving subdomain such as in.example.com to receive too.

  • Delivery events and webhooksemail.delivered · email.bounced

    Per-recipient delivery, bounce, complaint, open and click events on signed, retried webhooks and the live event stream.

  • Conversation insights and human handoff over MCPrequest_human_handoff

    Agents label message sentiment and conversation outcomes, and hand a conversation to a person. Agent replies are held until the handoff is resolved.

  • CLI 0.2.0botinbox 0.2.0

    botinbox conversations: sentiment, outcome, handoff and insights from your terminal or CI.

  • One-click DNS setupDomain Connect

    Approve every record at supported DNS providers in one step, or connect Cloudflare with a scoped token. Existing records are never overwritten.

Workspace

Every message, inspectable.

Inboxes grouped into pods, threads with their delivery and authentication details, and what your agent decided: sentiment, outcome, handoff, and whether a person approved the send.

Maya Chen

maya@example.com → support@acme.com

delivered

Re: Refund for order #4471

Thanks, that was quick! The refund is already showing on my card.

  • refund
  • billing
  • sentiment: positive
  • outcome: resolved
  • guardrail: approval
thread_id th_01j9z3k8q4dkim: pass

Use cases

One inbox per agent, customer, or test run.

  • support.agent

    Support agents

    Give your support agent a real address customers can write to. Every reply stays in its thread with full context.

    • Threaded conversations
    • Reply-only text extraction
    • Labels for triage
  • sales.agent

    SDR agents with human-approved drafts

    Let an agent draft personalised outreach while a person approves each send. Replies route straight back to the agent.

    • Drafts with human approval
    • Per-agent sender identity
    • Custom domains
  • qa.agent

    QA, E2E tests, and verification codes

    Create a throwaway inbox per test run, trigger your signup flow, and block until the email arrives. No shared test mailbox.

    • Inbox per test run
    • Wait for matching mail
    • Search by subject or sender

README.md

Every bot deserves an inbox.

Agents that act in the world need an address the world can write back to. Borrowing a person's mailbox was never built for that.

The problem with DIY Gmail / SMTP

  • OAuth consent screens and app passwords
  • Shared inboxes and shared logins
  • No webhooks: poll IMAP and hope
  • IP reputation roulette and account bans
  • Parsing MIME and threading yourself

What BotInbox gives each agent

  • A dedicated inbox per agent in one API call
  • Scoped API keys per account, pod, or inbox
  • Signed webhooks and a live event stream
  • Built for automated sending, with guardrails
  • Parsed JSON, threads and replies handled

A human in the loop where it matters

  • Agents save drafts; a person reviews and sends
  • Human handoff holds agent replies until a person resolves it

Install and connect

Install the CLI, then give Claude Code an inbox over the remote MCP server:

bash
# install the CLI
$ brew install botinbox-dev/tap/botinbox

# connect Claude Code to the remote MCP server
$ claude mcp add --transport http botinbox \
    https://botinbox.dev/mcp \
    --header "Authorization: Bearer bi_..."

FAQ

Technical questions

What is BotInbox?

BotInbox is email infrastructure for AI agents. Each agent gets a dedicated inbox it can send from and receive into, through a REST API, an MCP server, a TypeScript client, or a CLI.

Why not just use Gmail or an SMTP server?

Consumer mailboxes aren't built for automated agents: creating accounts takes manual verification, automated use risks bans, and you still have to parse MIME and track threads yourself. BotInbox provisions inboxes by API and delivers parsed, threaded messages.

Can I use my own domain?

Yes. Paid plans can add custom domains. BotInbox shows the exact DNS records to publish and verifies them for you.

How does my agent find out about new email?

Signed webhooks or a server-sent event stream. Agents can also list and search messages on demand, or block until a matching email arrives.

Can a human review emails before they're sent?

Yes. Agents can save drafts instead of sending, and a person can edit and send them from the dashboard or the API.

Does it work with Claude, Cursor, and other MCP clients?

Yes. BotInbox provides an MCP server with tools for inboxes, sending, threads, search, drafts, and labels, so any MCP-compatible client can use email.

Is it available now?

BotInbox is in private beta. Join the waitlist and we'll email you when your account is ready.

Get started

Give your agent an inbox.

Every plan includes the full API, MCP server, and CLI. Receiving email is always free.