Skip to main content

Phone Channel

The Phone Channel enables your bot to interact with users through voice calls. It integrates Speech-to-Text (STT) for understanding spoken input and Text-to-Speech (TTS) for delivering spoken responses, creating a natural conversational experience over the phone.

Phone Channel Header

Key Features

  • Speech-to-Text (STT): Convert user speech to text using providers like Azure Speech Services, Google Speech-to-Text, or botario Speech
  • Text-to-Speech (TTS): Convert bot responses to natural speech using providers like Google TTS, Azure TTS, ElevenLabs, or botario TTS
  • Call Control: Manage calls with hangup, forward, and recording capabilities
  • Text Normalization: Optimize bot responses for natural spoken output
  • Outbound Calls: Initiate calls programmatically via API
  • Phone Blocking: Block specific numbers, prefixes, or ranges
  • DTMF Support: Accept touch-tone input for menu navigation

Prerequisites

Before enabling the Phone Channel, ensure you have:

  1. STT Provider configured - At least one Speech-to-Text provider set up in Bot > Providers
  2. TTS Provider configured - At least one Text-to-Speech provider set up in Bot > Providers
  3. PhoneServer connection - Your instance connected to a PhoneServer (shown in the header status)
  4. Start conversation flow - A flow assigned to handle incoming calls

Quick Start

Step 1: Create Speech Providers

Navigate to Bot > Providers and create at least one STT and one TTS provider:

  1. Click Create button
  2. Select Speech-to-Text or Text-to-Speech as Provider type
  3. Choose your provider (Azure, Google, ElevenLabs, or botario)
  4. Enter your API credentials
  5. Click Create

See Speech-to-Text Configuration and Text-to-Speech Configuration for detailed setup.

Step 2: Enable Phone Channel

  1. Navigate to Channels > Phone
  2. Toggle the Phone switch to On
  3. Verify the connection status shows Synced and Connected

Step 3: Configure Basic Settings

In the Basic Settings tab:

  1. Set your Recording preference (Never, When Requested, or Always)
  2. Configure Call IDs to identify your phone line
  3. Optionally set Max Total Turns and Max Turn Length limits

See Basic Settings for all configuration options.

Step 4: Assign Event Flows

In the Events tab:

  1. Select a flow for Start conversation (required) - This flow runs when a call begins
  2. Optionally assign flows for other events (Empty message, Hangup, Error)

See Phone Events for details on each event type.

Step 5: Configure STT and TTS

  1. In the Speech-to-Text tab, select your STT provider and configure language settings
  2. In the Text-to-Speech tab, select your TTS provider and configure voice settings

Step 6: Save Configuration

Click Save to apply your phone channel configuration. The PhoneServer will sync with your settings.


Status Indicators

The phone channel header displays important status information:

IndicatorMeaning
SyncedPhone configuration is synchronized with the PhoneServer
ConnectedPhoneServer is connected and ready to handle calls
PendingConfiguration changes are being synchronized
FailedSync failed - check provider configuration

Documentation Sections

SectionDescription
Basic SettingsRecording, call limits, and phone blocking
Phone EventsConfigure flows for phone call events
Speech-to-TextSTT provider setup and configuration
Text-to-SpeechTTS provider setup and configuration
Text NormalizationOptimize responses for spoken output
Outbound CallsInitiate calls via API
PhoneServer ProvidersMonitor provider sync status
Phone API ReferenceDeveloper reference for phone methods

Troubleshooting

Phone Channel Won't Enable

  • Ensure at least one STT and one TTS provider are configured
  • Check that providers are enabled for the bot in Bot Settings
  • Verify the Start conversation event has a flow assigned

Calls Not Connecting

  • Check PhoneServer connection status (should show "Connected")
  • Verify Call IDs are correctly configured
  • Check that providers show "Synced" status

Poor Speech Recognition

  • Try adjusting the Start Listening Offset in STT settings
  • Consider enabling Dictation mode for longer utterances (Azure)
  • Check language settings match your users' language

Unnatural Speech Output

  • Enable Text Normalization for dates, numbers, and abbreviations
  • Adjust Speaking Rate in TTS settings
  • Try different TTS providers or voices for better quality