Agent tools deprecation
Migrate from legacy prompt.tools
to the new prompt.tool_ids
field.
Overview
What’s changing?
- The old request field
body.conversation_config.agent.prompt.tools
is deprecated. - Use
body.conversation_config.agent.prompt.tool_ids
to list the IDs of the client or server tools your agent should use. - New field
prompt.built_in_tools
is introduced for system tools (e.g.,end_call
,language_detection
). These tools are referenced by name, not by ID.
Critical deadlines
July 14, 2025 - Last day for full backwards compatibility. You can continue using
prompt.tools
until this date.
July 15, 2025 - GET endpoints will stop returning the tools
field. Only prompt.tool_ids
will be included in responses.
July 23, 2025 - Legacy prompt.tools
field will be permanently removed. All requests
containing this field will be rejected.
Why the change?
Decoupling tools from agents brings several advantages:
- Re-use – the same tool can be shared across multiple agents.
- Simpler audits – inspect, update or delete a tool in one place.
- Cleaner payloads – agent configurations stay lightweight.
What has already happened?
Good news — we’ve already migrated your data! Every tool that previously lived in prompt.tools
now exists as a standalone record, and its ID is present in the agent’s prompt.tool_ids
array.
No scripts required.
We have automatically migrated all existing data:
- Every tool that was previously in an agent’s
prompt.tools
array now exists as a standalone record. - The agent’s
prompt.tool_ids
array already references those new tool records.
No one-off scripts are required — your agents continue to work unchanged.
Deprecation timeline
Toolbox endpoint
All tool management lives under a dedicated endpoint:
Use it to:
- Create a tool and obtain its ID.
- Update it when requirements change.
- Delete it when it is no longer needed.
Anything that once sat in the old tools
array now belongs here.
Migration guide
System tools are not supported in prompt.tool_ids
. Instead, specify them in the new
prompt.built_in_tools
field.
If you are still using the legacy field, follow the steps below.
Example payloads
A request must include either prompt.tool_ids
or the legacy prompt.tools
array —
never both. Sending both fields results in an error.
FAQ
Will my existing integrations break?
No. Until July 23, the API will silently migrate any prompt.tools
array you send. However,
starting July 15, GET and PATCH responses will no longer include full tool objects. After July
23, any POST/PATCH requests containing prompt.tools
will be rejected.
Can I mix both fields in one request?
No. A request must use either prompt.tool_ids
or prompt.tools
— never both.
How do I find a tool's ID?
List your tools via GET /v1/convai/tools
or inspect the response when you create one.