Skip to main content
Nodes are the building blocks of your conversation flow. Each type serves a specific purpose in guiding the conversation.
[IMAGE: Node palette showing all six node types with icons]

Node Types at a Glance

NodeIconPurposeWhen to Use
DefaultπŸ”·Conversation stepEach conversation point
Transfer CallπŸ“žHandoff to humanConnect to live agent
API Call⬆️External dataFetch/send mid-conversation
End Callβœ‚οΈTerminate callNatural endings
Pre-Call APIπŸ”΅πŸŸ Load contextGet data before call starts
Post-Call APIπŸŸ πŸ”΅Save dataSend data after call ends

Default Node

The workhorse of your flow. Each Default node represents one step in the conversation.
[IMAGE: Default node card showing title and connection points]

Configuration

[IMAGE: Panel showing all Default node settings]
FieldPurpose
NameIdentifier shown on canvas
PromptWhat the agent says at this step
BranchesOutput paths based on caller response

Example Prompts

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

Branching

Default nodes can have multiple output branches:
[IMAGE: Node showing three output connections with condition labels]
β†’ See: Conditions & Branching

Transfer Call Node

Hands the conversation to a human agent via phone transfer.
[IMAGE: Transfer Call node card with phone icon]

Configuration

[IMAGE: Transfer settings panel showing all options]
FieldPurpose
NameIdentifier
DescriptionWhen this transfer should trigger
Phone NumberTransfer destination (with country code)
Transfer TypeCold or Warm

Transfer Types

[IMAGE: Diagram showing immediate handoff]
Immediate handoff. The caller is connected directly without any briefing to the receiving agent.Best for:
  • Simple escalations
  • When context isn’t needed
  • Time-sensitive transfers

API Call Node

Makes external API requests during the conversation.
[IMAGE: API Call node card with arrow icon]

Configuration

[IMAGE: API settings panel with all fields]
FieldPurpose
NameIdentifier
URLEndpoint to call
MethodGET, POST, PUT, DELETE
HeadersRequest headers
BodyRequest payload
Response MappingMap response to variables

Example: Customer Lookup

[IMAGE: API node configured for customer lookup]
URL: https://api.example.com/customers
Method: GET
Query: ?phone={{caller_phone}}

Response Mapping:
  data.name β†’ {{api.customer_name}}
  data.tier β†’ {{api.account_tier}}
Then use in a later node:
"Hello {{api.customer_name}}! I see you're a {{api.account_tier}} 
member. How can I help you today?"
β†’ Learn more: API Calls

End Call Node

Terminates the conversation.
[IMAGE: End Call node card with scissors icon]

Configuration

[IMAGE: End Call settings panel]
FieldPurpose
NameIdentifier
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 eventually reach an End Call or Transfer node.

Pre-Call API Node

Fetches data before the conversation begins.
[IMAGE: Pre-Call API node with distinctive coloring]

When It Runs

[IMAGE: Timeline showing API call happening before Start node]
The Pre-Call API runs:
  1. Phone rings
  2. Pre-Call API executes ← Here
  3. Data available
  4. Conversation starts

Use Cases

ScenarioAPI Call
CRM LookupGet caller history before greeting
Account StatusCheck if caller has issues
PersonalizationLoad name, preferences
RoutingDetermine which flow to use

Example

[IMAGE: Pre-Call API configured for customer lookup]
URL: https://crm.example.com/lookup?phone={{caller_phone}}

Response:
  customer_name β†’ {{api.name}}
  last_issue β†’ {{api.last_ticket}}
  tier β†’ {{api.tier}}
First node can now say:
"Hi {{api.name}}! Thanks for calling back. Are you still 
having trouble with {{api.last_ticket}}?"

Post-Call API Node

Sends data after the conversation ends.
[IMAGE: Post-Call API node with distinctive coloring]

When It Runs

[IMAGE: Timeline showing API call happening after End Call]
The Post-Call API runs:
  1. Conversation ends
  2. Call terminates
  3. Post-Call API executes ← Here
  4. Data saved externally

Use Cases

ScenarioWhat to Send
CRM UpdateCall summary, outcome
Ticket CreationIssue details, priority
Lead CaptureCollected qualification data
AnalyticsCustom metrics, disposition

Example

[IMAGE: Post-Call API configured to update CRM]
URL: https://crm.example.com/calls
Method: POST
Body:
{
  "phone": "{{caller_phone}}",
  "duration": "{{call_duration}}",
  "outcome": "{{disposition}}",
  "notes": "{{call_summary}}",
  "collected": {
    "name": "{{collected.name}}",
    "budget": "{{collected.budget}}",
    "timeline": "{{collected.timeline}}"
  }
}

Choosing the Right Node

[IMAGE: Flowchart: β€œWhat do you need?” β†’ branches to different nodes]
If you need to…Use
Ask a question or give infoDefault Node
Transfer to a humanTransfer Call Node
Get external data mid-conversationAPI Call Node
End the conversationEnd Call Node
Load data before call startsPre-Call API Node
Save data after call endsPost-Call API Node

Next Steps