Skip to main content

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
Example:
Agent might say:
  • “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
Example:
Agent says exactly this, every time.

Node Prompt

The instructions that guide the agent’s behavior within this specific node. Structure your prompt:
Reference available variables with {{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:
  1. Enable “Extract Variables”
  2. Define variable name(s) to extract
  3. Optionally provide extraction instructions
Example:
Extracted variables become available to:
  • Subsequent nodes in the flow
  • Tool parameters
  • Transition conditions
  • Other prompts using {{variable_name}}
→ Learn More: Variable System

DTMF Input Capture

Collect sequences of phone keypad digits (account numbers, PINs, confirmation codes). How to configure:
  1. Enable “DTMF Input Capture”
  2. Set variable name (required)
  3. 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)
Example - Account Number Collection:
Captured variable usage:
→ Learn More: DTMF Features

Transitions

Conversation nodes support all transition types:

1. Natural Language Transitions

2. Structured Equation Transitions

3. DTMF Transitions

→ Learn More: Transition Conditions

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

Accessible from any node when user expresses this intent.

DTMF Global Trigger

Accessible from any node when user presses 0. Common global conversation nodes:
  • “Speak to operator” (DTMF 0 or natural language)
  • “Repeat main menu” (DTMF 9)
  • “Emergency support” (natural language or DTMF *)
  • “Return to start” (DTMF #)
→ Learn More: Global Nodes

Examples

Example 1: Greeting Node (Static)

Example 2: Information Gathering (Dynamic)

Example 3: Account Number Entry (DTMF)

Example 4: Pre-Transfer Announcement (Skip Response)

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


Questions? Check out Debugging Guide for troubleshooting tips.