Understanding Conversational Flow
Conversational flow encompasses the subtle dynamics that make conversations feel natural:- Turn-taking: How the replica decides when to speak and when to listen
- Interruptibility: How easily the replica can be interrupted by the user
All conversational flow parameters are optional. When not explicitly configured, the layer remains inactive. However, if you configure any single parameter, the system will apply sensible defaults to all other parameters to ensure consistent behavior.
Configuring the Conversational Flow Layer
Define the conversational flow layer under thelayers.conversational_flow object. Below are the parameters available:
1. turn_detection_model
Specifies the model used for detecting conversational turns.
-
Options:
sparrow-1: Advanced turn detection model - faster, more accurate, and more natural thansparrow-0(recommended)sparrow-0: Legacy turn detection model (available for backward compatibility)time-based: Simple timeout-based turn detection
-
Default:
sparrow-1
2. turn_taking_patience
Controls how eagerly the replica claims conversational turns. This affects both response latency and the likelihood of interrupting during natural pauses.
- Options:
low: Eager and quick to respond. May interrupt natural pauses. Best for rapid-fire exchanges or customer service scenarios where speed is prioritized.medium(default): Balanced behavior. Waits for appropriate conversational cues before responding.high: Patient and waits for clear turn completion. Ideal for thoughtful conversations, interviews, or therapeutic contexts.
low: Fast-paced customer support, quick information lookups, casual chatmedium: General purpose conversations, sales calls, presentationshigh: Medical consultations, legal advice, counseling sessions
3. replica_interruptibility
Controls how sensitive the replica is to user speech while the replica is talking. Determines whether the replica stops to listen or keeps speaking when interrupted.
- Options:
low: Less interruptible. The replica keeps talking through minor interruptions.medium(default): Balanced sensitivity. Responds to clear interruption attempts.high: Highly sensitive. Stops easily when the user begins speaking, maximizing user control.
low: Educational content delivery, storytelling, guided onboardingmedium: Standard conversations, interviews, consultationshigh: User-driven conversations, troubleshooting, interactive support
Relationship with STT Layer
The Conversational Flow layer is the recommended approach for configuring turn-taking behavior with Sparrow-1. This supersedes the legacy Sparrow-0 configuration available in the STT layer viasmart_turn_detection.
Legacy Approach: Configuring turn-taking via the STT layer’s
smart_turn_detection parameter is a legacy approach that uses Sparrow-0. For new implementations, use the Conversational Flow layer with Sparrow-1 instead.turn_detection_model set to sparrow-1, these settings override any corresponding settings in the STT layer.
Parameter Mapping: Sparrow-0 to Sparrow-1
Here’s how Sparrow-0 (STT layer) parameters map to Sparrow-1 (Conversational Flow layer):| Sparrow-0 (STT Layer) | Sparrow-1 (Conversational Flow Layer) | Notes |
|---|---|---|
participant_pause_sensitivity | turn_taking_patience | Controls how long to wait before responding |
participant_interrupt_sensitivity | replica_interruptibility | Controls how easily the replica can be interrupted |
Migration Guide
If you’re currently using Sparrow-0 settings in the STT layer and want to upgrade to Sparrow-1: Before (Sparrow-0):Note the inverted mapping:
participant_pause_sensitivity: "high"(quick response) →turn_taking_patience: "low"(eager)participant_interrupt_sensitivity: "low"(hard to interrupt) →replica_interruptibility: "high"(easy to interrupt)
Default Behavior
When the conversational flow layer is not configured, all parameters default toNone and the layer remains inactive. However, if you configure any single parameter, the system automatically applies the following defaults to ensure consistent behavior:
turn_detection_model:sparrow-1turn_taking_patience:mediumreplica_interruptibility:medium
Example Configurations
The following example configurations demonstrate how to tune conversational timing and interruption behavior for different use cases. Useturn_taking_patience to bias how quickly the replica responds after a user finishes speaking. Set it high when the replica should avoid interrupting, and low when fast responses are preferred. Use replica_interruptibility to control how easily the replica recalculates its response when interrupted; lower values are recommended for most experiences, with higher values reserved for cases where frequent, abrupt interruptions are desirable. Sparrow-1 dynamically handles turn-taking in all cases, with these settings acting as guiding biases rather than hard rules.
Example 1: Customer Support Agent
Fast, responsive, and easily interruptible for customer-driven conversations:Example 2: Medical Consultation
Patient, thoughtful, with engaged listening for sensitive conversations:Example 3: Educational Instructor
Delivers complete information with minimal interruption:Example 4: Minimal Configuration
Configure just one parameter—others will use defaults:turn_detection_model:sparrow-1replica_interruptibility:medium
Best Practices
Match Flow to Use Case
Choose conversational flow settings that align with your application’s purpose:- Speed-critical applications: Use
lowturn-taking patience andhighinterruptibility - Thoughtful conversations: Use
highturn-taking patience - Important information delivery: Use
lowinterruptibility - User-controlled interactions: Use
highinterruptibility
Consider Cultural Context
Conversational norms vary across cultures. Some cultures prefer:- More overlap and interruption (consider lower commitment, higher interruptibility)
- Clear turn-taking with pauses (consider higher patience, lower interruptibility)
Test with Real Users
Conversational flow preferences can be subjective. Test your configuration with representative users to ensure it feels natural for your audience.Refer to the Create Persona API for the complete API specification and additional persona configuration options.

