the reply
A static template or a one-shot LLM completion pasted into a send call.
A full agent run — code, tools, and the owner's LLM credentials — producing the reply.
An autoresponder matches a rule and fires a template. On a2a cloud, every inbound email starts a real agent run: your code, your tools, the owner's LLM credentials. The reply is sent from the agent's own address with In-Reply-To and References set, so it threads into the sender's Gmail or Outlook conversation — in seconds — and the whole exchange lands as a transcript in the dashboard.
threaded replies · dashboard transcript · from-address locked · every message audited
Rule-based responders and one-shot LLM reply bots share the same failure: the reply is fire-and-forget. It arrives as a disconnected new message instead of threading into the conversation, no transcript exists outside a sent-items folder, and there is no bound on how much a misfiring bot sends before a human notices. If the reply matters enough to automate, it matters enough to thread correctly, to be readable afterward, and to be attributable to a specific run under a specific identity.
On a2a cloud the mailbox is part of the runtime: inbound mail becomes a user message, the agent's run produces the assistant message, and the reply threads back into the sender's client — with an audit event for every message in both directions.
Inbound mail starts a real agent run with your code, your tools, and the owner's LLM credentials — not a canned template with a name token. Whatever the agent can do in a dashboard chat, it can do in reply to an email.
The agent answers from its own address with In-Reply-To and References set, so the reply lands inside the sender's existing conversation in Gmail or Outlook — not as a disconnected new message. Round-trip in seconds, verified live.
One email conversation — the References chain — becomes one dashboard chat thread with an email badge. Inbound mail appears as the user message, the agent's reply as the assistant message. You can read exactly what was said, in order.
The agent sends as <agent-name>@agents.a2acloud.io on a dedicated mail subdomain with SPF, DKIM, and DMARC. Its deliverability is isolated from your primary domain's reputation, and the SDK locks From to the agent's own address — it can't impersonate anyone.
By default the agent replies only to its owner; anyone else requires an explicit allowlist entry. Auto-submitted mail and agent-domain senders are filtered, so your responder can't get trapped in a loop with someone else's.
Mailbox ingestion and outbound replies create mailbox audit events, and the owner-bound Agent API execution is signed and persisted separately. Tool-level activity is not implied unless another trace records it.
A static template or a one-shot LLM completion pasted into a send call.
A full agent run — code, tools, and the owner's LLM credentials — producing the reply.
Replies arrive as new messages; the sender's client shows a fragmented conversation.
In-Reply-To and References are set, so the reply threads correctly in Gmail and Outlook.
Each email is handled in isolation; the responder has no notion of the conversation.
The References chain maps to one dashboard thread — the conversation is the unit of state.
What was actually sent lives in a sent-items folder someone would have to go read.
The full exchange is a dashboard transcript with an email badge, plus an audit event per message.
Mail leaves from your domain or a shared automation sender, mixing reputations.
The agent's own address on a dedicated SPF/DKIM/DMARC subdomain, From locked by the SDK.
A misfiring autoresponder sends until someone notices.
50 outbound emails per agent per day; over-cap replies stay in the thread and are audited.
An autoresponder matches a rule and sends a template. On a2a cloud, each inbound email starts a real agent run — your code, your tools, the owner's LLM credentials — and the reply it produces is sent back into the sender's thread. The exchange also lands as a dashboard transcript, so you can read what the agent actually said rather than trusting a rule fired correctly.
Yes. The reply is sent from the agent's own address with In-Reply-To and References headers set, so mail clients attach it to the sender's existing conversation instead of starting a new one. The round-trip — inbound mail to threaded reply — completes in seconds, verified live.
Every email conversation, keyed by its References chain, appears as one chat thread in the dashboard with an email badge. The inbound mail shows as the user message and the agent's reply as the assistant message. Alongside the transcript, every received and sent mail leaves an audit event.
Neither, by default. The SDK's ctx.mail API locks From to the agent's own address — <agent-name>@agents.a2acloud.io — so it cannot impersonate you or anyone else. And it only responds to its owner unless you explicitly allowlist additional senders; auto-submitted and agent-domain mail is filtered as a loop guard.
Two ways. The ctx.mail API lets agent code list, read, send, and reply within its mailbox. For structured handling, @a2a.tool(on_email=True) — the SDK contract shipping in the next a2a-pack release — receives a typed InboundEmailPayload with sender, subject, body, message_id, references, and attachments up to 1 MiB, and returns a str or {body, subject} as the reply.
A hard cap of 50 outbound emails per agent per day. Replies over the cap aren't silently dropped — they stay in the dashboard thread and are audited, they just don't leave as mail. Combined with owner-only senders and loop filtering, a misbehaving responder is contained rather than discovered by its recipients.
All guides live in the guides index.
a2a cloud gives a Pro-plan agent a real mailbox — <agent-name>@agents.a2acloud.io on a dedicated SPF/DKIM/DMARC subdomain — enabled with one line of a2a.yaml. Each email conversation becomes a dashboard thread, each reply threads into the sender's client, and each message in either direction leaves an audit event. An email responder that is an agent run, with the transcript to prove it.