propose_change
propose_change
Creates, updates, or deletes Ada entities (knowledge articles, coaching, custom instructions, test cases) and triggers test runs.
Call get_improvement_guide before proposing changes so the assistant picks the right entity type and follows Ada’s improvement best practices.
propose_change uses a three-phase flow so field schemas are discovered and changes are confirmed before they are applied.
Example prompts
- “Create a knowledge article covering our updated return policy, and draft it with the details from this conversation.”
- “Update the ‘VIP tone’ custom instruction to include the new loyalty-tier language.”
- “Create a test case from this failed conversation so we catch regressions on the refund flow.”
- “Run tests for all my billing-related test cases.”
Three-phase flow
Every write goes through three steps:
- Discover fields. Call with
entity_typeandoperationonly (nofields). The tool returns available fields, types, and descriptions for that combination. - Preview. Call again with
fieldspopulated (orentity_idonly fordeleteon test cases). The server returns a confirmation preview with a human-readable summary and Confirm/Cancel options — present these to the user. No change is applied yet. - Execute. After the user explicitly confirms, call again with
confirmed: trueand the same arguments. The tool validates inputs and applies the change.
This structure prevents accidental writes and surfaces what each operation requires before acting.
Parameters
Supported entity types and operations
Calling an unsupported entity_type × operation combination returns an explicit “not supported” error. Use send_feedback if a capability you need is missing.
Knowledge articles
New knowledge articles are created with enabled: false by default so they don’t affect live traffic until explicitly enabled. Enable them from the Ada dashboard after review.
On update, every field is optional — supply only the fields you want to change. Pass the article ID via entity_id.
Coaching
Both create and update are supported. Coaching is always anchored to a specific AI Agent turn (a generative event) in a real or simulated conversation, so creating coaching requires identifying that event first.
Create
Recommended workflow before creating coaching:
- Call
get_conversationfor the conversation you want to coach. - In the transcript, find the AI Agent response or action entry where the AI Agent went wrong, and confirm it shows
is_coachable: true. - Call
search_coachingwith your intent to check whether similar coaching already exists — update that one instead of creating a duplicate. - Create the coaching against that event.
Coaching types — pick the type that matches what went wrong in the coached event:
Update
On update, every field is optional — supply only what you want to change. Pass the coaching ID via entity_id; use search_coaching to find IDs. coaching_type cannot be changed.
Custom instructions
On update, every field is optional. Pass the custom instruction ID via entity_id.
Test cases
Each test case describes how the AI Agent should respond to a specific scenario and what evaluation criteria determine a pass or fail.
On update, every field is optional. Pass the test case ID via entity_id. On delete, no fields are needed — pass only entity_id.
Test runs
Creating a test_run triggers execution for the specified test case IDs. Use get_test_runs afterward to retrieve pass/fail status, evaluation criteria outcomes, and rationale.