support@yourapp.com — that sends mail and receives replies. Create one, hold on to its id, and every reply that lands arrives as a structured message you can read over the API.
Create an inbox
Theusername is the part before the @; the domain must be a domain you’ve verified on your account. The response carries the full address and a stable id — pass that id as inboxId when you send from the inbox. Creating an inbox needs the inboxes:write scope.
409.
The username accepts lowercase letters, digits, dots, underscores, and hyphens — up to 64 characters — and can’t start or end with a dot, underscore, or hyphen.
Every account includes the built-in
dairo.app domain, so you can create an @dairo.app inbox and start receiving before you verify your own domain. A small set of reserved system addresses — notifications@, no-reply@, support@, and similar — is unavailable on it.Inbox fields
Inbox modes
Setmode when you create the inbox, or change it later with a PATCH.
List, update, and delete
Every inbox path accepts either theid or the full address. Reads use inboxes:read; writes use inboxes:write. PATCH updates agent, mode, or both — no delete-and-recreate to change one field. DELETE removes the inbox and returns 204.
Patterns that work well
- Role addresses. Names like
support@,receipts@, andnotifications@keep conversational and transactional mail separated by purpose. - One domain, many inboxes. Verify a domain once, then create as many inboxes on it as you need. Every inbox inherits its domain’s authenticated sending — there is no per-inbox setup.
- One address per agent. Give each AI agent its own inbox —
triage@yourapp.com,billing@yourapp.com— so each one only sees its own conversations. The agent patterns page covers this in depth. - Beyond email. Inboxes aren’t email-only: connecting a bot creates a Telegram inbox that sends and receives through the same message model.
Next steps
- Messages & threads — read what arrives and reply in the conversation.
- Extract structured data — turn incoming mail into typed fields instead of raw text.
- Wait for one-time codes — catch a sign-up or login code the moment it lands.