Skip to navigation

Release notes

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

Availability rules for web import sources

You can now set availability rules on a web import source. Every page that the import adds gets those rules automatically, so you no longer need to set rules on imported articles one by one. Set the rules when you add a website, or later from the source’s Settings.

Rules on the source apply to pages imported after you set them. Existing articles keep their own rules.

Generative

Email API accepts attachments

The Email API now accepts the files that end users attach to a contact form. Your AI Agent handles them the same way as attachments on an email sent to it directly.

What’s new

The POST /v2/conversations/email/ endpoint accepts a new request format. JSON requests work as before.

GenerativeAPIsEmail

SEND steps can search and reference Knowledge

Contextual AI-generated SEND steps in Playbooks can now use Knowledge for a single reply. A reference in General Guidelines applies across the whole Playbook. A search or a reference in a SEND step grounds the reply of that step.

What’s new

Two options appear under Knowledge in the @ menu of a Contextual AI-generated SEND step.

Generative

API tool response time in the Conversation View

The Conversation View now shows how long your API tools take to respond.

When an API tool is slow, the conversation shows it. A response that takes more than 1 second is marked with the time it took. If several API tools run in one turn, the total appears at the top of that turn. Open a tool’s details to see the time for every response, fast or slow.

Generative

Data Export API: changeset_id on the Conversations endpoint

The v2 Conversations endpoint of the Data Export API now returns changeset_id on each conversation. The value is the unique ID of the change set the conversation ran against.

The field returns baseline when the conversation ran against your live AI Agent rather than a change set.

Use the field to measure a live customer test. Group your export by changeset_id to compare the conversations in a rollout against the rest.

APIsData Export API

ASK steps read every reply and can ask only once

What’s new

ASK steps in structured v2 Playbooks now evaluate the end user’s reply to the last re-ask before the step moves on. The Max re-ask attempts field now accepts 0.

  • Every reply is evaluated. Previously, the AI Agent applied the re-ask limit before it read the reply to the last re-ask. The step discarded a valid answer given on the last re-ask and moved on with the fallback value or an empty variable. The Agent now reads that reply first and only then decides whether to move on.
  • Max re-ask attempts counts re-asks after the first question. A value of 3 means the Agent asks once and re-asks up to 3 times, 4 questions in total. The default is 3 re-asks, so existing steps ask the same number of times as before.
  • Ask only once. Set Max re-ask attempts to 0 and the Agent asks the question once, evaluates the reply, and moves on without re-asking.
Generative

Suppress the CSAT survey with rules

You can now suppress the CSAT survey when an end user’s variables match a rule.

What’s new

Config > AI AGENT > CSAT has a new Survey Suppression section on both the AI Agent chat and Human Agent tabs.

  • Never suppress keeps the current behavior. Every eligible end user is offered the survey.
  • Suppress when the following rules match hides the survey when the end user’s variables match the rules you define. The rule builder is the same one used for Availability rules on Knowledge and Actions.
  • Each tab has its own suppression rules, so the AI Agent survey and the Human Agent survey can differ.
  • Suppression rules apply to the end-of-chat survey and the survey after a Human Agent chat. They do not apply to the survey sent by SMS after a voice call, or to a survey that a Playbook step sends.
GenerativeCSAT

MCP: compare a change set against baseline in one call

An AI assistant connected over the MCP server can now compare a change set’s performance against baseline in one call. Baseline is the set of conversations your live AI Agent handles, not attributed to any change set.

The new compare_changeset_metrics tool takes a change set ID and a date range. It returns baseline and change set side-by-side for containment_rate, resolution_rate, csat_rate, and each enabled custom metric pass rate. Each metric row includes the absolute difference and the difference relative to baseline. Cohort conversation volume is included.

GenerativeMCP Server

Chat widget browser requirements

The chat widget now supports Chrome 99, Edge 99, Firefox 97, and Safari 15.4 as its minimum desktop browser versions. On iOS, the minimum supported version is iOS 15.4 for Safari and in-app WebViews. On Android, the minimum supported version is 99 for Android System WebView or Chrome.

The chat widget runs in the device’s web engine. Android System WebView updates separately from the operating system through the Play Store.

Generative

URL-triggered business events removed from Embed2

Ada removed automatic URL-triggered business events from the Embed2 Web SDK. Embed2 no longer fetches business-event definitions, and it no longer records an Event when a page URL matches a trigger condition. Existing integrations continue to load without code changes.

What changed

This release changes the following Embed2 behavior.

GenerativeScriptedSDK

Dashboard tables remember your sort

Sortable tables in the dashboard now keep the column sort you choose. Leave the page and come back, and the table opens the way you left it. A shared link opens with the same order.

New default order

Four tables open on the most recent edit instead of alphabetical order.

Generative

Code tools: let a Playbook recover when a tool fails

A Code tool can now report how its run ended. A Playbook can branch on that outcome instead of handing the conversation to a human agent. Before this change, a failed run exited the Playbook and forced a handoff. A run fails when the code raises an error, exceeds a limit, or receives an input of the wrong type.

What’s new

Generative

CSAT survey RUN step in Playbooks

What’s new

Structured v2 Playbooks can ask the end user to rate their experience at the point the author chooses, with the new CSAT survey RUN target. The CSAT survey RUN target shows the survey card in web chat and messaging channels. On Voice, it asks the caller for permission and then texts the survey link through Agent SMS. On Email, it sends the survey link in its own email. The Playbook continues with its next step and does not wait for the rating.

Generative

Manage change sets from the dashboard

You can now manage change sets directly from the dashboard. Try changes on a sample of live conversations before promoting them to your AI Agent. Discard change sets you decide not to promote.

See Change sets.

Generative

Platform API: daily rate limits removed on several endpoints, new rate limit headers

The Platform API no longer applies a daily request cap to these endpoint groups:

  • End Users API (/v2/end-users/)
  • Conversations API create, read, update, end, end-handoff, attachment, and messaging endpoints
  • Knowledge API article endpoints (/v2/knowledge/articles/)

Per-minute and per-second limits stay the same for these endpoints. See the global rate limits and each API’s own reference page for the current values.

GenerativeAPIsMCP Server

MCP: roll out a change set to a slice of live traffic

An AI assistant connected over the MCP server can now serve a testing change set to a sample of new conversations before it is promoted. The staged variants run against real traffic while the rest of the AI Agent stays on the live version.

What’s new

  • Start a rollout: edit_agent_behavior accepts set_rollout with changeset_id, percentage (1–100), and max_conversations. The rollout completes the moment the cap is reached.
  • Stop a rollout: edit_agent_behavior accepts stop_rollout with changeset_id. No further conversations are sampled in. Conversations already pinned to the change set keep serving its variants until they end.
  • Combined cap: percentages across all active rollouts on the same Agent must sum to at most 100.
GenerativeMCP Server

AI Agent reads images sent over Email

Your AI Agent now reads images that end users attach to emails and uses them to resolve inquiries. A screenshot of an error, a photo of a damaged product, or an order confirmation becomes part of the conversation. To turn it on, set the inbox’s attachment handling to AI Agent replies using the attachment.

What’s new

GenerativeEmail

Send your Voice AI Agent's texts through your own SMS provider

Voice AI Agents can now send their in-call text messages through your own SMS provider and phone number. This needs a developer. They create a Conversations API channel with the new sms modality and run a relay that receives each text message as a v1.conversation.message webhook and sends it with your provider.

Create the channel with POST /v2/channels. Set modality to sms. Then turn on the Use your own SMS channel toggle in Config > CHANNELS > Voice > Configuration. Until the toggle is on, the AI Agent sends its text messages from the Twilio number configured for your AI Agent.

GenerativeAPIsVoice

AI Agent reads HEIC and HEIF images

Your AI Agent now reads HEIC and HEIF images, the default photo format on iPhone. An end user who emails a photo straight from their camera roll no longer needs to convert it first.

What’s new

HEIC and HEIF join PNG, JPEG, and GIF as image formats the Agent reads on Email.

GenerativeEmail

MCP: create knowledge sources and file articles into them

An AI assistant connected over the MCP server can now create a knowledge source and file the articles it writes into that source. A batch of imported documents then appears on the Knowledge page as one source instead of loose articles under Created in Ada.

What’s new

  • Create a source: edit_agent_config accepts a knowledge_source entity with name, optional external_id, and optional metadata. Create only; rename and delete stay in the Knowledge API.
  • List sources: list_entities accepts entity_type='knowledge_sources' and returns each source’s Ada id, Knowledge API external_id, and deletion status.
  • File an article into a source: edit_agent_behavior accepts knowledge_source_id on knowledge article created and modified changes. Sources that hold imported articles, are managed by an integration, are a website import, or are being deleted are refused.
  • Dashboard keeps Edit and Delete: articles written in Ada stay editable in the dashboard whichever source they are filed under, and saving one no longer moves it back to Created in Ada.
GenerativeMCP Server