Blog · Opinion · 26 October 2026

Why does an AI agent need a different inbox anyway?

An agent can read an email, write a reply and call an API. Gmail already has an API. So why are we building a whole new category of inboxes for agents?

An agent can read an email, write a reply and call an API. Gmail already has an API. So why are we building a whole new category of inboxes for agents?

An agent doesn’t always need a different email service. But when it runs a workflow, the product needs to handle work that a person would otherwise do around the inbox:

  1. Message discovery. Detect when new email arrives and trigger the right workflow, including catching up on messages missed while the agent was offline.
  2. Context. Separate the latest request from quoted history, find attachments and connect the conversation to the current state of the task.
  3. Permissions. Define what the agent is allowed to do. Reading a quote, drafting a reply and approving a deposit require different levels of authority.
  4. Human handoff. Show what the agent has done, let someone take over or review its reply, and prevent both from answering at once.
  5. Mailbox management. If each customer or workflow needs a separate mailbox, create, restrict and retire those mailboxes through the application.

These are reasons to evaluate different capabilities. They don’t automatically justify another provider. Some come with existing mailbox APIs, some are packaged by specialist services, and some remain your product’s responsibility whichever service you choose.

That’s the comparison I want to make: which parts of this work are we buying, and which parts are we still building?

The work happening outside the inbox

Imagine asking an agent to collect quotes from three suppliers for an event.

The first supplier sends a PDF. The second asks how many people are coming. The third replies two days later, after you’ve already changed the date.

If I were doing this, I would carry some of the context myself. I know the date changed because I was in the meeting. I remember that one quote excludes delivery. I know I can ask for a discount, but I need someone else to approve the deposit.

Some of that information might be in email. Some is in a spreadsheet. Some is just in my head, which is not exactly a reliable database either.

For an agent, we need to make those connections explicit. Which event does this thread belong to? What is the current date? What has already been promised? What is the agent allowed to do next?

A thread stores the conversation. Your application still needs to store the state of the work.

That distinction is easy to miss when the demo only shows one email arriving and one beautiful reply going out.

Do you need a new provider, or better integration with your existing inbox?

Gmail already exposes threads through its API, including ordered messages, drafts and replies. Google Workspace also has an administration API for creating users, subject to the organisation’s setup and mail licensing. Programmatic email did not begin with agents [1] [2].

Existing mailbox APIs on Anchor

The difference is in how much work the service packages for your application.

A dedicated inbox API can make creating an address, retrieving parsed messages and routing replies feel like ordinary application operations. That can be useful when your product creates mailboxes for customers or workflows throughout the day.

It may be much less important for one assistant helping one person with an existing mailbox.

So I would separate two decisions early: does the agent need its own mailbox, and do we need a different provider to host it?

Those are not the same purchase.

DecisionThe questionNot the same as
Its own mailboxDoes the agent need its own address, history and access rules?Choosing who hosts that mailbox
A different providerDo we need a different provider to host it?Deciding the agent needs a mailbox at all

Where the friction actually shows up

Those five requirements become easier to understand when we follow the supplier conversation through the workflow.

1. Message discovery

When I return to my inbox, I can see messages I missed. A background agent needs a dependable mechanism to discover them and resume work.

With Gmail, push notifications use Google Cloud Pub/Sub. The notification gives your application a history ID; it then retrieves the changes. Watches need renewing at least every seven days, and Google documents that notifications can occasionally be delayed or dropped, so applications need a recovery path [3].

All manageable. But it is integration work someone owns.

A provider offering direct inbound webhooks may remove some of that plumbing. I would still ask what happens when my application is offline, how events are retried, and how I retrieve anything I missed. A webhook alone doesn’t finish the reliability work.

Gmail push notificationsDirect inbound webhooks
How new mail is signalledGoogle Cloud Pub/Sub, with a history ID your application uses to retrieve the changesThe provider calls your application
What you keep upWatches renewed at least every seven daysWhatever the provider requires
When something is missedNotifications can occasionally be delayed or dropped, so you need a recovery pathAsk what happens when your application is offline, how events are retried, and how you retrieve anything missed

Product features to look for

>

Incoming-message notifications, documented retry behaviour, stable event IDs for deduplication, and a way to retrieve missed messages. Check whether subscriptions renew automatically and whether failed notifications can be inspected and replayed.

2. Context

An email might contain a two-line answer, six quoted replies, a signature and an attachment called quote-final-v3.pdf.

I can usually skim past the old replies. An agent needs the relevant content assembled for it. Sending the entire history to the model every time can add cost, noise and opportunities to confuse an old request with a new one.

Parsed text, attachment access and reliable threading help. Mailtrap, for example, documents structured incoming messages, conversation threading and sandbox testing [4].

But a cleaner message still won’t tell the agent whether the event date in our spreadsheet changed this morning. That connection belongs in the product.

The context also includes what work has already happened. Reading something cannot mean the task is finished.

Suppose the agent reads the supplier’s quote, starts comparing prices, then crashes.

When it restarts, the message may already be marked read. Has the quote been processed? Was a reply sent? Is someone reviewing it?

We need explicit states such as received, processing, waiting for approval and completed. We also need a record of actions already taken, so a repeated event doesn’t produce another reply or another booking.

This is familiar workflow engineering. Conventional automation needs it too. The model adds another complication: it may interpret the same ambiguous request differently on a second attempt.

An inbox service can help with message IDs, delivery events and retry-safe sending. It cannot automatically make a booking in a separate system happen exactly once. Your application has to coordinate that.

Product features to look for

>

Parsed message bodies, quoted-reply extraction, attachment access, searchable conversation history and stable thread IDs. Look for metadata or links to your own task records, plus idempotency keys for retry-safe sends. Confirm where processing status and completed actions will be stored; conversation history alone is not task state.

3. Permissions

The supplier agent needs the event brief and its supplier conversations. It probably doesn’t need access to payroll emails.

A separate mailbox can make that boundary easier to enforce. An alias forwarding into the same mailbox does not, by itself, create an access boundary. The credentials still determine what the agent can read.

And permission names deserve a closer look. Gmail’s gmail.compose scope includes both managing drafts and sending emails. If your product promises “draft only”, you need to enforce that promise in the tools or service layer you expose to the agent [5].

Then there’s the authority to act on the content. A supplier saying “please confirm the booking” is making a request. They are not granting the agent permission to spend the deposit.

Incoming messages can also contain instructions intended to redirect the agent. A separate inbox reduces the unrelated data it can reach, but doesn’t make those instructions trustworthy [6].

The product needs to decide which actions are allowed before an email asks for them.

Action in the supplier exampleLevel of authority
Reading a quoteReading the supplier conversations
Drafting a replyDrafting, which gmail.compose grants together with sending
Approving a depositSpending money, which a supplier’s email can’t grant

Product features to look for

>

Credentials scoped to specific mailboxes or domains, separately enforced read, draft and send permissions, revocable access and action logs. Check for recipient restrictions and approval gates where needed. Verify what the service enforces itself and what your application must enforce, especially for actions outside email.

4. Human handoff

At some point, someone will want to take over.

Can they see the draft, the relevant messages and what the agent already did? Can they pause it? What happens if they reply while the agent is still preparing its own answer?

Resend’s recently announced Inboxes includes shared conversations, drafts and configurable agent actions. These are relevant capabilities to evaluate for a mixed human-and-agent workflow [7].

But I would still test the handoff. Having a shared screen and preventing two actors from answering at the same time are different requirements.

Product features to look for

>

Shared conversation views, editable drafts, assignment, approval controls and a way to pause the agent. Look for a record of who acted, checks that invalidate drafts after a new reply, and controls that prevent a person and an agent from sending competing responses.

5. Mailbox management

One supplier agent can use one dedicated mailbox. But suppose we offer this product to hundreds of event organisers. Each customer needs their conversations kept separate, with access we can grant and revoke independently.

Now creating a mailbox becomes part of onboarding. We also need to decide what happens when a customer leaves: stop the agent, preserve the history for the agreed retention period, and handle suppliers who reply afterwards.

This is where programmatic inbox creation becomes useful. AgentMail, for example, exposes inboxes as API resources. Google Workspace also supports account creation through its administration API, but with its own licensing and administration requirements. The comparison is how well each approach fits the lifecycle of our product [8] [2].

AgentMailGoogle Workspace
How a mailbox is createdInboxes are API resourcesAccount creation through its administration API
What comes with itIts own licensing and administration requirements

More addresses alone won’t give us isolation. We need to check that the credentials, stored messages and application routing respect the same customer boundaries.

Product features to look for

>

APIs to create, disable and delete inboxes; access isolation between customers; custom domains; and documented provisioning limits. Check retention, export and deletion controls, what happens to late replies after an inbox is disabled, and pricing as the number of active mailboxes grows.

What are you actually buying?

The providers become easier to compare once the job is clear.

Product you are buildingStarting point to evaluateWhy
An assistant that summarises or drafts replies to someone’s existing mailGmail API, Microsoft Graph, or a connector such as NylasThe existing identity and history are part of the product. A new empty inbox doesn’t replace them.
One internal agent with a clearly separate roleA dedicated mailbox on your existing providerYou may need separation without needing a new email platform. Check access controls and administration costs.
A product that creates and retires inboxes for many customers or workflowsA programmable inbox service such as AgentMail; also evaluate Mailtrap’s inbox offeringProvisioning, message storage and inbound handling become recurring application operations.
A team where people and agents share customer conversationsShared inbox capabilities such as Resend Inboxes, or your existing support systemOwnership, drafts, pause controls and handoffs become central to the experience.
A narrow workflow that receives documents and sends acknowledgementsInbound processing plus a delivery service, potentially using Cloudflare Workers or your own applicationYou may be able to keep the workflow simpler than a full mailbox product.

These are architectural starting points, not performance rankings. Nylas documents access to existing provider accounts, AgentMail documents programmatically created inboxes, and Cloudflare documents sending and incoming routing. The exact limits and responsibilities differ [9] [8] [10].

The starting points in the table, on Anchor

I also wouldn’t create a separate inbox for every model invocation. The address should follow a meaningful boundary: a customer, a business role, or a workflow that needs its own history and access rules.

If you change models next month, the supplier should still be able to reply to the same address.

How I would choose from Anchor’s email providers

The email delivery category on Anchor contains providers that can play quite different roles in this product. Comparing them all on the price of a thousand sends would miss most of the decisions above.

For our supplier agent, I would make the shortlist around the part of the workflow we want the provider to own.

What we want the provider to ownProviders to compareWhat we still build
The conversation layerResend, MailtrapThe parts of review, history and handoff each one leaves to us
Getting inbound email into our productPostmark, MailgunThe durable conversation history and review experience
Infrastructure we already useCloudflare Email Service, Amazon SESThe logic that decides whether a quote has been approved
Controlled access to sendingAhaSend, SendGrid, MailerSend, SMTP2GO, GroundmailTask state and human review
A customer messaging workflowLoops, Mailjet, Brevo, Mailchimp Transactional, Zoho CPaaSWhether an ordinary workflow does the job first

Buy the conversation layer or build it ourselves

Resend and Mailtrap would be my first comparison if the product needs a persistent inbox. Resend’s Inboxes announcement emphasises shared conversations, assignments, notes and drafts for people and agents. Mailtrap’s agent inbox offering emphasises programmable inboxes, parsed messages, threads and sandbox testing [7] [4].

ResendMailtrap
What it emphasisesShared conversations, assignments, notes and drafts for people and agentsProgrammable inboxes, parsed messages, threads and sandbox testing
Where I would start evaluating itAn operations team reviewing supplier conversations every dayA product team building its own interface and testing incoming messages and generated replies

For an operations team reviewing supplier conversations every day, I would start by evaluating Resend’s shared workflow. For a product team building its own interface and spending significant time testing incoming messages and generated replies, I would start with Mailtrap. Both could make the shortlist; that’s where I would focus the evaluation, not a claim that either exclusively serves that use case.

The practical test is the same: a supplier changes the quote while a person is reviewing the draft. Can the product make the old draft visibly stale and stop it being sent? Check what the provider supports and what your application must implement.

Postmark and Mailgun give us a different starting point. Postmark delivers parsed inbound email to our application as JSON through a webhook. Mailgun offers routing rules that can forward messages to a URL or temporarily store them for retrieval. That lets us build around incoming email without adopting a shared-inbox product [11] [12].

PostmarkMailgun
How inbound email reaches usParsed inbound email as JSON through a webhookRouting rules that forward messages to a URL or temporarily store them for retrieval
What to keep in mindOur application owns the durable conversation historyRoute storage is documented as lasting up to three days, so not a permanent archive

I would consider this route if we already have the supplier dashboard, database and task engine. Our application would own the durable conversation history and review experience. Mailgun’s route storage is documented as lasting up to three days, so I wouldn’t treat it as our permanent archive.

Basically, are we trying to buy an inbox experience, or get email into a product we already have?

Keep the workflow close to the infrastructure we use

Cloudflare Email Service versus Amazon SES is a useful comparison when the team wants to assemble more of the workflow itself.

Cloudflare connects incoming routing and outbound sending with Workers. SES receiving rules can store messages in S3 and invoke Lambda processing. Neither architectural route decides whether our supplier’s quote has been approved; we build that logic [10] [13].

Cloudflare Email ServiceAmazon SES
How the workflow is assembledIncoming routing and outbound sending connected with WorkersReceiving rules that store messages in S3 and invoke Lambda processing
Evaluate it first ifOur application already runs on WorkersOur documents, permissions and background jobs already live in AWS
Also in the decisionThe sending service is still labelled beta

If our application already runs on Workers, I would evaluate Cloudflare first. If our documents, permissions and background jobs already live in AWS, I would evaluate SES first. Existing operational knowledge can matter more than saving a small amount on sending. Cloudflare’s sending service is still labelled beta, which also belongs in the decision.

Buy controlled access to sending

Sometimes the agent only needs to prepare and send messages from a workflow we already control. We don’t need another conversation store.

AhaSend is worth comparing on the permission boundary. Its MCP documentation describes domain restrictions, permission presets and a sandbox-only sending option. Those are concrete things to test if one agent should operate on one business domain without being able to send a live campaign. They do not grant or enforce authority to approve a supplier deposit in another system [14].

SendGrid, MailerSend, SMTP2GO and Groundmail also belong in a sending evaluation: compare the required API operations, delivery diagnostics, support, account limits and costs for the actual workload. Their sending capabilities alone don’t settle the separate question of who stores task state or handles human review [15] [16] [17] [18].

Sending providers to compare on the actual workload

Check whether the product is really a customer messaging workflow

Loops, Mailjet and Brevo become more relevant when the requirement is onboarding, reminders or campaigns driven by customer data. Loops combines SaaS lifecycle and transactional email; Mailjet combines campaign tools and developer APIs; Brevo exposes messaging and contact operations [19] [20] [21].

For a fixed reminder sequence, I would first check whether an ordinary workflow does the job. Adding an agent makes sense when interpreting the response changes what needs to happen next.

Mailchimp Transactional merits a look if the team already uses an eligible Mailchimp plan, because it is an add-on. Zoho CPaaS merits a look if email belongs alongside SMS, WhatsApp or voice, subject to channel availability. Those existing product requirements may drive the choice more than an agent-specific feature [22] [23].

ProviderWhen it becomes relevant
LoopsSaaS lifecycle and transactional email
MailjetCampaign tools and developer APIs
BrevoMessaging and contact operations
Mailchimp TransactionalThe team already uses an eligible Mailchimp plan, because it is an add-on
Zoho CPaaSEmail belongs alongside SMS, WhatsApp or voice, subject to channel availability

The decision for our supplier agent

For a new product with people reviewing quotes and taking over conversations, I would shortlist Resend and Mailtrap first. I would compare the effort needed to build review, history and handoff around each.

If we already have that application layer, I would compare Postmark or Mailgun for inbound processing, and SES or Cloudflare where they fit our existing infrastructure. If email is only an outbound step, I would narrow the decision to sending and permissions instead of buying an inbox platform.

IfShortlist
A new product with people reviewing quotes and taking over conversationsResend and Mailtrap
We already have the application layer, for inbound processingPostmark or Mailgun
We already have the application layer, on our existing infrastructureSES or Cloudflare
Email is only an outbound stepSending and permissions, not an inbox platform

I would cost the whole workflow: active inboxes, incoming and outgoing messages, attachment storage, retained history, model calls and the engineering work left to us. These are evaluation priorities based on documented capabilities, not results from hands-on tests. Anchor’s grades also assess public evidence and agent readiness; its category page says performance and task-success testing are pending [24].

The test I would run before choosing

I would take the supplier example and deliberately make it annoying.

Deliver the same event twice. Restart the agent after it drafts a reply. Change the event date halfway through. Let a person answer first. Ask the agent to confirm something outside its authority.

Then inspect what happened.

Did we lose a request? Send two replies? Use an old date? Make a commitment nobody approved? Can a person understand and recover the workflow?

That gives me a much better basis for choosing a service than a list of supported tools.

An agent can use an ordinary inbox. The product challenge is making the work around that inbox explicit enough to run without a person quietly filling in the gaps.

Sometimes a dedicated service takes a useful amount of that work off your hands. Sometimes it gives you a nicer API while the hard decisions remain yours.

Before buying one, I would want to know exactly which is happening.

References

  1. [1]Google, Gmail API, managing threads. Source for threads with ordered messages, drafts and replies through the API. developers.google.com
  2. [2]Google, Workspace Admin SDK Directory API, managing user accounts. Source for creating users through the administration API, subject to setup and licensing. developers.google.com
  3. [3]Google, Gmail API, push notifications. Source for Pub/Sub delivery, history IDs, renewing watches at least every seven days and notifications that can be delayed or dropped. developers.google.com
  4. [4]Mailtrap, agent inboxes. Source for structured incoming messages, conversation threading, programmable inboxes and sandbox testing. mailtrap.io
  5. [5]Google, Gmail API, choosing scopes. Source for gmail.compose covering both managing drafts and sending email. developers.google.com
  6. [6]Anthropic, prompt-injection defences. Source for instructions in incoming content intended to redirect an agent. anthropic.com
  7. [7]Resend, announcing Inboxes. Source for shared conversations, assignments, notes, drafts and configurable agent actions. resend.com
  8. [8]AgentMail, inboxes. Source for inboxes as API resources created programmatically. docs.agentmail.to
  9. [9]Nylas, email API documentation. Source for access to existing provider accounts. developer.nylas.com
  10. [10]Cloudflare, Email Service. Source for sending and incoming routing with Workers, and the sending service's beta label. developers.cloudflare.com
  11. [11]Postmark, inbound processing. Source for parsed inbound email delivered as JSON through a webhook. postmarkapp.com
  12. [12]Mailgun, route actions. Source for routing rules that forward to a URL or store messages for retrieval, for up to three days. documentation.mailgun.com
  13. [13]Amazon Web Services, SES email receiving concepts. Source for receiving rules that store messages in S3 and invoke Lambda. docs.aws.amazon.com
  14. [14]AhaSend, MCP server. Source for domain restrictions, permission presets and sandbox-only sending. ahasend.com
  15. [15]Twilio, SendGrid email API. Source for SendGrid as a sending provider. twilio.com
  16. [16]MailerSend. Source for MailerSend as a sending provider. mailersend.com
  17. [17]SMTP2GO. Source for SMTP2GO as a sending provider. smtp2go.com
  18. [18]Groundmail. Source for Groundmail as a sending provider. groundmail.dev
  19. [19]Loops. Source for SaaS lifecycle and transactional email. loops.so
  20. [20]Mailjet. Source for campaign tools and developer APIs. mailjet.com
  21. [21]Brevo, API getting started. Source for messaging and contact operations through the API. developers.brevo.com
  22. [22]Mailchimp, transactional email. Source for Mailchimp Transactional as an add-on to eligible plans. mailchimp.com
  23. [23]Zoho, CPaaS. Source for email alongside SMS, WhatsApp and voice, subject to channel availability. zoho.com
  24. [24]Anchor Terminal, email delivery category. Source for grades that assess public evidence and agent readiness, with performance and task-success testing pending. anchorterminal.com

Your experience matters

Used a tool in the Terminal?

Tell people and their agents what worked and what didn't. Write a review of a tool you've used and confirm it by email or wallet.