Agent email

Email inboxes for AI agents

Give each agent its own address on your domain, like orders@ or support@. It receives mail, reads the whole conversation, replies in the same thread and keeps its work in its own folder. Your agent drives it through the REST API, 59 MCP tools or the CLI, and inboxes are included on every paid SendHQ plan.

What an agent inbox does

  • Its own address. Create orders@yourdomain.com with POST /api/v1/inboxes, the create_inbox MCP tool or sendhq inbox create orders --domain dom_123. Mail sent there arrives as structured JSON with private attachments.
  • Whole conversations. Sent and received messages are linked by Message-ID, In-Reply-To and References, and GET /threads/:id returns the conversation in order, so the agent always answers with full context.
  • Replies in the same thread. Send with reply_to_email_id and the reply lands in the customer's existing thread, from your verified domain.
  • Its own folder. A label with skip_inbox is a bucket: everything the agent handles stays there in both directions and never clutters the main inbox. Filing rules route mail into it automatically by address, sender or subject.
  • A person in the loop. Forward a copy of everything an inbox receives to a team mailbox with PUT /inboxes/:id/forwarding.
  • Spam kept out. Received mail is sorted into primary, updates and spam from authentication results and headers, so the agent works on real messages first. Message bodies are never sent to a model for this.

The agent loop in four calls

Poll the bucket for unread mail, read the thread, reply in it and mark the message handled. The same four steps are the list_emails, get_thread, send_email and mark_email MCP tools.

REST API
# 1. Unread mail in the agent's bucket
curl "https://sendhq.cc/api/v1/emails?label=Agent%2FOrders&direction=in&unread=true" \
  -H "Authorization: Bearer $SENDHQ_API_KEY"

# 2. Read the whole conversation
curl https://sendhq.cc/api/v1/threads/th_123 -H "Authorization: Bearer $SENDHQ_API_KEY"

# 3. Reply in the same thread
curl https://sendhq.cc/api/v1/emails -X POST \
  -H "Authorization: Bearer $SENDHQ_API_KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1042-reply-1" \
  -d '{"from":"Orders <orders@example.com>","to":["customer@example.net"],"subject":"Re: Order 1042","text":"Your order ships Tuesday.","reply_to_email_id":"em_123"}'

# 4. Mark it handled
curl https://sendhq.cc/api/v1/emails/em_123 -X PATCH \
  -H "Authorization: Bearer $SENDHQ_API_KEY" -H "Content-Type: application/json" -d '{"read":true}'
CLI
sendhq email watch
sendhq thread get th_123
sendhq email reply em_123 --text 'Your order ships Tuesday.'

Connect your agent

  • Claude and ChatGPT: add the hosted connector https://mcp.sendhq.cc/mcp and sign in with your SendHQ account. No API key is pasted anywhere.
  • Claude Code, Cursor and other local agents: run the MCP server from the CLI, or its --read-only variant for agents that should only read.
  • Your own code: call the REST API with a workspace key. The OpenAPI 3.1 contract is at /openapi.json.
Claude Code
curl -fsSL https://downloads.sendhq.cc/install.sh | sh
claude mcp add sendhq --env SENDHQ_API_KEY=re_your_key -- sendhq mcp

Guardrails that come with it

  • An agent can send only from domains you have verified, and every send can carry an Idempotency-Key, so a retry never emails a customer twice.
  • Recipients who hard-bounce or complain are suppressed automatically, and unsubscribed recipients are blocked for marketing mail.
  • Billing and API key creation need a signed-in browser session; an agent's key cannot change them.
  • Every message keeps its delivery events, so you can see exactly what an agent sent and what happened to it.

Why not a Gmail account?

A personal mailbox credential gives an agent everything: every unrelated message, every setting, and a sender reputation shared with a human. A SendHQ inbox gives it one address on your domain, a scoped API key or OAuth connector, and an auditable record of each message, while the rest of the workspace stays out of reach.

Questions

Can an AI agent have its own email address?

Yes. Create an inbox such as support@yourdomain.com on a domain verified in SendHQ. The agent receives mail sent there and replies from the same address.

How does an AI agent receive email?

Mail to the inbox is parsed into JSON with private attachments. The agent polls GET /api/v1/emails filtered by inbox, label or unread state, uses sendhq email watch, or calls the list_emails MCP tool.

Can the agent reply in the same email thread?

Yes. Sending with reply_to_email_id sets the threading headers, so the reply appears in the recipient's existing conversation.

Does it work with Claude and ChatGPT?

Yes. Add the hosted connector at https://mcp.sendhq.cc/mcp in Claude or ChatGPT and sign in with your SendHQ account. Local agents can run the same tools with sendhq mcp.

Which plans include agent inboxes?

Every paid SendHQ plan includes inbound email and inboxes, starting with the $9 Starter plan.