Node structure
All nodes share common properties:Unique identifier for the node
The type of node (determines behavior)
Canvas coordinates
{X: number, Y: number}Available node types
Start node
Type:Start
The entry point for every script. Each script has exactly one Start Node, automatically created when you create a new script.
Configuration: None (minimal node)
Behavior:
- Execution begins here when the script is activated
- Has one output port connecting to the first conversation step
- Cannot be deleted or duplicated
User query node
Type:UserQuery
Represents expected user input. Helps the AI understand what the user might say at this point in the conversation.
Multi-language description of expected user input
Multi-language lists of example phrases
- Waits for user speech input
- AI analyzes if input matches the expected query
- Provides context for natural language understanding
- Provide 3-5 diverse examples
- Include variations (formal/informal, short/long)
- Cover different phrasings of the same intent
AI response node
Type:AIResponse
Defines what the agent should say or communicate to the user.
Multi-language instruction for the AI’s response
Multi-language lists of example responses
- AI generates response based on instruction and examples
- Response is converted to speech via TTS
- Variables can be referenced using
{{ variables.key }}syntax
System tool nodes
Type:ExecuteSystemTool
Execute built-in deterministic actions. These are non-AI operations that happen reliably.
End call
ToolType:EndCall
Terminate the conversation.
Immediate- Hang up instantlyAfterMessage- Speak closing message first
Multi-language goodbye message (if Type is AfterMessage)
DTMF input
ToolType:GetDTMFKeypadInput
Collect keypad input (phone digits) from the user.
Milliseconds to wait for input
Input must begin with
*Input must end with
#Maximum number of digits
Store input encrypted (for PCI-DSS compliance)
Script variable to store the input
Conditional outputs based on input valueEach outcome has:
Value- Multi-language expected inputPortId- Output port for this value
Go to node
ToolType:GoToNode
Jump to a specific node in the script (unconditional navigation).
Target node ID to jump to
Transfer to agent
ToolType:TransferToAgent
Transfer the conversation to another AI agent.
Target agent ID
Transfer to human
ToolType:TransferToHuman
Transfer to a human operator (SIP transfer).
Destination phone number
Blind- Immediate transferWarm- Wait for human to answer first
Send SMS
ToolType:SendSMS
Send an SMS message to the user.
Source phone number ID from your integration
Multi-language SMS content
Add script to context
ToolType:AddScriptToContext
Dynamically inject another script into the agent’s context.
ID of the script to add
Retrieve knowledge base
ToolType:RetrieveKnowledgeBase
Manually trigger RAG retrieval at a specific point.
Optional: Override query (defaults to last user message)
Number of chunks to retrieve
OnEveryQuery.
Custom tool node
Type:ExecuteCustomTool
Execute a custom HTTP API tool you’ve defined.
ID of the custom tool definition
Key-value pairs for tool parameters
- Sends HTTP request to your API
- Waits for response
- Response data available to AI in subsequent nodes
FlowApp node
Type:ExecuteFlowApp
Execute a FlowApp integration (pre-built connectors for popular services).
FlowApp identifier (e.g.,
cal.com, hubspot)Specific action (e.g.,
create_booking, get_contact)User’s integration credentials ID
Multi-language message to say while executing
Input parameters for the actionEach input has:
Key- Parameter name (e.g.,attendee.email)Value- Static value or templateIsAiGenerated- Let AI extract value from conversationIsRedacted- Hide from logs
Node connections
Nodes connect via edges that link output ports to input ports.Single output
Most nodes have one output port that connects to the next step:Multiple outputs
Some nodes support conditional branching: DTMF Input Outcomes:Node design patterns
Linear flow
Simple question-answer sequences:Conditional branching
Different paths based on user input:Loops
Repeat until condition met:Modular composition
Best practices
Provide examples
Always add 3-5 examples to User Query and AI Response nodes. They dramatically improve accuracy.
Keep responses focused
Each AI Response should have one clear purpose. Break complex responses into multiple nodes.
Use variables
Store data in variables instead of expecting the AI to remember. The AI is probabilistic, variables are reliable.
Next steps
Visual IDE
Learn the script editor interface
Action flows
Build deterministic workflows
Secure sessions
PCI-DSS compliant data collection