Overview
The conversation node is the most commonly used node type in flow agents. It’s designed for having natural conversations with users, where the AI listens, understands, and responds based on its prompt and context. Key characteristic: When inside a conversation node, the agent focuses on dialogue without calling tools or performing actions (unless configured otherwise).When to Use
Use conversation nodes to:- Greet callers and establish rapport
- Ask questions and collect information
- Provide information or explanations
- Handle objections or concerns
- Confirm understanding or intent
- Give instructions or directions
- Conduct surveys or questionnaires
Core Configuration
Message Type
Choose how the agent’s response is generated:Prompt (Dynamic)
The agent generates responses dynamically based on the prompt and conversation context. Best for:- Natural conversations
- Handling varied user inputs
- Adaptive responses
- Complex scenarios
- “Hi! To help you better, could I get your name and phone number?”
- “Great! And what’s the best number to reach you at?”
Static (Fixed Message)
The agent speaks a predetermined message exactly as written. Best for:- Consistent greetings
- Legal disclaimers
- Scripted announcements
- Confirmation messages
Node Prompt
The instructions that guide the agent’s behavior within this specific node. Structure your prompt:{{variable_name}} syntax. Prompts also support full Jinja2 template syntax — use conditionals, filters, and expressions to build dynamic prompts. See the Jinja2 Template Designer Documentation for the full reference. Each node should have a distinct, focused purpose.
Example - Information Gathering Node:
Advanced Features
Variable Extraction
Automatically extract and store data from the conversation into variables. How to configure:- Enable “Extract Variables”
- Define variable name(s) to extract
- Optionally provide extraction instructions
- Subsequent nodes in the flow
- Tool parameters
- Transition conditions
- Other prompts using
{{variable_name}}
DTMF Input Capture
Collect sequences of phone keypad digits (account numbers, PINs, confirmation codes). How to configure:- Enable “DTMF Input Capture”
- Set variable name (required)
- Configure completion conditions (optional):
- Digit Limit: Stop after X digits (1-20)
- Termination Key: Stop when user presses # or *
- Timeout: Stop after X seconds of no input (1-30)
Skip Response
Automatically transition to next node after agent finishes speaking, without waiting for user input. When enabled:- Agent speaks its message
- No conversation happens (agent doesn’t listen)
- Immediately transitions via single edge
- Announcement before tool execution: “Let me check that for you…”
- Farewell message before ending: “Thank you for calling. Goodbye!”
- Context before transfer: “Let me transfer you to our specialist…”
- Transition messaging: “Great! Now let’s move to the next step…”
- Toggle “Skip Response” on
- Connect single transition edge
- No conditions needed (always transitions)
Model Settings Override
Override the global LLM model settings for this specific node. Useful for using a more capable model on complex reasoning nodes or a lighter model for simple confirmations. Configurable options:- Provider: OpenAI, Gemini, Groq, DeepMyst, Custom
- Model: GPT-4.1, GPT-4.1-Mini, Gemini 2.5-Pro, etc.
- Temperature: 0.0–1.0 (default 0.2)
Voice Settings Override
Override the global voice selection for this specific node. Select from Hamsa’s voice library.Transcriber Settings Override
Override speech recognition settings for this specific node (endpointing, VAD threshold).Transitions
Conversation nodes support all transition types:1. Natural Language Transitions
2. Structured Equation Transitions
3. DTMF Transitions
4. Always Transition
Global Node Configuration
Any conversation node can be made global, meaning it’s accessible from anywhere in the flow. Global trigger types:Prompt-Based Global Trigger
DTMF Global Trigger
- “Speak to operator” (DTMF 0 or natural language)
- “Repeat main menu” (DTMF 9)
- “Emergency support” (natural language or DTMF *)
- “Return to start” (DTMF #)
Examples
Example 1: Greeting Node (Static)
Example 2: Information Gathering (Dynamic)
Example 3: Account Number Entry (DTMF)
Example 4: Pre-Transfer Announcement (Skip Response)
Example 5: Complex Qualification (Model Override)
Troubleshooting
Agent not following prompt instructions
Solution:- Simplify prompt, be more explicit
- Add fine-tune examples
- Use stronger LLM model
- Split into multiple smaller nodes
Variable extraction not working
Solution:- Make variable names more descriptive
- Provide clearer extraction instructions
- Ensure conversation contains the data
- Check variable reference syntax
{{var_name}}
DTMF not capturing correctly
Solution:- Verify digit limit is appropriate
- Test with different phones/providers
- Increase timeout for slower users
- Ensure variable name is valid (snake_case)
Transitions not triggering
Solution:- Review transition conditions carefully
- Test with actual user phrases
- Check variable availability
- Ensure equation syntax is correct
- Add fallback “always” transition
Next Steps
- Tool Node - Execute functions and API calls
- Router Node - Pure logic branching
- Transfer Nodes - Call and agent transfers
- Transition Conditions - Control conversation flow
- Variable System - Pass data between nodes
Questions? Check out Debugging Guide for troubleshooting tips.