Integration Nodes Reference
Integration nodes connect your workflows to external services and APIs.
API Request Node
Make HTTP requests to any external API with full control over method, headers, authentication, and body.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| URL | Text | Yes | Target URL (supports variables) |
| Method | Select | Yes | GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS |
| Query Params | Object | No | URL query parameters |
| Headers | Object | No | Request headers |
| Body | Text/JSON | No | Request body content |
| Body Content Type | Select | No | json, form, text, xml |
| Auth Type | Select | No | none, basic, bearer, api_key |
| Timeout | Number | No | Request timeout (1-300 seconds, default 30) |
| Max Retries | Number | No | Retry attempts on failure (0-10, default 3) |
| Follow Redirects | Toggle | No | Follow HTTP redirects (default true) |
Authentication Options
None:
No authentication headers added
Basic Auth:
Auth Type: basic
Username: {{username}}
Password: {{password}}
Bearer Token:
Auth Type: bearer
Token: {{api_token}}
API Key:
Auth Type: api_key
Header Name: X-API-Key
API Key: {{api_key}}
Example: POST JSON
URL: https://api.example.com/users
Method: POST
Headers: {"Content-Type": "application/json"}
Body: {
"name": "{{contact.first_name}}",
"email": "{{contact.email}}"
}
Output Variables
{{apirequest_1.data}} - Response body (parsed JSON or text)
{{apirequest_1.status}} - HTTP status code
{{apirequest_1.headers}} - Response headers
{{apirequest_1.success}} - true if 2xx status
{{apirequest_1.error}} - Error message if failed
Google Sheets Node
Read from, write to, and manage Google Sheets spreadsheets.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | Yes | Google Sheets OAuth integration |
| Operation | Select | Yes | Operation to perform |
| Spreadsheet URL | Text | Conditional | Full Google Sheets URL |
| Spreadsheet ID | Text | Conditional | Alternative to URL |
| Range Name | Text | Conditional | A1 notation (e.g., Sheet1!A1:C10) |
| Values | Array | Conditional | 2D array for write/append |
| Title | Text | Conditional | For create operations |
Operations
| Operation | Description | Required Fields |
|---|---|---|
read_range | Read data from range | spreadsheet_id/url, range_name |
write_range | Write data to range | spreadsheet_id/url, range_name, values |
append_rows | Add rows at end | spreadsheet_id/url, range_name, values |
clear_range | Clear data in range | spreadsheet_id/url, range_name |
create_spreadsheet | Create new spreadsheet | title |
add_sheet | Add sheet to spreadsheet | spreadsheet_id/url, title |
list_spreadsheets | List accessible sheets | (optional) query |
Example: Append Rows
Operation: append_rows
Spreadsheet URL: https://docs.google.com/spreadsheets/d/ABC123/edit
Range Name: Sheet1!A:D
Values: [
["{{contact.name}}", "{{contact.email}}", "{{contact.phone}}", "{{date}}"]
]
Output Variables
{{googlesheets_1.data}} - Read data (2D array)
{{googlesheets_1.spreadsheet_id}} - Spreadsheet ID
{{googlesheets_1.updated_range}} - Range that was updated
{{googlesheets_1.updated_rows}} - Number of rows affected
{{googlesheets_1.success}} - true/false
Google Calendar Node
Create, update, delete, and query Google Calendar events.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | Yes | Google Calendar OAuth integration |
| Operation | Select | Yes | Operation to perform |
| Calendar ID | Text | No | Calendar ID (default: primary) |
| Summary | Text | Conditional | Event title |
| Start Time | Text | Conditional | ISO 8601 format |
| End Time | Text | Conditional | ISO 8601 format |
| Attendees | Array | No | List of email addresses |
| Description | Text | No | Event description |
| Location | Text | No | Event location |
| Event ID | Text | Conditional | For update/delete |
Operations
| Operation | Description | Required Fields |
|---|---|---|
create_event | Create new event | summary, start_time, end_time |
update_event | Update existing event | event_id, fields to update |
delete_event | Delete event | event_id |
get_events | List events | (optional) time range |
check_availability | Find free slots | start_time, end_time |
Example: Create Meeting
Operation: create_event
Summary: Meeting with {{contact.first_name}}
Start Time: 2024-03-20T10:00:00-05:00
End Time: 2024-03-20T11:00:00-05:00
Attendees: ["{{contact.email}}"]
Description: Discuss {{deal.name}} proposal
Location: Zoom - {{meeting_link}}
Output Variables
{{googlecalendar_1.event_id}} - Created/updated event ID
{{googlecalendar_1.html_link}} - Link to event
{{googlecalendar_1.events}} - Array of events (for get_events)
{{googlecalendar_1.busy_slots}} - Busy times (for check_availability)
{{googlecalendar_1.success}} - true/false
Apollo Search & Enrich Node
Search for prospects and enrich contact/company data using Apollo.io.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | Yes | Apollo.io integration |
| Operation | Select | Yes | Operation to perform |
| Query | Text | Conditional | Search keywords |
| Limit | Number | No | Max results (1-100, default 25) |
| Page | Number | No | Pagination (1-500) |
Operations
| Operation | Description |
|---|---|
search_people | Find people by criteria |
search_companies | Find companies by criteria |
enrich_person | Enrich contact data |
enrich_company | Enrich company data |
bulk_enrich_people | Batch person enrichment |
bulk_enrich_companies | Batch company enrichment |
find_email | Find email for person |
verify_email | Verify email deliverability |
Search Filters
Query: "Software Engineer"
Job Titles: ["CTO", "VP Engineering"]
Company Size: ["11-50", "51-200"]
Industries: ["Technology", "SaaS"]
Locations: ["San Francisco", "New York"]
Output Variables
{{apollosearch_1.people}} - Array of people results
{{apollosearch_1.companies}} - Array of company results
{{apollosearch_1.enriched_data}} - Enriched record data
{{apollosearch_1.email}} - Found/verified email
{{apollosearch_1.total_results}} - Total matches
{{apollosearch_1.success}} - true/false
VAPI Voice Call Node
Trigger AI-powered voice calls using VAPI.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | Yes | VAPI integration |
| Operation | Select | Yes | Operation to perform |
| Phone Number | Text | Conditional | E.164 format (+1234567890) |
| Customer Name | Text | No | Name for personalization |
| Assistant ID | Text | Conditional | VAPI assistant to use |
Operations
| Operation | Description |
|---|---|
trigger_call | Start outbound call |
get_call_status | Check call status |
get_call_recording | Get recording URL |
get_call_transcript | Get call transcript |
get_call_summary | Get AI summary |
list_calls | List recent calls |
batch_calls | Trigger multiple calls |
Example: Trigger Call
Operation: trigger_call
Phone Number: {{contact.phone}}
Customer Name: {{contact.first_name}}
Assistant ID: asst_abc123
Output Variables
{{vapicall_1.call_id}} - Call identifier
{{vapicall_1.status}} - Call status
{{vapicall_1.recording_url}} - Recording URL
{{vapicall_1.transcript}} - Call transcript
{{vapicall_1.summary}} - AI-generated summary
{{vapicall_1.duration}} - Call duration
{{vapicall_1.success}} - true/false
MCP Tool Node
Execute tools from MCP (Model Context Protocol) servers.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| MCP Server | Select | Yes | MCP server integration |
| Tool Name | Text | Yes | Name of tool to execute |
| Arguments | Object | No | Tool arguments (supports variables) |
| Timeout | Number | No | Execution timeout (default 30s) |
| Output Format | Select | No | text, json, raw |
Example: File System Tool
MCP Server: filesystem-server
Tool Name: read_file
Arguments: {
"path": "/data/{{filename}}.json"
}
Example: Database Tool
MCP Server: postgres-server
Tool Name: query
Arguments: {
"sql": "SELECT * FROM users WHERE email = '{{email}}'"
}
Output Variables
{{mcptool_1.content}} - Tool output content
{{mcptool_1.text}} - Text representation
{{mcptool_1.success}} - true/false
{{mcptool_1.error}} - Error message if failed
Tableau Chart Node
Generate charts using Tableau Server and VizQL Data Service.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration | Select | Yes | Tableau Server integration |
| Datasource ID | Text | Yes | Tableau datasource ID |
| SQL Query | Text | Yes | Query for chart data |
| Chart Type | Select | Yes | bar, line, pie, scatter, area, heatmap |
| Chart Config | Object | No | Additional chart configuration |
Output Variables
{{tableauchart_1.chart_url}} - Embedded chart URL
{{tableauchart_1.data}} - Query result data
{{tableauchart_1.success}} - true/false
Tableau WDC Node
Generate charts using Tableau Web Data Connector approach.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Database Integration | Select | Yes | Database connection |
| Tableau Integration | Select | No | Tableau Server (optional) |
| SQL Query | Text | Yes | Query to execute |
| Chart Name | Text | No | Name for the chart |
Output Variables
{{tableauwdc_1.wdc_url}} - Web Data Connector URL
{{tableauwdc_1.data}} - Query result data
{{tableauwdc_1.success}} - true/false
Quick Reference
Node Selection Guide
| Need | Use |
|---|---|
| Call any REST API | API Request |
| Google Sheets operations | Google Sheets |
| Calendar/meetings | Google Calendar |
| Sales prospecting | Apollo Search & Enrich |
| AI voice calls | VAPI Voice Call |
| MCP server tools | MCP Tool |
| Tableau visualizations | Tableau Chart / WDC |
Common Patterns
API Integration:
[Trigger] → [API Request: Fetch data] → [Transform] → [CRM Manager: Update]
Sheet Logging:
[Any Trigger] → [Google Sheets: Append row with details]
Meeting Scheduling:
[Form Submit] → [Google Calendar: Check availability]
→ [Google Calendar: Create event]
→ [Email Send: Confirmation]
Lead Enrichment:
[New Contact] → [Apollo: Enrich person]
→ [CRM Manager: Update contact with enriched data]
Error Handling
Always check success and handle failures:
[API Request] → [Condition: {{apirequest_1.success}}]
→ true → [Continue workflow]
→ false → [Log error] → [Notify team]
Best Practices
- Use variables in URLs - Build dynamic endpoints with
{{node.field}} - Set appropriate timeouts - Prevent hanging on slow APIs
- Handle rate limits - Use delays between bulk operations
- Secure credentials - Use integrations, not hardcoded keys
- Log API calls - Track requests for debugging