Bird
Bird

A world of possibilities.
One place to start.

Agent Mailboxes / Compare

Bird vs Aurinko for email integrations

Choose whether the application needs a new agent-owned address or access to a customer’s existing mailbox. That decision comes before API syntax.

Where Aurinko fits

Aurinko exposes a unified API for accessing and synchronizing mail across providers, including draft, message and attachment operations. Its connected-mailbox use case differs from creating a dedicated agent inbox.

Read Aurinko documentation

Where Bird fits

Bird Agent Mailboxes provisions a receiving address for the application and exposes thread and reply operations. Use it for an agent-owned inbox while retaining separate connected-account access where the product still needs it.

Explore Bird Agent Mailboxes

Compare the integration you will operate

CapabilityBirdAurinko
Mailbox ownershipCreate an address dedicated to the application task.Access and synchronize an existing provider-backed mailbox.
Conversation stateUse Bird mailbox, thread and message identities.Map connected-account messages and synchronization state.
Scope of replacementMove workflows that can receive at the new dedicated address.Retain workflows requiring the user’s existing mail, drafts or synchronization.

Run the same customer journey

Select a task that can run at a new address and test it end to end. Separately list any requirement to search historical user mail or synchronize account changes; the new inbox test does not satisfy those requirements.

Start the working example

Make the switch deliberately

Move the dedicated-address workflow and leave connected-account functionality in place where needed. Preserve old account and message references for continuity.

Migrate from Aurinko

Give the agent a mailbox it can use.

Create a mailbox, retain its ID and send from that address. Then test incoming messages, threads and replies. Connected personal accounts and newly hosted mailboxes require different migration plans.

Run the complete quickstart ↗
npm install @messagebird/sdk
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

// Claim an address on inbox.ai
const mailbox = await bird.email.mailboxes.create({
  domain: "inbox.ai",
  local_part: "support",
  display_name: "Acme Support",
  receive_policy: "open",
});

// Send a message from the mailbox
await bird.email.mailboxes.messages.create(mailbox.id, {
  to: ["alice@example.com"],
  subject: "Your request has been received",
  text: "We'll get back to you within one business day.",
});

Questions before switching

Can a new mailbox replace access to an existing user account?
Only if the task can run at a dedicated new address. Workflows that need the customer’s existing mailbox, historical mail or synchronization require connected-account functionality.
What should I test before changing inbound routing?
Create the mailbox, receive a message, reply in the correct thread and verify the outgoing result. Test a follow-up, duplicate event and an attachment your worker cannot process.
Do old message IDs work with a new provider?
No. Preserve the old references in your application and record the new provider’s IDs for new operations. Keep historical conversations available for support.

Test it with your own workflow.

Start with the guide, or bring your integration and migration requirements to our team.

Start with one channel.
Add the others when you're ready.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Read docs
Using Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours:
Cursor