Bird launches a headless signup path for agents that don't already have a Bird account. Three commands take an agent from nothing to a stored, working credential: `bird auth signup` creates the account and emails a six-digit code, `bird auth verify-email` confirms it and returns a one-time onboarding ticket, and `bird auth create-org` consumes that ticket to create the first organization and workspace. No browser and no dashboard involved at any step. The same flow is exposed as the `signup`, `verify_email`, and `create_org` tools on the [MCP server](/docs/ai/mcp-server). See [Self-serve signup](/docs/ai/self-serve-signup).

Also in this release:

- The dashboard's navigation is redesigned around a left sidebar: channels are grouped under **Products** (Voice, Push, Lookup, and Realtime now sit in a coming-soon row), shared records live under **Resources** (Contacts, Numbers, Verification), and **API Keys**, **Webhooks**, and **Logs** are pinned at the bottom and stay visible no matter which channel you're in. See the [dashboard tour](/docs/knowledge-base/getting-started/dashboard-tour).
- [WhatsApp message endpoints](/docs/api/reference/send-whats-app-message) (get, list, list message events, send) now return `last_error.meta_error_code`, the raw error code from the WhatsApp Cloud API, for lower-level debugging of failed sends.
- Corrected docs: enabling email receiving on a domain is dashboard-only, through the Receiving toggle on the domain's detail page. The previously documented `PATCH /v1/email/domains/{domain_id}` call for this doesn't do that. Separately, the 422 error returned for preview email fields (`references`, attachment `path`, `contact_id`, `topic_id`) used ahead of general availability is `UnsupportedEmailFeature`, not `unsupported_feature` as previously documented.