# One Inbox Per Agent: Why Shared Mailboxes Break Autonomous Workflows

> Source: <https://dev.to/volanea/one-inbox-per-agent-why-shared-mailboxes-break-autonomous-workflows-5eeh>
> Published: 2026-11-02 16:44:29+00:00

Most agentic email setups start the same way: one shared mailbox, one SMTP credential, and a line in the README that says "don't send anything weird." It demos fine. Then the agents start running on schedules, and three problems arrive at once.

**Attribution disappears.** When four agents can send from `support@`, an outbound message has no owner. A bad reply can't be traced to a run, a prompt version, or a task. Structured logs help, but only if identity is part of the send path, and most SMTP wrappers drop it.

**Threads collapse.** An agent that asks a question needs the answer routed back into the same run. With a shared inbox, two agents replying to the same customer produce a thread where each one sees the other's drafts, and the next turn gets ambiguous context.

**Blast radius is global.** One inbox means one credential, one rate limit, and one compromise path for every agent you run.

The fix is unglamorous: give each agent its own address and its own scoped key.

``` php
agent-7@inbox.yourapp.com  -> run 48f2, prompt v12
agent-8@inbox.yourapp.com  -> run 51aa, prompt v12
```

Routing becomes a lookup instead of a guess. Inbound mail arrives already attached to a thread, so the agent's next turn has the exact message it was waiting for:

```
{
  "to": "agent-7@inbox.yourapp.com",
  "from": "customer@example.com",
  "subject": "Re: invoice 1042",
  "threadId": "th_9f2c",
  "text": "Confirmed, go ahead."
}
```

Two details matter in practice. First, a per-agent key should be scoped to that inbox, so a leaked key burns one agent instead of the fleet. Second, inbound parsing should return plain text plus a thread id, not a raw MIME blob the model has to decode. Quoted replies and attachments are exactly where agents waste tokens and invent context.

[Volanea](https://volanea.com) implements agentic inboxes this way: an isolated address per agent, scoped API keys, and inbound mail parsed to JSON with thread ids. The free tier covers 1,000 emails a month, enough to run a small fleet before committing to anything.

If you are wiring agents to email, count inboxes before you count tokens. Setup notes live at [volanea.com/docs](https://volanea.com/docs).
