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

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. An email whose only attachments are up to 3 supported images no longer forces a handoff.

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

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

Trigger web source syncs with the Knowledge API

The Knowledge API now supports on-demand syncs of web import sources. Send a POST request to /v2/knowledge/sources/{id}/sync to re-crawl the source right away. The sync runs in the background. This endpoint applies to web import sources only. A source can be synced at most once every 4 hours.

For more information, see the Web Import documentation.

GenerativeAPIsKnowledge API

Configurable acknowledgment messages

Acknowledgment messages are the short line the AI Agent says immediately before it runs a Handoff, API tool, or Playbook. They are now configurable per entity.

New feature

Each editor gained an Acknowledgment (Optional) field:

  • Leave it blank and the AI Agent words the acknowledgment itself.
  • Enter an instruction of up to 500 characters to guide what it says.
  • Fix the exact wording with say exactly "your text". Please note, exact wording text is not translated.
Generative

Clear authentication in Playbooks

Controlled access

Structured v2 Playbooks with controlled access can clear a Customer login provider’s credentials to request another login in the same web chat. The Clear authentication RUN target removes the selected provider’s saved credentials. The next provider-authenticated API tool requests login through the existing flow.

Generative

Snapshot API is available

The Snapshot API exports an AI Agent’s configuration as one archive file that you keep. It then imports that archive, whole or in parts, into any Agent, including the one it came from. Without rebuilding anything by hand, you can:

  • Save a restore point before a large change.
  • Move the Playbooks you built in a sandbox into an Agent that is not yet live.
  • Copy an Agent into a new production Agent or another region.
  • Refresh a sandbox from production.
GenerativeAPIs

Control whether your Voice AI Agent can send SMS

You can now stop your Voice AI Agent from texting callers during a call or at the end of one.

What’s new

Config > CHANNELS > Voice > Configuration has a new toggle, Allow AI Agent to send and receive SMS.

  • Nothing changes for existing Agents. The toggle is enabled for every AI Agent, so your Agent keeps texting as it does today until you disable it.
  • Disable it to stop texts your AI Agent starts. While the toggle is disabled, your AI Agent never offers to text an end user and never asks for SMS consent. The Send SMS tool is unavailable. Speech and SMS is removed from the Voice call capture options. An input already saved as Speech and SMS is captured by speech only.
  • CSAT for Voice needs SMS. The survey link is delivered only by SMS, so disabling the toggle also stops CSAT surveys for Voice conversations.
GenerativeVoice

Glossary API is available

The Glossary API provides create, read, update, and delete access to an AI Agent’s glossary. A glossary term is a word or phrase the AI Agent should recognize in an end user’s message. In custom mode, the AI Agent also restates the term using your preferred wording. Manage glossary terms through code and version control instead of only through the dashboard.

GenerativeAPIs

Playbooks API is available

The Playbooks API provides create, read, update, and delete access to an AI Agent’s Playbooks. Playbooks are the structured, step-based workflows that guide the Agent through multi-step conversations. Manage Playbooks through code and version control instead of only through the dashboard.

API endpoints

Five REST endpoints are available:

GenerativeAPIs

Web Chat SDK: control whether reset() applies caller meta fields

The Web Chat SDK now supports the allowMetaFieldsInReset setting. It controls whether a full reset({ metaFields }) applies caller-supplied meta fields to the new conversation.

The setting defaults to true, so reset meta fields apply. Set it to false to block them. The SDK captures the value for each start() call. Calling stop() and then start() with different settings can enable reset meta fields again. Other meta field methods remain available to page scripts.

GenerativeSDK

Team page: alphabetical sorting and member search

The Team page now lists members in alphabetical order by name. Click the Member column heading to reverse the order.

A search box above the list filters members by name or email address. Large teams can now find a person without reading the full list.

Learn more in My team.

Generative

Code Tools: read a stored secret from an environment variable

A Code Tool environment variable can now read a secret that Ada already stores. Choose the Sensitive Variable source, then pick a sensitive variable your AI Agent captured, or one of your saved tokens. The snippet reads the value with os.getenv("NAME"), the same as any other environment variable.

Use this source for a credential that an API tool also uses, such as a client ID or a client secret. The tool reads the stored copy, so rotating that credential updates every tool at once. A secret you type into the tool is a separate copy that you must update by hand.

Generative

MCP tools: connect your own MCP servers

MCP tools let an AI Agent use tools that already live on an MCP server your company runs. Connect the server by URL, and every tool it exposes is discovered. You do not rebuild each one by hand.

Every discovered tool starts off. You turn on the tools the Agent may use, and the Agent calls them during a conversation to fetch or update data in your systems. You connect the server once, then choose per tool who it acts as: a shared connected account for company-wide or public data (works on all channels), or customer sign-in for a person’s own data (Ada web chat, Twilio SMS, Twilio WhatsApp, and Ada Instagram).

Generative

Set how your Voice AI Agent says a Glossary term

Your Voice AI Agent can now say a Glossary term the way you want callers to hear it.

What’s new

A Glossary term can carry a Voice pronunciation for each written form the AI Agent may speak. Use it for brand names, acronyms, and product names that text-to-speech reads the wrong way.

GenerativeVoice

Change sets: active limit raised to 20 per Agent

An Agent can now hold up to 20 active change sets at a time. The previous limit was 5.

The 10-entities-per-change-set limit is unchanged. Creating a twenty-first active change set still returns an error; promote, revert, or discard one to free a slot.

GenerativeMCP Server

Playbook flow controls

Playbooks now support flow controls that let you change how the AI Agent responds when an end user deviates from the current flow.

New feature

Three controls are available under Advanced settings in the Playbook details pane:

  • Asks for human: Choose whether the Agent exits the Playbook or stays in the flow.
  • Goes off-topic: Choose whether the Agent suspends the Playbook to address the new topic (then returns or exits) or stays in the flow.
  • Asks a Q&A question: Choose whether the Agent searches Knowledge or stays in the flow.
Generative

Reasoning-mode Set steps can resolve several variables at once

A Playbooks SET step in Use reasoning mode can now resolve up to 5 variables. The AI Agent reads the transcript once and extracts every value in a single pass. The step stays silent, so the end user is never prompted.

The step keeps one instruction, which applies to every variable. Each variable is configured as an input, and keeps its own accepted values and fallback value. A variable the Agent cannot resolve takes its fallback value. When no fallback value is set, that variable keeps the value it already held.

Generative

Tools API keeps input and output ids across a rename

PATCH /v2/tools/{tool_id} can rename an output or a code input when the request sends the row id from GET. Redactions and other references stay attached. A rename that omits id still returns 422. API inputs stay name-keyed.

GET always returns id on each input and output. The value is null for API inputs. See Tools API.

GenerativeAPIs

Code tools: run sandboxed Python inside a conversation

Code tools let an AI Agent run a small piece of sandboxed Python during a conversation to reshape data, compute a value, or return only what it needs. A code tool does everything an API tool does — call an external endpoint and get data back — and can also run logic on the result before the Agent uses it.

Code tools are authored via Ada’s MCP Server or the Platform API. Over Ada’s MCP Server, you describe the tool to an AI assistant and authoring goes through a change set (describe, generate, stage, test, then promote), so a tool never affects live conversations until it is approved. A push through the Platform API writes the tool directly, with no change-set step. Add a tool to a Playbook step for the Agent to run mid-conversation (recommended), or invoke it directly like an API tool.

Generative