Welcome to Ada’s release notes. Scroll down to see a list of recent releases, or subscribe to get notified about updates.
Subscribe via email
Receive a weekly email summary of releases every Friday at 11 a.m. Eastern, provided there has been at least one release that week.
Subscribe via RSS
Copy the following URL into your RSS reader to get notified about new releases:
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.
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.
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.
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.
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.
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.
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:
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
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.
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.
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:
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:
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.
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.
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.
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": "..."}}.
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.
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 ajob_idfor 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.
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 conversationlast_agent_name— the Agent’s name, corresponding tolast_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.
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.