Tools & Integrations¶
SpeakNode agents can call external APIs during conversations, enabling them to look up data, perform actions, and integrate with your systems.
Overview¶
Tools are HTTP-based integrations that the LLM can invoke during a conversation. When the agent decides it needs external data or needs to perform an action, it calls the configured tool and uses the result in its response.
Tool Types¶
Webhook Tools¶
Custom HTTP endpoints that the agent can call:
- Method — GET, POST, PUT, DELETE
- URL — endpoint address (supports variable substitution)
- Headers — custom headers defined via OpenAPI schema
- Body — request body defined via OpenAPI schema
- Description — explains to the LLM when and how to use the tool
System Tools¶
Built-in tools provided by the platform (e.g., language detection, transfer).
Tool Configuration¶
Each tool is defined with an OpenAPI schema for its parameters:
- Body schema — defines the JSON body structure the LLM should construct
- Header schema — defines custom headers to send
- Code — unique identifier used by the LLM to reference the tool
Speech During Tool Execution¶
Tools support configurable speech while executing:
- Pre-tool speech — what the agent says before calling the tool (e.g., "Let me look that up...")
- Progress speech — what the agent says while waiting for the response
Transfer Rules¶
Tools can include transfer rules that redirect the conversation:
- Transfer to another agent — hand off to a different AI agent
- Condition — when the transfer should happen
This enables multi-agent workflows where specialized agents handle specific topics.
How It Works¶
- The LLM decides to call a tool based on the conversation context
- The Python worker constructs the HTTP request from the OpenAPI schema
- The request is sent to the configured endpoint
- The response is passed back to the LLM
- The LLM incorporates the result into its response
Webhook Management¶
The platform also provides a separate webhook system for receiving events:
- Configure webhook endpoints to receive session events
- View webhook request history and payloads
- Manage allowed paths and routing via the Webhook Receiver Client
Examples¶
CRM Lookup:
Tool: get_customer_info
Method: GET
URL: https://crm.example.com/api/customers/{{ customer_id }}
Description: Look up customer information by their ID
Order Status: