The base definition of a tool that can be used during a call. Exactly one implementation (http or client) should be set.
The name of the tool, as presented to the model. Must match ^[a-zA-Z0-9_-]{1,64}$.
The description of the tool.
The parameters that the tool accepts.
The static parameters added when the tool is invoked.
Additional parameters that are automatically set by the system when the tool is invoked.
Requirements that must be fulfilled when creating a call for the tool to be used. The requirements for using a tool, which must be satisfied when creating a call with the tool.
The maximum amount of time the tool is allowed for execution. The conversation is frozen while tools run, so prefer sticking to the default unless you're comfortable with that consequence. If your tool is too slow for the default and can't be made faster, still try to keep this timeout as low as possible.
The tool is guaranteed to be non-mutating, repeatable, and free of side-effects. Such tools can safely be executed speculatively, reducing their effective latency. However, the fact they were called may not be reflected in the call history if their result ends up unused.
Details for an HTTP tool. Details for invoking a tool via HTTP.
Details for a client-implemented tool. Only body parameters are allowed for client tools. Details for invoking a tool expected to be implemented by the client.
Details for a tool implemented via a data connection websocket. Only body parameters are allowed for data connection tools. Details for invoking a tool via a data connection.
Indicates the default for how the agent should proceed after the tool is invoked. Can be overridden by the tool implementation via the X-Ultravox-Agent-Reaction header.
AGENT_REACTION_UNSPECIFIED
, AGENT_REACTION_SPEAKS
, AGENT_REACTION_LISTENS
, AGENT_REACTION_SPEAKS_ONCE
Static response to a tool. When this is used, this response will be returned without waiting for the tool's response. A predefined, static response for a tool. When a tool has a static response, it can be returned immediately, without waiting for full tool execution.