Implementation:Elevenlabs Elevenlabs python ClientToolConfigOutput
| Field | Value |
|---|---|
| source | Elevenlabs_Elevenlabs_python |
| domains | Conversational AI, Tool Configuration, Client Tools |
| last_updated | 2026-02-15 |
Overview
Description
ClientToolConfigOutput is a Pydantic model representing the output configuration for a client-side tool in the ElevenLabs conversational AI system. A client tool is one that sends an event to the user's client to trigger something on the client side. It defines the tool's name, description, parameters schema, timeout, interruption behavior, sound effects, error handling, dynamic variables, and execution mode. This model is auto-generated by Fern from the ElevenLabs API definition and extends UncheckedBaseModel.
Usage
This model is returned by the ElevenLabs API when retrieving tool configurations for a conversational agent. Client tools allow the agent to trigger actions on the client application during a conversation, such as displaying content, executing local operations, or gathering client-side data.
Code Reference
Source Location
src/elevenlabs/types/client_tool_config_output.py
Class Signature
class ClientToolConfigOutput(UncheckedBaseModel):
"""
A client tool is one that sends an event to the user's client to trigger something client side
"""
...
Import Statement
from elevenlabs.types import ClientToolConfigOutput
I/O Contract
| Field | Type | Required | Description |
|---|---|---|---|
| name | str |
Yes | The name of the client tool. |
| description | str |
Yes | Description of when the tool should be used and what it does. |
| response_timeout_secs | Optional[int] |
No | The maximum time in seconds to wait for the tool call to complete. Must be between 1 and 120 seconds (inclusive). |
| disable_interruptions | Optional[bool] |
No | If true, the user will not be able to interrupt the agent while this tool is running. |
| force_pre_tool_speech | Optional[bool] |
No | If true, the agent will speak before the tool call. |
| assignments | Optional[List[DynamicVariableAssignment]] |
No | Configuration for extracting values from tool responses and assigning them to dynamic variables. |
| tool_call_sound | Optional[ToolCallSoundType] |
No | Predefined tool call sound type to play during tool execution. |
| tool_call_sound_behavior | Optional[ToolCallSoundBehavior] |
No | Determines when the tool call sound should play. 'auto' only plays when there's pre-tool speech, 'always' plays for every tool call. |
| tool_error_handling_mode | Optional[ToolErrorHandlingMode] |
No | Controls how tool errors are processed before being shared with the agent. |
| parameters | Optional[ObjectJsonSchemaPropertyOutput] |
No | Schema for any parameters to pass to the client. |
| expects_response | Optional[bool] |
No | If true, calling this tool should block the conversation until the client responds. If false, conversation continues without waiting. |
| dynamic_variables | Optional[DynamicVariablesConfig] |
No | Configuration for dynamic variables. |
| execution_mode | Optional[ToolExecutionMode] |
No | Determines when and how the tool executes: 'immediate', 'post_tool_speech', or 'async'. |
Usage Examples
from elevenlabs.types import ClientToolConfigOutput
# Typically received as part of an API response
client_tool = ClientToolConfigOutput(
name="show_product",
description="Displays a product card to the user with details and pricing.",
response_timeout_secs=30,
expects_response=True,
disable_interruptions=True,
)