The start node is the entry point for every flow agent. It’s the first node executed when a call begins and must be present in every flow (you cannot delete it). Unlike other node types, the start node can operate in two distinct modes: conversation mode for greeting callers, or tool mode for pre-fetching data before any conversation begins.
Every flow has exactly one start node. It cannot be deleted, but it can be configured in multiple ways to match your needs.
In tool mode, the start node executes a tool before any conversation happens, allowing you to pre-fetch caller data or perform initial setup actions.Best for:
The AI generates responses based on context and conversation flow.
Copy
Ask AI
Start Node (Conversation - Prompt): subType: conversation messageType: prompt message: | ## Objective Welcome the caller warmly and identify their reason for calling. ## Instructions - Greet them professionally - Ask how you can help today - Listen for their main concern - Be friendly and patient
AI might say:
“Good morning! Thanks for calling Acme Corporation. How can I help you today?”
“Hi there! This is Acme Corp. What can I do for you?”
Start Node (Conversation - Static): subType: conversation messageType: static message: 'Thank you for calling Acme Corporation. This call may be recorded for quality assurance. How may I help you today?'
Start nodes in conversation mode support DTMF transitions for IVR-style menus.Example - Department Selection Menu:
Copy
Ask AI
Start Node (Conversation): messageType: static message: 'Welcome to Acme Corp. Press 1 for Sales, Press 2 for Support, Press 3 for Billing, or stay on the line to speak with an agent.' Transitions: - DTMF: key=1 → Sales_Department - DTMF: key=2 → Support_Department - DTMF: key=3 → Billing_Department - Always → General_Agent
DTMF transitions are evaluated immediately when the user presses a key, even while the agent is still speaking. This provides a responsive IVR experience.
Extract data from the initial conversation to use throughout the flow.
Copy
Ask AI
Start Node (Conversation): messageType: prompt message: "Welcome! May I have your name and account number to get started?" Extract Variables: enabled: true variables: - name: customer_name description: "Customer's full name" extractionPrompt: "Extract the customer's full name" dataType: string isRequired: true - name: account_number description: "Account number" extractionPrompt: "Extract the account number (digits only)" dataType: string isRequired: true Transitions: - Natural Language: "Name and account number collected" → Verify_Account
Tool Reference: When subType is ‘tool’, the tool configuration is stored in agentSettings.tools array where tool.nodeId === 'start'. The node itself doesn’t contain tool details—only execution settings.
Parameters and overrides are configured in the tool reference (stored in agentSettings.tools), not on the node itself.Example - Caller Lookup:
Copy
Ask AI
# In agentSettings.tools array:Tool Reference: nodeId: 'start' # Links to start node toolId: 'crm-lookup-tool-id' toolType: 'FUNCTION' persistentId: 'crm_lookup' version: 1 overrides: parameters: phone_number: { { caller_id } } # System variable include_history: true # Static value fields: 'name,account,status' # Static value# On the start node:Start Node (Tool): subType: tool timeout: 10000 onErrorBehavior: continue outputMapping: customer_name: $.data.name customer_id: $.data.id account_status: $.data.account.status membership_tier: $.data.account.tier processingMessage: 'Please hold while I look up your information...' processingMessageType: static transitions: - Always → Personalized_Greeting
When you configure a tool in the UI, you don’t need to manually edit the agentSettings.tools array. The interface handles the tool reference creation and linkage automatically.
By default, the agent handles tool results silently. You can override this to speak custom messages.Without override (silent):
Copy
Ask AI
Start Node (Tool): tool: Lookup_Caller overrideResponse: false # Agent says nothing, just transitions to next node
With override (custom message):
Copy
Ask AI
Start Node (Tool): tool: Lookup_Caller overrideResponse: true customResponse: "Welcome back, {{customer_name}}! I see you're a {{membership_tier}} member with an {{account_status}} account." # Agent speaks this custom message using extracted variables
{ type: "start", subType: "tool", // Tool configuration is stored in agentSettings.tools where tool.nodeId === 'start' // Tool selection, parameters, and overrides are NOT on the node // Execution settings timeout: number, // milliseconds, default 30000 onErrorBehavior: "continue" | "retry" | "fail", // default: "continue" errorMessage?: string, // Response customization overrideResponse: boolean, // default: false customResponse?: string, outputMapping: Record<string, string>, // JSON path mapping, default: {} // Processing message processingMessage?: string, processingMessageType: "static" | "prompt" // default: "static"}
Where is the tool configuration?
The tool itself (including toolId, toolType, parameters, overrides, etc.) is configured in the agentSettings.tools array. The start node in tool mode only contains execution and response settings, not the tool reference itself.