Tool Call Node
Overview
The Tool Call node executes a specific tool with configured parameters. This is useful when you know exactly which tool to call and what parameters to provide, without needing AI decision-making.
When to Use
Use a Tool Call node when you need to:
- Call APIs or external services
- Perform data lookups
- Execute browser automation (CDP tools)
- Send emails or notifications
- Validate or transform data
- Any deterministic operation that doesn’t require AI reasoning
Configuration
Tool Selection
Tool: Select which tool to execute
- Only tools configured in your workflow are available
- Each tool has specific parameters it requires
Tool-Specific Parameters
The available parameters depend on the selected tool. Common parameter types include:
- Text fields: For strings, URLs, or simple values
- Numbers: For counts, timeouts, or numeric values
- Booleans: For yes/no options
- Arrays: For lists of items
- Objects: For complex structured data
Dynamic Values
All parameters support dynamic values using JSONPath:
- Static value: Enter a literal value like
"hello@example.com" - JSONPath: Reference previous node outputs like
$.results.previousNode.email - Mixed: Some tools allow combining static and dynamic values
Example:
{
"to": "$.results.trigger.email",
"subject": "Your Report",
"message": "$.results.generateReport.content"
}Output Schema
The output schema is automatically defined by the tool:
- Each tool returns a predictable structure
- Review the tool’s documentation for output fields
- Common outputs include
success,data,error,message
Accessing Tool Output
Tool output is available at $.results.<nodeId>:
{
"success": true,
"data": { "formatted": "123 Main St, City" },
"message": "Address validated successfully"
}Reference specific fields: $.results.validateAddress.data.formatted
Example: Email Sender Tool
Node ID: sendNotification
Tool: Email Sender
Parameters:
{
"to": ["$.results.trigger.userEmail"],
"cc": [],
"subject": "Report Ready",
"message": "Your report is ready: {{results.report.summary}}"
}Output:
{
"messageId": "msg_123456",
"emailSentTo": ["user@example.com"]
}Example: Browser CDP Tool
Node ID: fillForm
Tool: Browser CDP - Type Text
Parameters:
{
"text": "$.results.trigger.searchQuery",
"selector": "#search-input",
"targetId": "$.results.openBrowser.targetId"
}Output:
{
"success": true,
"coordinates": {"x": 100, "y": 200},
"typedText": "property search",
"targetId": "ABC123"
}Common Tools
Browser CDP Tools
- Open New Tab: Navigate to a URL
- Type Text: Enter text in form fields
- Click Element: Click buttons or links
- Wait for Stability: Wait for page to load
- Ask Agent About Page: Use AI to extract data from page
- Take Screenshot: Capture page screenshot
Integration Tools
- Email Sender: Send emails
- Google Maps: Validate addresses, geocode locations
- Bing Search: Perform web searches
Data Tools
- Workflows: Execute other workflows
- Database: Query databases (if configured)
Best Practices
- Parameter Validation: Ensure required parameters are provided
- Error Handling: Set onFailure paths for tool failures
- Browser State: For CDP tools, pass
targetIdbetween nodes to maintain browser session - Timeout Configuration: Set appropriate timeouts for long-running operations
- Static vs Dynamic: Use static values when possible for better performance
- Test Parameters: Verify parameter values before publishing workflow