Move an Aurinko agent workflow to Bird Mailboxes
Use Bird when the task needs its own mailbox. Keep Aurinko where the product still needs to search, synchronize or act in an existing user account. These can remain separate parts of one application.
Separate account access from a dedicated inbox
Aurinko's Email API provides access to connected providers, including Gmail, Microsoft accounts and IMAP. Its incremental synchronization includes updated and deleted streams with continuation tokens. See the Aurinko Email API.
| Current dependency | Implementation after moving the dedicated task |
|---|---|
| Connected account token | Keep it for features that still use that account. Authorize the Bird mailbox separately with your Bird key. |
| Account and message identity | Preserve the original pair for historical records; store the new mailbox/thread/message IDs against your own case. |
| syncUpdatedToken and syncDeletedToken | Keep each token with its existing Aurinko synchronization job. They are not Bird list cursors. |
| nextPageToken and nextDeltaToken | Finish the current account synchronization using its own token protocol. Start new Bird reads through the Bird SDK. |
| User mailbox search, folders or drafts | Retain those operations when still required. A new address does not recreate the user's mailbox. |
| Task triggered by mail to a dedicated address | Receive through a Bird mailbox event, load its thread and reply to its source message. |
Choose the first task
For example, move requests sent to an agent-owned support address while keeping the user's inbox search in Aurinko. Save the routing decision with the case so retries do not choose a different provider.
Create a Bird mailbox and send it a test request. Confirm its address, receiving policy and application owner. Record the returned IDs instead of attempting to convert an old provider ID. The integration chooser helps separate this task from outbound-only email and existing-account access.
Build the Bird workflow
Start with the complete Node.js support inbox or Python support inbox. Each creates a mailbox, receives a message, records an application-owned support case and acknowledges it in the original thread. A later message updates that case; a repeated message does not send another acknowledgement.
The examples keep a small local checkpoint for development. Put the same case, incoming-message and outgoing-operation identities in your application's durable store before running multiple workers. Keep the business action separate from the email: acknowledging a refund request does not issue a refund.
Then add the signed event receiver and attachment workflow. Store the received-message ID with the case before acknowledging the event. Retrieve attachment metadata and bytes through the documented operations; keep any retained files under your application's access and retention rules.
Test both sides of the application
Verify the dedicated mailbox receives a request, retrieves its attachment and replies in the correct conversation. Send a later reply and replay an earlier event; confirm the latest message is considered without repeating the business action. Test a lost send response and use the operation record to reconcile it.
Separately, confirm existing-account search and synchronization still work for the user. Keep each account's update/deletion checkpoints and any required archive. A successful Bird reply does not establish that the connected account finished synchronizing.
Switch the selected task
Move one address or customer cohort, then compare case creation and reply outcomes with your previous implementation. Pause the old dedicated-task worker for that cohort while leaving unrelated account synchronization running.
If you roll back, stop new Bird jobs first and resolve outstanding sends. Remove old account access only when the product no longer needs it; that decision is independent of provisioning a Bird mailbox.
Next steps
- Compare Bird and Aurinko
- Mailbox integration and retention
- Resolve receiving and reply problems
- All mailbox migration guides
- Mailbox resources
- Email pricing
Related resources
Continue with the documentation, guides and examples for this topic. Resources are in English.
Watch the guideGetting started with emailExplore the capabilityEmailFollow the learning pathBuild your first integrationImplementation guideSend your first email
Try the practice and get an implementation brief