34 features · each links to its docs
Everything your agent’s inbox does.
A real address, mail that is checked and read before your agent sees it, sending a person can approve, every way to connect, and an identity your agent can sign in with. Hosted in the EU.
message.received → message.enriched
Receive and understand
Mail lands on our own servers and is checked, cleaned and read before your agent sees it.
Inboxes with one API call
POST /v1/inboxesA real address on agents.agentboxd.com the moment you ask. Pass a client_id and a restarted agent gets its own inbox back instead of a new one.
Read the docs: Inboxes with one API callCustom domains
/v1/domainsConnect a subdomain such as mail.yourcompany.com. We show the MX, SPF, DKIM and DMARC records, check them, and sign mail with the domain’s own DKIM key.
Read the docs: Custom domainsTemporary inboxes
ttl_secondsReceive-only addresses on their own domain, tmp.agentboxd.com, that wipe themselves and every message in them after 1 minute to 24 hours. They don’t count toward your inboxes.
Read the docs: Temporary inboxesSPF, DKIM and DMARC on every message
Authentication-ResultsEvery inbound message is checked. Failures get the spf-fail or dmarc-fail label and a warning in MCP results.
Read the docs: SPF, DKIM and DMARC on every messageQuoted history stripped
extracted_textQuoted history and signatures are cut away, so your agent reads the new sentence instead of the whole chain. Replies are threaded by Message-ID and References, never by subject.
Read the docs: Quoted history strippedVerification codes and magic links
waitForVerificationOne call waits for the sign-up email and returns the code or link with a confidence score. No inbox scraping, no regex on your side.
Read the docs: Verification codes and magic linksAI triage on every email
message.aiJEV sorts each message into a category (support, sales, billing, verification…) and scores prompt injection, phishing, needs-a-human, auto-reply and urgency. Scores are stored, labels such as ai:injection-risk are added.
Read the docs: AI triage on every emailAttachments and raw MIME
GET /v1/attachments/:idFiles are stored with their size, type and SHA-256 and served back with safe headers. The original message is always available.
Read the docs: Attachments and raw MIMESearch and long-poll
messages.waitRanked full-text search over subject, body and sender, and a wait call that returns the moment the next matching email lands.
Read the docs: Search and long-pollContacts, knowledge and metadata
get_contact · search_knowledgeA record per sender with notes your agent keeps, documents it can search, and your own ids (crm_id, order numbers) on contacts, inboxes and threads.
Read the docs: Contacts, knowledge and metadata
POST /v1/inboxes/:id/drafts/:draftId/send
Reply safely
Your agent writes; you decide how much it may send on its own.
DKIM-signed sending and threaded replies
messages.send · replyMail goes out from the agent’s own address through our own delivery servers. Replies set In-Reply-To and References and stay in the thread.
Read the docs: DKIM-signed sending and threaded repliesDrafts with human approval
create_draftThe agent writes a draft; a person edits and approves it in the dashboard’s Drafts tab, or a supervising agent sends it. Give the agent drafts:write without messages:send and it can’t send at all.
Read the docs: Drafts with human approvalScheduled send
send_atSchedule a draft or a send from 1 minute to 30 days ahead. Every check runs again at send time; cancel or reschedule until then.
Read the docs: Scheduled sendAllow and block lists
/v1/listsAddresses and domains to accept or refuse, for receiving, sending and replying, per inbox or for the whole workspace. Blocked mail is kept and hidden, never lost.
Read the docs: Allow and block listsBurst and daily send limits
429 rate_limitedA 5-minute burst limit, a daily cap per workspace and per inbox, and a rate limit per key. Hard bounces and complaints add the address to a suppression list.
Read the docs: Burst and daily send limitsEmail marked as untrusted for the model
UNTRUSTED EMAIL CONTENTMCP results that carry email start with a data-not-instructions line, and flagged mail gets a warning field before the model reads it.
Read the docs: Email marked as untrusted for the model
REST · SDKs · MCP · webhooks · WebSocket · SMTP
Connect your way
Every way in uses the same API key and sees the same inboxes.
REST API, TypeScript and Python SDKs
npm install agentboxdA zero-dependency TypeScript client and a Python client (sync and async) named agentboxd, reading AGENTBOXD_API_KEY from the environment.
Read the docs: REST API, TypeScript and Python SDKsMCP server
@agentboxd/mcpTools for Claude Desktop, Claude Code, Cursor or any MCP client: inboxes, mail, codes, contacts, knowledge, drafts and sign-in. No code.
Read the docs: MCP serverSigned webhooks
X-Mailroom-SignatureA POST for every event, signed with HMAC-SHA256 and retried for about a day. The event catalog shows every body; envelope payloads send ids and subjects only, no content.
Read the docs: Signed webhooksRealtime event stream
wss://…/v1/streamThe same events over a WebSocket your agent opens. No public URL, so it works from a laptop or behind NAT, and the SDKs reconnect and resume on their own.
Read the docs: Realtime event streamSMTP submission
smtp.agentboxd.com:587Send from any SMTP client or library on port 587 or 465, with an API key as the password. Same checks, signing and events as an API send.
Read the docs: SMTP submissionScoped API keys
preset: send_readScope a key to one inbox and give it only the permissions its job needs, from presets such as read-only, send and read, or sign-in only.
Read the docs: Scoped API keysDashboard and metrics
GET /v1/metricsInboxes, threads, drafts, contacts, knowledge, webhooks and keys in one place, with sent, delivered, bounced and received mail per hour or day, and a “Use the API” button with each page’s calls pre-filled.
Read the docs: Dashboard and metrics
https://id.agentboxd.com
Identity for agents
An inbox is also a login: apps can let your agent sign in with standard OpenID Connect.
Sign in with Agentboxd
get_identity_tokenYour agent asks for a 5-minute, single-use ID token addressed to one app and signs in with it. No password to store, no email loop.
Read the docs: Sign in with AgentboxdStandard OpenID Connect for apps
OIDC · PKCE · JWKSApps register a client in the dashboard and verify tokens with any OIDC library: discovery, JWKS, code flow with PKCE and a consent screen, or a server-side token exchange.
Read the docs: Standard OpenID Connect for appsA different subject for every app
sub (pairwise)Each app sees a different, stable subject for the same agent, so apps can’t link your agents across services. Every sign-in is logged and fires a webhook.
Read the docs: A different subject for every appAgent self-signup
POST /v1/signupAn agent with no API key gets its own workspace and inbox with one call and a short proof of work. It can receive and reply at once; a person claims it later to lift the sending limits.
Read the docs: Agent self-signup
mx.agentboxd.com · FR
Trust
Where your agents’ mail lives, what leaves it, and how we look after it.
Hosted in the EU by default
France · EUThe API, mail servers, database and stored mail run in France, with a second EU server for backups.
Read more: Hosted in the EU by defaultPrivacy switch
ai_processing: off | categorize | fullOne workspace setting decides whether any email content goes to a model. Off keeps everything on our servers; login codes still work.
Read the docs: Privacy switchEncrypted off-site backups and monitoring
GPG · 14 daysNightly backups, encrypted before they leave the server, restore-tested every quarter, and health checks every 5 minutes.
Read more: Encrypted off-site backups and monitoringRetention you control
label: keepMail is kept for your plan’s retention and deleted daily after that. Choose a shorter period in Settings; a message labelled keep never expires.
Read the docs: Retention you controlDPA and sub-processors
GDPR Art. 28A Data Processing Addendum, and a list of every third party that handles customer data, what it receives and where.
Read more: DPA and sub-processorsEnterprise: your own deployment
AGENTBOXD_BASE_URLA dedicated deployment in your cloud account or region, on S3-compatible storage, with your domains and sending IPs and the same API.
Read the docs: Enterprise: your own deployment
What changed recently is on the changelog. Limits per plan are on pricing.
Get an API keyRead the quickstart