Agent Tools
Tools extend agent capabilities by allowing them to call external APIs (webhook tools), trigger client-side actions (client tools), or use platform-provided functionality (system tools).
Tool Types
Webhook Tools
Call external HTTP APIs during conversations.
Use Cases:
- Check inventory availability
- Fetch customer data from CRM
- Process payments
- Update databases
- Trigger notifications
Features:
- Full HTTP method support (GET, POST, PUT, PATCH, DELETE)
- Custom headers and request bodies
- Template variable substitution with
{{variable_name}} - Response data extraction and assignment to dynamic variables
- Configurable timeouts (1-60 seconds)
Client Tools
Trigger client-side actions in your application.
Use Cases:
- Display product information
- Show images or videos
- Update UI components
- Navigate to different screens
- Collect user input
Features:
- Parameter passing to client application
- Dynamic variable assignment from arguments
- Custom return messages
- Interruption control
System Tools
Platform-provided tools for common operations.
Available System Tools:
- end_call: End the current phone call
- transfer_to_number: Transfer call to another number
- voicemail_detection: Detect if call reached voicemail
Features:
- Automatically created for each agent
- Cannot be manually created or deleted
- Can be enabled/disabled and configured
- See Get System Tools for details
Tool Configuration
Parameters
Define what information the LLM should collect before using the tool:
Assignments
Extract data from tool responses and assign to dynamic variables:
Sources:
response: Extract from webhook HTTP responseargument: Extract from tool arguments (client tools only)
Behavior Control
Control how tools execute:
Template Variables
Use {{variable_name}} syntax to inject dynamic values:
Available in:
- Webhook URLs
- Request headers
- Request bodies
Variable Sources:
- Tool parameters (defined in the tool)
- Agent dynamic variables
- Built-in variables (e.g.,
{{agent_uuid}},{{conversation_uuid}})
Example:
Available Operations
- List Tools - Retrieve all tools for an agent
- Get Tool - Get a specific tool
- Create Tool - Add a new webhook or client tool
- Update Tool - Modify tool configuration
- Delete Tool - Remove a tool
Common Workflows
Creating a Webhook Tool
- Define the external API endpoint
- Specify parameters the LLM should collect
- Configure request headers/body with template variables
- Set up assignments to extract response data
- Configure timeout and behavior settings
Creating a Client Tool
- Define parameters for the client action
- Set up assignments to pass data to dynamic variables
- Configure return message
- Set interruption and speech behavior
Updating System Tools
- System tools are auto-created (cannot manually create)
- Update via agent creation/update
- Can only modify:
active,disable_interruptions,force_pre_tool_speech
Validation Rules
- Tool names must be unique per agent
- Dynamic variables referenced in assignments must exist in agent configuration
- Template variables in URLs/headers/bodies must exist in parameters or agent dynamic variables
- Webhook URLs must be valid HTTP/HTTPS endpoints
- HTTP methods must be: GET, POST, PUT, PATCH, DELETE
- System tools cannot be manually created or deleted
See Also
- Get System Tools - View available system tools
- Create Agent - Configure system tools during creation
- Update Agent - Modify system tool settings
