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

Conversation start events for Playbooks

Playbooks can now be assigned to conversation start events so they run automatically when a new conversation begins on a specific channel. Supported channels include Messaging, Voice, Email, and all configured Sunshine social channels.

In the Playbook editor’s Details pane, type @ in the When to use this Playbook field to assign one or more events. Each event can only be assigned to one Playbook at a time.

GenerativePlaybooks

Playbook and reply images can be driven by a Variable

Images delivered by an AI Agent can now be chosen at runtime instead of at authoring time. A single Playbook can send a different image per conversation — an order-specific product photo, for example — rather than requiring near-duplicate Playbooks.

Media Variables

A new Media data type is available in the Variable Manager. It stores a publicly reachable http or https image URL.

Generative

Always-on AI Agent terms and User term aliases for Glossary

Glossary now works in both directions. AI Agent terms apply whenever an answer draws on related knowledge content, not just when an end user’s message matches a User term. And a single glossary entry can now hold every phrasing end users have for a concept.

What’s new:

  • Always-on AI Agent terms — When the AI Agent answers from knowledge content related to a term, it’s guided to use your AI Agent term and its definition, even if the end user never used one of your User terms. Matching runs against your knowledge content, so articles that use your preferred terminology give the strongest signal. The end user’s conversation language is always included, so mostly-English content still surfaces your wording in non-English replies. There is nothing to configure. Learn more.
  • User term aliases — A language can now hold up to 20 User terms on one entry, all mapping to that entry’s AI Agent response term. No more duplicate entries per phrasing. Add them in the term modal’s User terms section, or separate them with semicolons in a user_term:<language> CSV cell (for example, apple gift card;iTunes card;App Store card). Exports use the same format. Learn more.
  • Availability filter — Filter the glossary list by availability (Is / Is Not), the same filter used for Knowledge articles.
Generative

Increased bulk end-user deletion match limit

In the Bulk End-User Deletion API, a single identifier may now match up to 1000 end users, increased from 500. This applies to variable_match identifiers and to the fan-out of an email match.

An identifier that matches more than 1000 end users is still reported with the exceeds_limit disposition and erases nothing. The limits on identifiers per request (1000) and request body size (512 KB) are unchanged.

GenerativeAPIsEnd User API

Launch controls no longer reroute test chats

Testing an AI Agent from the Ada dashboard now always opens the Agent being edited, even when launch controls set its rollout to 0% and direct traffic to a second Agent.

What changed

Previously, launch controls applied to test chats as well as end-user traffic. An AI Agent at 0% rollout with a second Agent configured would open that second Agent when tested — or show a domain error if the dashboard was not in its list of allowed websites. This blocked testing the Agent before rolling it out.

Generative

Reuse images across Playbooks

Playbook authors can now reuse an image that was already uploaded instead of uploading it again.

What’s new

The image picker in a SEND step now includes a library of previously uploaded images.

  • Browse or filter the library by an image’s alt text from the Search tab.
  • Select one or more images and insert them together, each as its own inline attachment.
  • Images already used in the Playbook being edited are marked In use.
Generative

Conditional language menus for Voice

Voice AI Agents can now present different language-selection menus based on the end user’s context, so end users only hear the language options relevant to how they reached the Agent.

What’s new

Previously, the language-selection menu offered the same list to every end user. You can now configure this from Config > CHANNELS > Voice > Language selection:

GenerativeVoice

Custom Instructions API now generally available

The Custom Instructions API is now generally available. It provides programmatic create, read, update, and delete access to an AI Agent’s Custom Instructions - the system-level behavioral guidance the Agent follows across conversations - so instructions can be managed through code and version control instead of only through the dashboard.

API endpoints

GenerativeAPIs

Data Export API: last_agent fields now reflect the most recent handler

The v2 Conversations endpoint now derives last_agent_id and last_agent_name from the Agent with the most recent activity timestamp, rather than the last Agent to join.

For conversations where an earlier-joining Agent re-enters and closes the conversation (for example, a transfer-back), these fields previously named the latest-joining Agent instead of the one who most recently handled it. The returned value now matches the Agent who most recently handled the conversation. The agent_id and agent_name arrays are unchanged.

APIsData Export API

Per-Inbox Email Attachment Handling

Email inboxes now have an Attachment handling setting that controls what happens when an email arrives with an attachment. Previously, every email with an attachment was handed off to a human agent before the AI Agent could engage. Each inbox can now keep that default, have the AI Agent reply while discarding the attachment, or have the AI Agent reply while keeping the attachment so it’s included if the conversation is later handed off.

Generative

Transfer outcome and sent metadata in Voice conversations

When a Transfer Call block hands a voice call off, the conversation view now records how the transfer resolved and the metadata Ada sent, instead of a single generic transfer line.

Transfer outcomes

When Ada places the transfer and stays on the call, the conversation view shows one of these outcomes, plus how long the end user waited:

Generative

Availability rules for Glossary

Glossary terms now support availability rules. An availability rule restricts a term to specific end users based on variable conditions — the same rule builder used for Knowledge articles. A term whose rule doesn’t match the current conversation is skipped that turn, as if it weren’t defined; a term with no rule stays always available.

What you can do:

Generative

Download a glossary CSV template from the Glossary page

The Glossary page now offers a downloadable CSV import template, so you no longer need to leave the page to find the correct format.

Open the three vertical dots menu beside the Import button and choose Download template to get an empty CSV — headers only — with a user_term:<language> and ai_agent_term:<language> column for each language your AI Agent has enabled. It’s available even before you add any terms, so you can fill it in and import a correctly-formatted file the first time.

Generative

Instagram DMs for the AI Agent

Your AI Agent can now answer Instagram direct messages (DMs) natively, through a direct Meta integration. This channel is generally available.

What’s new

Instagram is a native social channel, connected entirely from the dashboard with Meta login — no third-party middleware and no engineering setup.

GenerativeChannels

See Glossary usage in the Conversation View

Glossary usage is now visible in the Conversation View, so you can confirm terms trigger where you expect and review how the AI Agent applied them:

  • Transcript events — When the AI Agent applies glossary terms in a turn, the transcript shows an “I used N glossary terms” event. Open it to see each term’s translation mode, user and AI Agent terms per language, definition, availability, and voice detection, with a direct link to edit the term.
  • Glossary term filter — Filter the Conversation View and Analytics reports by glossary term (external id’s), including “is set” / “is not set” to find conversations where any (or no) term was applied.
Generative

MCP: polymorphic tool shape in get_ada_configuration and list_entities

The MCP Server now returns configured tools in a polymorphic shape across get_ada_configuration and list_entities.

Each tool entry carries a type discriminator (currently only api), an enabled flag, and type-specific fields (e.g. description) under a body keyed by that discriminator — for example, {"type": "api", "name": "...", "enabled": true, "api": {"description": "..."}}.

GenerativeMCP ServerAPIs

MCP: Voice capture and confirmation on Ask steps

When authoring Playbook ask steps with propose_change, you can now set how each variable is captured and confirmed on Voice.

Capture method (capture_modes) — how the caller provides the value: speech, phone keypad, SMS, or combinations, depending on the input type.

Confirmation style (confirmation_style) — how the AI Agent reads a captured value back before continuing: none, implicit, echo, or spell. Text and number inputs support all four; boolean supports none, implicit, and echo. Defaults to implicit.

GenerativeMCP ServerVoice

Bulk End-User Deletion API

The Bulk End-User Deletion API is now available. It erases all personal data associated with one or more end users across Ada’s systems, supporting compliance with data deletion requirements such as GDPR.

API endpoints

Two REST endpoints are available:

  • Submit a deletion request (POST /v2/end-users/delete): Accepts up to 1000 identifiers and returns a job_id for tracking. Requests are idempotent for 24 hours.
  • Get a deletion job (GET /v2/jobs/{job_id}): Returns the job status and a per-identifier outcome for each submitted identifier.
GenerativeAPIs

Data Export API: last_agent_id and last_agent_name on the Conversations endpoint

The v2 Conversations endpoint of the Data Export API now returns two additional fields on each conversation:

  • last_agent_id — the unique ID of the Agent who most recently handled the conversation
  • last_agent_name — the Agent’s name, corresponding to last_agent_id

Both fields identify the Agent with the most recent activity timestamp on the conversation. They return null when no Agent was assigned to the conversation.

APIsData Export API

Increased email footer character limit

The email footer character limit has been increased from 2000 to 2200 characters, giving more room for legal disclaimers, compliance messaging, and localized content.

Learn more in Email appearance settings.

Generative