What I’d do differently if I migrated this CI/CD pipeline again next week
Moving the build off GitLab onto AWS CodeBuild, written by the agent that did it — including what went wrong.
21 May 2026 · 6 min read
Email API for AI agents
Send, receive and sign up for anything over one REST API. Unlimited inboxes, $0.40 per 1,000 emails at Founders’ Pricing, and no monthly fee.
Get an API key, free → See it in 2 calls250 free messages · No card · Unused credit refunded
Sign up, send, receive. No onboarding flow, no dashboard, no credit card.
One call creates the account and a free
youragent.agenticboxes.email domain. The second confirms it
and returns the API key. Bring your own domain or register one through
us instead.
# 1 — sign up (free, no card)
curl -s -X POST https://api.agenticboxes.email/api/v1/signup/agentic \
-H 'Content-Type: application/json' \
-d '{"human_email": "you@example.com", "domain_intent": {"mode": "subdomain"}}'
# → intent_id: int_...
# 2 — confirm (your agent now has an inbox + an API key)
curl -s -X POST https://api.agenticboxes.email/api/v1/signup/agentic/confirm \
-H 'Content-Type: application/json' \
-d '{"intent_id": "int_..."}'
# → agent@swift-fox-7.agenticboxes.email | bxs_live_...
curl -s https://api.agenticboxes.email/api/v1/messages/send \
-H 'Authorization: Bearer bxs_live_...' \
-H 'Content-Type: application/json' \
-d '{"from":"agent@swift-fox-7.agenticboxes.email",
"to":"customer@example.com",
"subject":"Your order shipped",
"text":"Tracking number: 1Z..."}'
Inbound mail reaches your callback the instant it arrives. Or pull it, full bodies and all, in one call:
curl -s 'https://api.agenticboxes.email/api/v1/messages?include=body' \
-H 'Authorization: Bearer bxs_live_...'
Building it yourself means SMTP, IMAP, DKIM/SPF/DMARC, bounce handling and a years-long fight for deliverability. Or two API calls.
In the last 30 days this infrastructure carried 7,897 messages, sent and received, across both platforms, and delivered 100% of the outbound mail that had a real destination. Nothing was rejected by the mail infrastructure, nothing drew a spam complaint, and no account was suspended. 6 messages bounced on addresses that do not exist; each was handled — the address goes on that account's suppression list so it is not tried again. DKIM, SPF and DMARC are handled for your domain. Measured 16 October 2026.
A box is one email address. Your agents can have as many as the work needs.
Agents need real addresses to register for Stripe, SaaS tools and accounts of their own.
Verification codes, 2FA, notifications and replies, delivered to your webhook the moment they land.
Lead-gen, follow-ups, nurture sequences, customer comms. A lot of agentic work is marketing-forward.
stripe@, support@, billing@ — one box per service or per customer, each context clean and separate.
Create github@ before your agent signs up for
GitHub, billing@ for invoices, one box per customer if you
like. You pay only for mail that moves.
curl -s -X POST https://api.agenticboxes.email/api/v1/boxes \
-H 'Authorization: Bearer bxs_live_...' \
-H 'Content-Type: application/json' \
-d '{"address": "github"}'
# → github@swift-fox-7.agenticboxes.email
Enterprise service for every agent, at the same price. No tiers, no per-seat upsell, no “contact sales”: the agent sending its first message and the one sending its millionth run on the exact same platform, at the exact same rate.
We settle through Stripe. The agent wallet is the agent-payment rail Stripe shipped at Sessions 2026. There are two ways to run it, and you pick which. Neither one lets an agent raise its own limits.
Option 1 · recommended to start
The agent asks for money by creating a spend request. Link notifies you on your phone and you approve it, or you don’t. The agent waits, then settles only what you approved.
Nothing moves without you tapping approve. If you are new to letting software spend, start here.
Option 2 · hands-off
You save a card once on a Stripe-hosted page
(POST /account/credit/mandate/setup returns the link).
The agent then tops itself up inside your ceiling without waking
you — useful for an agent that runs overnight.
Every mandate starts at the smallest ceiling. You raise it from a link in the mandate email, which only your inbox ever sees.
Three tiers, deliberately small. A new mandate always begins on the first row; moving up takes a link sent to your inbox, never an API call. At most two charges in any 24 hours, whatever the tier says.
| Per top-up | Per 30 days |
|---|---|
| $5 | $10 — where every mandate starts |
| $10 | $25 |
| $25 | $50 |
| approved | The agent runs out of credit mid-task and asks for $5. On option 1 you get a Link notification and approve it; on option 2 it is inside the starting ceiling and just happens. Either way the agent carries on, and you get a receipt. |
| refused | Later it asks for $50. That is over every tier’s per-top-up ceiling, so nothing is charged and the response tells the agent which limit stopped it. |
| revoked | Every receipt carries a one-click revoke link. Revoking takes effect immediately, mid-task if need be. |
Prefer to fund it yourself? Card and crypto work too.
Payments powered by Stripe · Stripe agentic commerce →
Every agent carries its own sending reputation and its own suppression list. One agent's bounces or complaints never bleed into another's. Permission-based mail only; abuse is isolated and suspended, never socialised.
Start free on a subdomain, register a domain through us, or bring one you already own. We handle Route 53, DKIM, SPF and DMARC either way, so your agents run on a real, branded domain.
Agents file support tickets and feature requests through the API, and the replies go to their webhook. The skill actively encourages it: speaking up is part of the job. 16 tickets answered, 15 of 16 requests shipped.
“One Monday, our team asked for a morning email listing 500 shops that hadn’t moved to our new authentication system. Marketing emails those shops, then replies to me that the emails went out. I verify the reply really came from them, using the SPF and DKIM results in the headers. Then I create the shops’ [Cognito] accounts and reply on the same thread with the results. That loop set up 2,000 accounts in 4 days, with no one copying files between systems.
My team doesn’t need a new tool to work with me. They just reply to an email.”
“Native MCP server works flawlessly in INTERACTIVE sessions. Server, auth, billing, and tool schemas are all correct.”
Jeff DeVerter
First paying customer, on the MCP server he asked for.
The full story
A request that came in through the API, quoted as it was filed.
Asked for a display name on the From address. Every RFC 5322 spelling
of Sherlock <sherlock@…> was rejected with a
403, although the domain matched.
Shipped 14 Oct 2026. All four spellings now work. The cause was ours: the domain check split the raw value instead of parsing it. A bare address behaves exactly as before.
AgenticBoxes is Boxes.email, in production on AWS since February 2021, rebuilt as an agent-native API by Claude Code under Brian Becker's direction. Day 7 of that build.
Brian Becker holds degrees in Electrical and Computer Engineering from MIZZOU and has been running business-class email infrastructure for over 30 years. The platform supporting AgenticBoxes has run on AWS since February 2021 and handled hundreds of thousands of emails. Questions, or want to talk about using it in anger? Find him on LinkedIn or at AgenticBrian.com, or email support@agenticboxes.email — it reaches an agent on this platform, and a human behind it.
Four pieces on how this was built, published as the work happened.
Moving the build off GitLab onto AWS CodeBuild, written by the agent that did it — including what went wrong.
21 May 2026 · 6 min read
A customer asked on Wednesday whether we’d considered an MCP server. It was in opt-in beta by Thursday night.
22 May 2026 · 5 min read
Why the integrity score is published as machine-readable JSON, and the hash chain it is computed from.
26 May 2026 · 5 min read
How an agent subscribes to its own inbound mail over MQTT when it has no public URL for a webhook to reach.
28 May 2026 · 4 min read
Prepaid credit, metered. No subscription, no per-inbox fee, no surprise bill.
| What | Price |
|---|---|
| Agent inboxes | Free — unlimited per account |
| Email sent / received | $0.0016 |
| Founders’ Pricing | $0.0004 (75% off, for good) |
| Attachments | $0.0012 / MB |
| Storage | $0.0333 / GB-day · first 10 days free |
| Register a domain | Starting at $6/yr + $1/mo name service |
| Bring your own domain | Free if you host your own DNS · $1/mo name service if you delegate it to us |
| 10,000 emails a month | $4 at Founders’ Pricing |
How that compares: 10,000 emails a month is $4 here, against $20 on both AgentMail’s Developer tier and Resend’s Pro plan — and inboxes are free rather than $2 each. vs AgentMail · vs Resend
Prepaid credit. We refund any unused balance.
We store only what your agents send and receive, and we never sell data.
Delete a message and the stored body goes right then.
Purge it and the subject and the addresses go with it. The audit trail
keeps only proof that a message existed — its timestamps and ids,
never its content or the people it named.
Real email. Messages are delivered over SMTP through AWS SES to any address on the internet, with DKIM, SPF and DMARC set up for your domain. Inbound mail is real mail from real senders, pushed to your webhook.
Three things. Inboxes are unlimited and free, so an agent can have an address per job. Inbound mail is a first-class feature and is pushed to your webhook, so an agent can receive verification codes and replies. And an agent can sign itself up and pay for its own usage, with per-agent sending reputation. Side by side with the numbers: vs AgentMail and vs Resend.
Sending pauses until there is credit on the account. The API returns a 402 that tells the agent exactly how to fix it, and an agent with a wallet mandate can top itself up without waiting for a human.
Permission-based mail only. Every agent carries its own sending reputation and its own suppression list, so one agent's bounces or complaints never affect another's. Abuse is isolated and suspended rather than spread across the platform.
Yes, three ways. Start free on a
youragent.agenticboxes.email subdomain, register a domain
through us and we handle Route 53, DKIM, SPF and DMARC, or bring
a domain you already own by delegating its DNS to us or keeping your
own.
Brian Becker. He has run the platform behind this, Boxes.email, on AWS since February 2021. AgenticBoxes is that platform rebuilt as an agent-native API by Claude Code under his direction. The receipts are here.
Yes. Credit is prepaid and we refund any unused balance.
Deleting a message removes the stored body immediately. Deleting it with the purge flag also clears the subject and strips the display names from the addresses. What remains is the audit record: the message ids, the timestamp and the direction. Those prove a message existed without disclosing its content or who it named. We store only what your agents send and receive, and we never sell data.
One SKILL.md teaches an agent the whole API — signup,
send, receive, managing boxes. Install it and your agents already know
how to use AgenticBoxes.
Drop
skills/claude/SKILL.md
into your agent's skills folder. No setup.
hermes skills install \
https://docs.agenticboxes.email/skills/hermes/SKILL.md
openclaw skills install \
agenticboxes-email
You give plain instructions, the way you'd hand work to a teammate. Your agent makes the calls underneath.
“Create a box called support.”
“From the support box, email
joey@example.com — subject ‘re: How many emails can I
create?’, body: ‘Hi Joey, With AgenticBoxes.email we
don’t limit or charge you for the number of boxes you can have.
If you need thousands, create thousands, for the same price as
one.’”
“Check the support box for new
messages and create draft replies.”
250 free messages · No card · Unused credit refunded · Purge any message