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 targetId between 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