Welcome to Ada’s release notes. Scroll down to see a list of recent releases, or subscribe to get notified about updates.

Receive a weekly email summary of releases every Friday at 11 a.m. Eastern, provided there has been at least one release that week.

Copy the following URL into your RSS reader to get notified about new releases:

https://docs.ada.cx/release-notes.rss
April 30, 2026

External ID support on the End Users API

The End Users API now supports an external_id field, letting custom-channel integrations identify end users by their own stable identifier (for example a CRM contact ID or a phone number) across conversations.

What’s new

  • Look up by external ID. GET /v2/end-users/?external_id=<value> returns the matching end user, or 404 if no mapping exists.
  • Idempotent create. POST /v2/end-users/ accepts an optional external_id. If the identifier is already mapped, the existing end user is returned with 200. A new end user returns 201. Safe to retry.
  • Set, update, or clear on PATCH. PATCH /v2/end-users/{end_user_id} accepts external_id to set or change the value. Passing null clears the mapping and frees the value for reuse. 409 is returned if the value is already assigned to a different end user.

Constraints

  • Maximum 36 characters; < and > characters are not allowed.
  • Values are stored and matched case-insensitively.
  • external_id is unique per AI Agent.
  • Available for custom channel integrations only (V1).

Get started


April 30, 2026

Native LLM generation and Knowledge ingestion expanded to all supported languages

Native LLM generation and Knowledge ingestion now cover all 60 of Ada’s supported languages, up from 9. The Reasoning Engine generates responses directly in the end user’s language for every supported language, and Knowledge articles in those languages are ingested by default and visible in the Knowledge page of the dashboard.

Newly supported languages

The following 51 languages now support both native LLM generation and Knowledge ingestion:

Afrikaans, Albanian, Belarusian, Bosnian, Bulgarian, Burmese, Catalan, Chichewa (Nyanja), Chinese (Traditional), Croatian, Czech, Danish, Estonian, Filipino (Tagalog), Finnish, Greek, Haitian Creole, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Japanese, Kazakh, Khmer, Kinyarwanda, Korean, Latvian, Lithuanian, Macedonian, Malay, Ndebele (South), Norwegian, Polish, Punjabi, Romanian, Russian, Serbian, Sesotho, Shona, Slovak, Slovenian, Swahili, Swedish, Tamil, Thai, Turkish, Ukrainian, Vietnamese, Xhosa, Zulu.

These join the 9 languages already supported: English, Arabic, Chinese (Simplified), Dutch, French, German, Italian, Portuguese, Spanish.

What this means for end users

End users in the newly supported languages benefit from the following improvements:

  • Faster responses, because the Google Translate round-trip is removed and responses can stream in the end user’s language.
  • Higher-quality replies generated directly in the end user’s language rather than translated from English.
  • More accurate handling of tone, idioms, and honorifics.
  • More faithful adherence to tone and style instructions provided through Coaching and Custom Instructions.

Changes to Knowledge articles

Knowledge articles in the newly supported languages now appear in the Knowledge page of the dashboard, including articles from existing knowledge integrations that were previously hidden because the AI Agent did not have multilingual ingestion enabled.

To preserve existing AI Agent behavior, all existing non-English articles for AI Agents that did not previously have multilingual ingestion enabled are set to Inactive. Review these articles in the dashboard and set them to Active to make them available for the AI Agent to use in responses.

Articles created or synced after this date follow standard behavior and default to Active.

AI Agents that already had multilingual ingestion enabled before this date are not affected by the activation change.

How the AI Agent selects Knowledge by language

When Knowledge articles exist in the end user’s language, the AI Agent uses only those articles to generate the response. English articles are not mixed in. If coverage in a specific language is partial, options include:

  • Translating the remaining articles into that language.
  • Setting the partial-coverage articles to Inactive so the AI Agent falls back to English.
  • Contacting your Ada team to enable language-agnostic Knowledge search, which lets the AI Agent search across all languages regardless of the end user’s language.

For the full list of supported languages, see About multilingual support.


April 30, 2026

Multiple email inboxes on one AI Agent

A single AI Agent can now automate multiple support email addresses through Bring Your Own Domain. Each address is configured as a separate email channel and can be managed, filtered, and routed independently.

What’s new

  • Multi-address BYOD setup. Add multiple email addresses to one AI Agent through the existing BYOD flow. Addresses can be on the same domain or different domains. Each inbox has its own Ada-provisioned internal address; BYOD is optional but recommended.
  • Reply-from routing. The AI Agent always replies from the same address the end user originally contacted. Email Handoffs and human-agent replies follow the same rule.
  • Per-channel configuration. Sender name, email templates, launch controls, and reply-all are configurable per email channel. Blocked senders remain global.
  • Channel-based filtering. Filter Conversation View and Analytics by individual email channel. Scope Playbooks, Actions, and Handoffs to a specific channel.
  • email_recipient_address meta variable. The address the end user wrote to is now exposed as a meta variable, available at conversation start for routing logic.
  • Conversations API multi-inbox support. GET /v2/channels/?modality=email returns every email channel configured on the AI Agent. POST /v2/conversations/email/ routes outbound replies through the channel that matches the reply_as address.
  • Per-domain Zendesk SMTP Connector. SMTP credentials are now scoped per BYOD domain, with each inbox’s settings page as the configuration surface. Inboxes that share a domain share the same SMTP configuration; each new BYOD domain requires its own setup. Required for AI Agents that need shared-thread human-agent replies on multiple domains.

Get started