Action Nodes
Execute functions, speak messages, control calls, and trigger webhooks during conversations.
Action nodes perform side effects during a call — running code, speaking scripted messages, transferring calls, or hitting external APIs.
Function
Execute custom JavaScript/TypeScript code during a conversation. Use this for data lookups, calculations, conditional logic, or any operation that requires code.
The Function node includes a Monaco code editor with syntax highlighting and autocompletion. Your code has access to the conversation context and variables.
Use cases
- Look up customer data from a database
- Calculate pricing or availability
- Transform data between conversation steps
- Set variables that other nodes can reference
TTS Say
Speak a specific, scripted message to the caller. Unlike agent responses (which are AI-generated), TTS Say plays an exact message every time.
Supports Handlebars template variables for dynamic content:
Hello {{contact.name}}, thanks for calling. Your account number is {{contact.account_id}}.Use cases
- Welcome greetings with the caller's name
- Order confirmations with specific details
- Compliance disclaimers that must be read verbatim
- Hold messages and transfer announcements
End Call
Terminate the call. Optionally configure a goodbye message that plays before the call disconnects.
Forward Call
Transfer the call to another phone number. Configure the destination number in the node settings.
Use cases
- Escalate to a human agent
- Transfer to a specific department's direct line
- Route to an on-call number based on conversation outcome
Trigger Webhook
Send HTTP requests to external services during a call. Use this to sync data, trigger workflows, or integrate with third-party systems in real time.
Configuration
| Setting | Description |
|---|---|
| URL | The endpoint to call |
| HTTP method | GET, POST, PUT, PATCH, DELETE |
| Headers | Custom request headers (e.g., authorization tokens) |
| Body template | Request body with Handlebars variable support |
Example body template
{
"caller_number": "{{call.from}}",
"agent_name": "{{agent.name}}",
"issue_summary": "{{conversation.summary}}"
}Use cases
- Create a support ticket in your helpdesk
- Update a CRM record after a sales call
- Trigger a Slack notification when a high-priority call comes in
- Log call outcomes to your analytics platform