Skip to main content
Nodes are the building blocks of your conversation flow. Each type serves a specific purpose in guiding the conversation from start to finish.

Node Types at a Glance

NodePurposeWhen to Use
DefaultConversation stepEach conversation point where the agent speaks and listens
API CallExternal dataFetch or send data mid-conversation
Transfer CallHandoff to humanConnect caller to a live agent
End CallTerminate callNatural conversation endings
Pre-Call APILoad contextGet data before the call starts
Post-Call APISave dataSend data after the call ends

Default Node

The workhorse of your flow. Each Default node represents one step in the conversation where your agent speaks and waits for a response.
Default node

Configuration

Click a Default node to open its settings panel.
FieldDescription
NameIdentifier shown on the canvas
PromptWhat the agent says at this step
BranchesOutput paths based on caller response

Uninterruptible Mode

When enabled, the user cannot interrupt the bot while it is speaking on this node. This ensures the bot completes its message before any user interaction is allowed.
SettingBehavior
OFF (default)Caller can interrupt at any time
ONBot must finish speaking before caller input is processed
Use Uninterruptible mode for critical messages like legal disclaimers, confirmation summaries, or important instructions that shouldn’t be cut off.

Example Prompts

Hi! Thanks for calling Acme Support. My name is Alex. 
How can I help you today?

API Call Node

Connect your agent to external systems mid-conversation. Fetch data, book appointments, update records — anything your APIs can do.
API Call node

Requirements

API Call nodes have connection requirements:
  • Must have at least one incoming connection
  • Must have at least one outgoing connection
  • Must have an endpoint URL configured

Configuration

Click an API Call node to configure the request.
Select the HTTP method and enter the full API endpoint URL you want to call.
FieldDescription
MethodHTTP method (GET, POST, PUT, PATCH, DELETE)
URLFull endpoint URL (e.g., https://api.example.com/customers)
Use variables in the URL for dynamic requests:
https://api.example.com/customers/{{caller_phone}}

Branching on Results

After extracting response data, you can branch based on the results:
[API Call: Check Account]
├── Success ({{account_tier}} == "premium") → VIP Flow
├── Success ({{account_tier}} == "basic") → Standard Flow
├── Error → Fallback / Transfer

Transfer Call Node

Hand the conversation to a human when needed — for escalations, complex issues, or high-value opportunities.
Transfer Call node

Configuration

FieldRequiredDescription
NameYesIdentifier (e.g., transfer_to_sales)
DescriptionYesWhen this transfer should trigger
Phone NumberYesTransfer destination with country code
Transfer TypeYesCold or Warm

Transfer Types

Immediate handoff. The caller is connected directly to the destination without any briefing to the receiving agent.
ProsCons
FastNo context for receiving agent
SimpleCaller may repeat themselves
Best for:
  • Simple escalations
  • When context isn’t needed
  • Time-sensitive transfers
  • High call volume scenarios

End Call Node

Gracefully conclude the conversation when the interaction is complete.
End Call node

Configuration

FieldDescription
NameIdentifier for this ending
Closing MessageFinal words before hanging up

Example Closings

Great! You're all set. Is there anything else I can 
help you with today? ... Perfect, thank you for calling 
Acme. Have a wonderful day!
Every path must end. Make sure all branches in your flow eventually reach an End Call or Transfer Call node.

Pre-Call API Node

Execute API calls before your agent says hello. Perfect for loading personalized data that shapes the entire conversation.
Pre-Call API node

When It Runs

The Pre-Call API executes immediately when the call connects, before any conversation:
  1. Phone rings / Call connects
  2. Pre-Call API executes ← Here
  3. Data available in variables
  4. Conversation starts (first Default node)

Configuration

Pre-Call API uses the same configuration as the API Call node:
  • Request: Method + URL
  • Headers: Key-value pairs
  • Body: JSON payload (for POST requests)
  • Extract Response Data: Variable name + JSONPath

Use Cases

ScenarioWhat to Fetch
CRM LookupCustomer history before greeting
Account StatusCheck for open issues or alerts
PersonalizationLoad name, preferences, language
Routing LogicVIP status, time zone, special handling

Example

GET https://crm.example.com/lookup?phone={{caller_phone}}

Response Mapping:
  $.customer_name → customer_name
  $.last_ticket → last_issue
  $.tier → account_tier
Your greeting node can now say:
"Hi {{customer_name}}! Thanks for calling back. 
Are you still having trouble with {{last_issue}}?"

Post-Call API Node

Trigger actions after the call ends. Perfect for logging outcomes, updating CRMs, and triggering follow-ups.
Post-Call API node

When It Runs

The Post-Call API executes after the conversation ends:
  1. Conversation ends (End Call node reached)
  2. Call terminates
  3. Post-Call API executes ← Here
  4. Data saved externally

Configuration

Post-Call API uses the same configuration as the API Call node:
  • Request: Method + URL
  • Headers: Key-value pairs
  • Body: JSON payload (typically POST)
  • Extract Response Data: Variable name + JSONPath

Use Cases

ScenarioWhat to Send
CRM LoggingCall summary, outcome, duration
Ticket CreationIssue details, priority level
Follow-up TriggersSend email confirmations, SMS receipts
AnalyticsCustom metrics, conversion tracking

Example

POST https://crm.example.com/calls

Body:
{
  "phone": "{{caller_phone}}",
  "duration": "{{call_duration}}",
  "outcome": "{{disposition}}",
  "notes": "{{call_summary}}",
  "agent_id": "{{agent_id}}",
  "collected": {
    "name": "{{collected_name}}",
    "budget": "{{collected_budget}}"
  }
}

Choosing the Right Node

If you need to…Use
Ask a question or give informationDefault Node
Make the bot uninterruptible for a messageDefault Node with Uninterruptible ON
Get external data mid-conversationAPI Call Node
Transfer to a humanTransfer Call Node
End the conversationEnd Call Node
Load data before the call startsPre-Call API Node
Save data after the call endsPost-Call API Node

Next