Agent Mailboxes give your AI agents a durable email address they can own, read, and reply from. Every inbound message lands in a conversation thread with parsed body text and attachment metadata; your agent reads it and replies in one API call. No mail server to run, no domain to verify.

**Claim an address.** Omit the local part and Bird generates a unique address (`abc123@inbox.ai`) at no extra cost. On paid plans you can choose your own handle (`support@inbox.ai`) up to your plan's allowance, or use your own inbound-enabled domain. Each mailbox has a receive policy (`open`, `replies_only`, `allowlist`, `drop`), per-sender allow/block rules, and a 30-day retention window.

**Read conversations.** Inbound mail groups into threads automatically. Each message carries quote-stripped `extracted_text` — the new content only, without the history your agent would otherwise have to parse. Threads have placement labels (`inbox`, `archive`, `spam`, `blocked`, plus any custom label), unread state, and a `last_direction` field so your agent always knows whether the last move was theirs.

**Reply and compose.** Reply to a message in one call — the reply folds into the existing thread and sends from the mailbox address. To start a fresh outbound conversation, compose from the mailbox; the response carries a thread ID for tracking replies.

**Webhooks.** Subscribe to `email_mailbox.message_received`, `email_mailbox.thread_created`, `email_mailbox.message_sent`, `email_mailbox.message_delivered`, and `email_mailbox.message_failed`. Only inbox-placement mail fires webhooks — spam and blocked mail is stored silently.

## Available on every surface

| Surface        | How to use                                                                                          |
| -------------- | --------------------------------------------------------------------------------------------------- |
| REST API       | `/v1/email/mailboxes` + `/v1/email/threads` — new `mailbox` and `mailbox_management` API key scopes |
| TypeScript SDK | `bird.mailbox`, `bird.mailboxThread`, `bird.mailboxThreadMessage`                                   |
| Python SDK     | `client.mailbox`, `client.mailbox_thread`, `client.mailbox_thread_message`                          |
| Go SDK         | `client.Mailbox`, `client.MailboxThread`, `client.MailboxThreadMessage`                             |
| CLI            | `bird email mailboxes` · `bird email threads` · `bird email threads messages`                       |
| MCP            | Full tool set — `email_mailboxes_*`, `email_threads_*`, `email_threads_messages_*`                  |

## Getting started

Create an API key in the dashboard — under the **Email** group, enable the **mailbox** scope, then follow the [Agent Mailboxes quickstart](/docs/get-started/agent-mailboxes) to claim an address, receive your first message, and send a reply in under five minutes.

Full API reference, receive rules, retention, and webhook payloads: [Agent Mailboxes guide](/docs/guides/email/mailboxes).