Code tools: let a Playbook recover when a tool fails
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
The Outputs section of a Code tool now offers an output that reports how the run ended.
- Add the status output. Enable Let playbooks branch when this tool fails in the Code tool’s Outputs section. Ada adds an output named
ada_run_status. The name is fixed, and the Path field does not apply. - Branch on the status. Save the output to a variable. Read that variable from an
IF/ELSEstep after theRUNstep. When a condition references the variable, the automatic handoff stops and your branches own the fallback. Retry the tool, send a message, or hand off. - Five status values. The status is
ok,timeout,error,invalid_inputordisabled. Atimeoutis the clearest case for a retry. - Only the run status has a value after a failure. Every other output selects part of the value the code returned. A failed run returns nothing, so those outputs hold no value.
Learn more about the run status output and Code tool error handling in a Playbook.
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.
See the CSAT survey RUN step for authoring instructions.
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.
Platform API: daily rate limits removed on several endpoints, new rate limit headers
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.
New rate limit headers
The Platform API and the MCP server now return X-RateLimit-Limit,
X-RateLimit-Remaining, and X-RateLimit-Reset on every successful
authenticated response. A 429 response caused by rate limiting also returns
Retry-After. Use these headers to pace your requests and avoid hitting a
limit. See
rate limit headers
and
working with rate limits
for details.
MCP server limits
Since September 8, 2026, the MCP server has applied a budget per AI Agent. An OAuth-authenticated request is budgeted per user instead of per Agent. See the MCP server row in the rate limits table for the current values. Today’s change adds the rate limit headers above to MCP responses. The MCP limits themselves do not change.