Overview
Tool nodes execute server-side tools from your tool library — API calls, database queries, and external integrations. They reference existing tool templates that can be reused across multiple agents and flows. Key characteristic: Tool nodes execute server-side actions and then transition to the next node based on results. For client-side browser actions, use the Web Tool Node instead.When to Use
Use tool nodes to:- Look up customer data from CRM systems
- Check inventory, availability, or status
- Submit forms or create records
- Process payments or transactions
- Send notifications (email, SMS, webhooks)
- Retrieve data from databases
- Execute business logic on external systems
- Call any HTTP API with reusable configuration
- The tool will be used in multiple places
- The tool needs comprehensive documentation
- The tool requires consistent configuration
- You want centralized tool management
- You need client-side actions in the browser (UI navigation, modals, page interactions)
- The tool should reuse existing frontend API integrations
- The agent is deployed via the Voice Agents SDK on a website
Core Configuration
Basic Setup
Tool Reference Architecture: The tool itself (toolId, toolType, overrides, version) is stored in
agentSettings.tools array with tool.nodeId matching this node’s ID. The node only contains execution settings and parameter overrides.Selecting a Tool
- Add a Tool Node to your flow
- Click Select Tool in the node configuration
- Choose from your tool library
- Tool details auto-populate (name, description, parameters)
- Selecting a tool creates an entry in
agentSettings.toolsarray - This entry has
nodeIdset to this node’s ID to link them - Tool configuration (toolId, toolType, persistentId, version, overrides) is stored in that entry
- The node itself only contains execution settings (timeout, error handling, output mapping, parameters)
- FUNCTION: Server-side HTTP API requests (full override support)
- MCP: Model Context Protocol tools (no overrides allowed)
Parameter Mapping
Map flow variables and static values to tool input parameters.Static Values
Hardcoded values that never change.Variable References
Use data collected earlier in the flow using{{variable_name}} syntax.
System Variables
Reference built-in system variables.Mixed Static and Variables
Combine both for flexible configurations.Parameter Types
Tool parameters can have different data types:Output Mapping
Extract data from tool responses into flow variables using JSON path syntax.JSON Path Syntax
Use$.path.to.field notation to reference fields in the response.
Tool response:
Using Extracted Variables
Variables extracted via output mapping become available immediately in subsequent nodes.Array Access
Access array elements by index. Response:Nested Objects
Navigate deeply nested structures.Error Handling
Configure how the flow responds when tool execution fails.Continue (Recommended for Non-Critical Tools)
Flow continues even if tool fails. Best for optional operations.- Tool is non-critical (analytics, logging)
- Flow can proceed without tool result
- Degraded experience is acceptable
Retry (For Intermittent Failures)
Automatically retries failed tool calls.- API has intermittent failures
- Network issues are common
- Tool is important but can fail temporarily
Fail (For Critical Operations)
Stops flow execution and ends call when tool fails.- Tool is critical to conversation
- Cannot proceed without successful result
- Failure requires human intervention
Error Messages
Provide clear, user-friendly error messages.Response Handling
Default Behavior (Silent)
By default, tool nodes execute silently—no message is spoken about the tool execution.Custom Response Override
Speak a custom message after tool execution using extracted variables.- Use
{{variable_name}}syntax - Variables from output mapping are available
- Variables from earlier nodes are available
- System variables are available
Processing Message
Show message while tool executes (especially for slow APIs).Variable Extraction
In addition to output mapping (which extracts from tool responses), tool nodes support conversation-based variable extraction.When to Use
Use variable extraction when:- Tool requires user confirmation before executing
- You want to ask questions before calling the tool
- Tool needs additional context from conversation
Configuration
Timeout Configuration
Set maximum wait time for tool execution.- Fast APIs (< 2s): 5000ms
- Standard APIs: 10000ms
- Slow operations: 20000-30000ms
- Follows
onErrorBehaviorsetting - Displays
errorMessageif configured - Can continue, retry, or fail based on configuration
Use Cases & Examples
Example 1: Customer Lookup
Scenario: Look up customer by phone number.Example 2: Check Inventory
Scenario: Verify product availability before taking order.Example 3: Process Payment
Scenario: Charge customer credit card.Example 4: Send Notification
Scenario: Send confirmation email after booking.Example 5: Multi-Step Database Query
Scenario: Look up customer, then fetch their orders.Example 6: Conditional Tool Execution
Scenario: Only call pricing API for premium members.Transitions
Tool nodes support all transition types:Natural Language
Evaluate conversation context.Structured Equation
Route based on extracted variables.Always
Fallback transition.Troubleshooting
Issue: Tool not appearing in selection
Solution:- Verify tool exists in tool library
- Check tool is active
- Refresh the page
- Verify tool is in current project
Issue: Parameters not being sent correctly
Solution:- Check variable names match exactly (case-sensitive)
- Verify variables exist (were extracted earlier)
- Review parameter type (string vs number vs boolean)
- Test with static values first
Issue: Output mapping not extracting variables
Solution:- Verify JSON path syntax:
$.path.to.field - Check actual API response format
- Test JSON path with tool response
- Ensure response contains expected fields
Issue: Tool timeout
Solution:- Increase timeout value
- Check API performance
- Add retry logic
- Consider async tools
- Add processing message
Issue: Variables not available in next node
Solution:- Verify output mapping is configured
- Check variable names match exactly
- Ensure tool completed successfully
- Review flow transitions
Schema Reference
Next Steps
Web Tool Node
Execute client-side browser tools
Create Tools
Build reusable tool templates
Router Node
Route based on tool results
Variables
Master variable usage and mapping
Transitions
Control flow after tool execution