propose_change
propose_change
Creates, updates, or deletes Ada entities (knowledge articles, coaching, custom instructions, test cases) and triggers test runs. propose_change uses a two-phase flow so the field schema is discovered before changes 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.”
Two-phase flow
Every propose_change call goes through two steps:
- Discover fields. Call with
entity_typeandoperationonly (nofields). The tool returns the available fields, their types, and descriptions for that combination. - Execute. Call again with the same
entity_typeandoperation, plus a populatedfieldsobject. The tool validates the inputs and applies the change.
This structure surfaces what each write requires before acting, which reduces errors from guessing field names or formats.
Parameters
Supported entity types and operations
Calling an unsupported entity_type × operation combination returns an explicit “not supported” error.
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
Only update is supported — coaching entries are created from the Ada dashboard or through conversation-level coaching workflows.
Pass the coaching ID via entity_id. Use search_coaching to find coaching IDs.
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.