Email API for AI ecommerce agents
Order confirmations go out, 'where is my order' comes back, and both belong on the same thread. One inbox that sends the transactional mail and reads the replies to it.
The problem
Ecommerce email is two jobs that every tool treats as one.
The first is outbound and high volume: order confirmation, shipping notice, delivery confirmation, return label, review request. Any sending API does this.
The second is what happens next. The customer hits reply. "This is the wrong size." "It says delivered and it isn't here." "Can I change the address?" That reply goes to whatever address you sent from, and for most shops that is noreply@, where it dies. The customer then emails support separately, with no order number, and your agent starts from nothing.
The fix is not a better send API. It is sending from an address that can receive.
One thread, both directions
Send the order confirmation from a real inbox, and the reply lands on the same thread as the confirmation. The agent calling get_thread sees the order number, the items and the shipping address without asking, because they are in the message above.
That one change removes most of the work people build agents to do: no order lookup from a free-text email, no "can you tell me your order number", no separate support queue that has lost the context.
Anjal writes Message-ID, In-Reply-To and References on everything it sends and tracks them on everything it receives, so replies thread properly in Gmail, Outlook and Apple Mail rather than arriving as unrelated messages.
Volume without wrecking your domain
Transactional ecommerce mail is bursty and repetitive, which is exactly the shape that gets a sending domain into trouble.
- Per-inbox bounce and complaint limits pause a single inbox automatically rather than letting a bad address list take your whole domain down with it. Measured over a rolling 7-day window, so old, unrelated failures age out instead of accumulating into a permanent stop.
- A new-account ramp starts you at a low daily volume and lifts it as the account ages. This is deliberate and it will apply to you on day one: a brand new paid account is capped at 20 sends in its first 24 hours, 50 a day for the first week, 500 a day to 30 days. Plan the migration around it rather than discovering it on Black Friday.
- Identical-content detection notices when you are sending the same template to everyone. It does not block the send; it tells us, so nobody's password resets or dispatch notices get refused.
- MX validation on every recipient rejects typo domains before they become bounces.
Separate inboxes for separate jobs
Create one per function rather than one per shop: orders@, returns@, support@. Each gets its own reputation, its own bounce accounting and its own pause, so a bad returns list cannot stop order confirmations going out.
If you run several storefronts, put each in its own workspace. A workspace-scoped key reaches that workspace's inboxes and nothing else, so one brand's agent can never read another brand's mail. You get one workspace per inbox on your plan, so three brands with three inboxes each fits inside Developer.
What it looks like
# send the confirmation from an inbox that can receive
curl -X POST https://anjal.app/v1/inboxes/$ORDERS_INBOX/send \
-H "X-API-Key: $ANJAL_KEY" -H "Content-Type: application/json" \
-d '{"to":"customer@example.com",
"subject":"Order 10482 confirmed",
"plainBody":"Thanks! Your order is on the way.",
"labels":["order-confirmation"]}'
The customer replies. A message.received webhook fires, the agent calls get_thread, reads the confirmation it sent, and answers with the order already in context. For anything touching a refund or an address change, use create_draft and let a person send it.
Fit
Good fit if customers reply to your transactional mail and you want an agent to handle those replies with the order in context, or you run multiple storefronts that must stay isolated.
Not a fit if you only need bulk outbound and nothing reads the replies. A pure sending API will be cheaper; see Anjal vs Amazon SES.
Also not a fit for marketing campaign blasts. The limits above are built for transactional and agent-driven mail, not for a newsletter to 200,000 people.
Cost
Starter is $5/month for 2 inboxes and 6,000 emails. Developer is $15/month for 10 inboxes and 20,000 emails. Startup is $199/month for 200 inboxes and 150,000 emails. Extra email is $2/month per 1,000, so size on your monthly send volume plus the replies.
Related
- AI customer support agents
- Transactional email
- Multi-tenant SaaS for the workspace-per-brand pattern
- Email deliverability for agents
Other use cases
- For cold outreachBuild your own cold outreach system on AnjalCold email + LinkedIn outreach infrastructure for indie hackers and small teams. Provisioned inboxes, real LinkedIn sessions, intent signals, server-side cadence engine. Drop-in alternative to Lemlist, Apollo, Instantly — with full data ownership.
- For scheduling agentsCalendar + scheduling API for AI agentsGive your AI agent its own calendar: host events, send and RSVP to invites, check availability, and share a booking link — so a conversation can go all the way to a booked meeting without a human or an external calendar provider.
- For recruiting agentsEmail + LinkedIn API for AI recruiting agentsSource candidates from LinkedIn, message them with personalized outreach, follow up over email when a connection accepts. Reply detection, multi-account quotas, and intent signals built in.
- For sales agentsEmail + LinkedIn API for AI sales agentsBuild AI sales agents that actually work leads end-to-end — connect on LinkedIn, send personalized email, detect replies, branch the cadence, and follow up at the right moment. One API key, two channels, multi-tenant ready.
- For accounting agentsEmail API for AI accounting and finance agentsInvoices, receipts and payment requests arrive as email with attachments. Give the agent its own inbox that keeps the thread, pulls the PDF, and never lets it pay anyone on its own say-so.
- For support agentsEmail API for AI customer support agentsBuild AI customer support agents that read inbound email, draft thoughtful replies, and learn from human edits before sending. Real inbox per agent, full thread state, drafts API for human-in-the-loop.
- For triage agentsEmail API for AI triage and routing agentsAn agent that reads a shared inbox, works out what each thread is, and sends it somewhere. The four things it needs that a webhook payload does not give you.
- For agent fleetsEmail for a fleet of AI agents that each need an inboxHundreds of agents, each with its own address, isolated from each other. What breaks at that scale, what it costs, and the three things to get right before you create the first hundred.
- For SaaS buildersMulti-tenant email API for SaaS buildersBuild SaaS products that give each customer their own provisioned inbox on their own domain. Workspace-isolated keys, per-tenant rate limits, scoped billing. Multi-tenancy is first-class, not an afterthought.
- For transactional emailTransactional email API for AI-powered appsSend password resets, receipts, and notifications from AI-built apps. Provisioned inbox, custom domain, ZeptoMail-backed deliverability, and per-send open + click tracking with optional opt-out for privacy-sensitive sends.
Last reviewed 2026-09-28.