Node Types
Learn about the different node types available in the Workflow Builder.
Trigger Nodes
Trigger
The entry point for a workflow. Defines when the workflow starts.
Properties:
- Type: Conversation start, keyword match, or intent detection
- Conditions: Optional conditions to filter triggers
Message Nodes
Message
Send a text message to the user.
Properties:
- Content: The text content (supports variables with
{{variable}}syntax) - Typing delay: Simulate typing (configurable duration)
Quick Replies
Present predefined options for the user to select.
Properties:
- Question text: The prompt message
- Options: List of button choices with labels
- Variable name: Stores the selected option
Input Nodes
Collect Input
Ask the user for input and validate their response.
Properties:
- Input type:
text,email,phone,number, ordate - Prompt: What to ask the user
- Variable name: Where to store the response
- Validation: Regex pattern or built-in validation
- Retry message: Shown if validation fails
- Max retries: Number of retry attempts allowed
AI Nodes
AI Response
Let the AI generate a contextual response.
Properties:
- Model: AI model to use
- System prompt: Additional instructions for this step
- Temperature: Response creativity (0-1)
- Max tokens: Limit response length
- Knowledge base IDs: Which knowledge bases to use for context
Intent Router
Detect user intent and route the conversation to different branches.
Properties:
- Intents: List of possible intents with examples
- Confidence threshold: Minimum confidence score
- Routes: Map intents to different branches
- Default branch: Fallback when no intent matches
Knowledge Search
Search the knowledge base for relevant content.
Properties:
- Knowledge base IDs: Which knowledge bases to search
- Query: Search query (can use variables)
- Top K: Number of results to retrieve
- Min score: Minimum relevance threshold
- Variable name: Store search results
Logic Nodes
Condition
Branch the flow based on conditions.
Properties:
- Conditions: Rules to evaluate
- Default branch: Path when no conditions match
Operators:
equals,not_equalscontains,not_containsgreater_than,less_thanexists,not_exists
Set Variable
Store or modify a variable value.
Properties:
- Variable name: Name to set
- Value: Value or expression
- Type:
string,number,boolean, orjson
Delay
Pause the flow for a specified time.
Properties:
- Duration: Time in milliseconds
- Show typing: Display typing indicator during delay
Integration Nodes
API Call
Call an external API.
Properties:
- URL: Endpoint URL (supports variables)
- Method:
GET,POST,PUT,DELETE - Headers: Request headers (supports variables)
- Body: Request payload for POST/PUT
- Timeout: Max wait time in milliseconds
- Response variable: Store the API response
- Error handling: Continue, retry, or fail on error
Action Nodes
Action
End the conversation or perform a final action.
Properties:
- Action type: End conversation, human handoff, or custom action
- Message: Optional message to display
- Assign to: For handoffs, specify agent or team
- Tags: Tags to add to conversation
Node Data Reference
Variable Syntax
Use double curly braces to reference variables:
Hello {{user.name}}! Your order {{order.id}} is confirmed.Built-in Variables
| Variable | Description |
|---|---|
{{user.id}} | Visitor identifier |
{{user.name}} | Visitor name |
{{user.email}} | Visitor email |
{{conversation.id}} | Conversation ID |
{{message.text}} | Latest user message |
{{channel}} | Current channel (web) |
Condition Examples
Check if variable equals value:
{
"field": "{{plan}}",
"operator": "equals",
"value": "premium"
}Check if message contains keyword:
{
"field": "{{message.text}}",
"operator": "contains",
"value": "refund"
}Check if variable exists:
{
"field": "{{user.email}}",
"operator": "exists"
}