Are you ready to serve your bot content over the phone? This guide takes you through taking your bot to the next level by adapting your messaging content for voice conversations.
This feature may not be included with your organization’s subscription package. For more information, see Ada’s Pricing page, or contact your Ada team.
Voice works by integrating a Twilio account with your bot.
If your Voice subscription package includes Twilio, skip ahead to Enable Voice in multiple languages. Your Ada team will set up your Twilio account for you.
If you’re using your own Twilio account, expand these instructions to prepare an account, phone number(s), SIP domain, or Twilio Application to use with your bot:
Purchase a phone number through Twilio. For more information, see How to Search for and Buy a Twilio Phone Number from Console at Twilio’s Help Center.
Port an existing phone number from another service provider to Twilio. For more information, see Porting a Phone Number to Twilio at Twilio’s Help Center.
If you are using a toll-free number with your bot and you want to be able to send SMS messages from it during a phone conversation, you will need to submit a Toll-Free Message Verification request to Twilio. For more information, see Toll-Free Message Verification for US/Canada at Twilio’s Help Center.
If you are using a local number with your bot and you want to be able to send SMS messages from it during a phone conversation, you will need to submit an A2P (Application to Person) 10DLC (10 digit long code) registration request to Twilio. For more information, see Programmable Messaging and A2P 10DLC at Twilio’s Help Center.
Your bot can also receive calls from your contact center infrastructure, transferred over the public internet using Session Initiation Protocol (SIP). To do this, you first need to create a SIP domain in Twilio.
An Access Control List (ACL) is a security measure that manages who can access your network resources by specifying allowed IP addresses. In SIP communications, using an ACL enhances security by ensuring only trusted traffic can reach your Twilio SIP domain, preventing unauthorized access.
This procedure takes you through configuring an IP ACL in Twilio, so Twilio only accepts SIP traffic that originates from your specified IPs. You can also choose to configure credential lists instead, so it only accepts traffic from specific usernames and passwords. For more information, see Inbound - Sending SIP to Twilio at Twilio’s Help Center.
My Contact Center Platform IP Address).After getting your phone number and/or SIP domain set up with Twilio, you can connect it with your bot.
In your Twilio account, you need to obtain your account string identifier (SID), and create an API key to use with Ada.
For more information on how you can configure your bot with your contact center platform, see Integrate your voice bot with your contact center technology provider.
your-domain-name.sip.twilio.com and should be the global unique SIP domain that you previously created.After you have connected your bot, the Phone toggle automatically switches on.
The configuration section of your bot has some additional options you can set, but we’ll cover those and what they mean in later topics.
Your usage of Voice is subject to both applicable privacy and phone communication laws, and Twilio’s policies. These may vary based on your location and industry. If you have any questions, please contact Ada’s or Twilio’s support.
Before you get started with Voice, take a moment to learn some background information. Then, you need to set up an account and phone number with Twilio.
It’s important to understand some limitations with Voice. Generally, bots are designed to accommodate caller interruptions so they can connect callers with the information they need sooner. However, the caller and the bot speaking over each other can create a confusing experience, and can get in the way of a caller getting their intent resolved.
In some cases, like List Option blocks, we encourage interruptions so callers don’t have to listen to the entire lists. However, because Speak blocks (the voice equivalents of Text blocks) might contain crucial information for callers, we don’t allow callers to interrupt them.
You can enable different languages for customers to speak with your bot with over the phone. For more information on enabling languages, see Support multiple languages in the same bot.
The following languages are available for voice:
If you enable any of the above languages in your bot, that language will be available in both messaging and voice - you can’t have any of these languages only enabled for one or the other.
We don’t recommend using automatic translations for response content, because translating content while the customer is on the phone can lead to unwanted pauses during the conversation. Instead, use manual translations wherever possible to keep your conversations flowing.
Some of the languages available in Voice also have support for different regional dialects of those languages:
English
French
Spanish
For each of the above languages, you can choose one dialect to use in your bot, which affects two things:
Speech transcription models
Your bot uses a speech transcription model to transcribe what callers say and convert it to text. Ada can use transcription models that are specifically trained using speaking data using a particular dialect to improve transcription accuracy.
Speaking voices
When you choose a dialect for your bot, your bot will automatically use the default speaking voice for that language and dialect. You can always go into your settings and choose a different voice for that dialect instead.
Here’s how you can change the dialects available for your bot:
On the Ada dashboard, go to Settings > Integrations.
Under Channels Integrations, beside Voice, click Configure. The Phone window opens.
On the Phone window, click the Dialects tab.
For each language that has dialects available, in the Dialect/region list, select an available dialect.
Click Save. Your bot immediately starts using the dialects you chose for all conversations in the corresponding languages, for both internal testing and for any live voice content in your bot.
Your bot determines the language to use with your caller based on the language metavariable. There are a few ways you can set the caller’s language:
Set a default language for the phone number or SIP domain
When you were setting up your Twilio account with your bot, you might have set a default language for one or more phone numbers or SIP domains. If you did, all phone numbers to that number or SIP domain start with the language metavariable set to that language.
Let callers select from a menu of enabled languages
You can choose to begin all of your bot’s calls with a menu that allows callers to select one of your enabled languages. If you turn on this menu, your bot will serve it to all callers before the Greeting, even if the number is associated with a specific dialect.
Toggle the language On or Off to control whether it appears in the menu.
For languages you want to appear in the menu, drag them higher or lower in the list. Your bot will automatically assign each language a number that the caller than dial into their dialpad to select.
Use the End Users API
You can use the End Users API to update a user’s profile to set the language metavariable.
Send language information in the SIP header
If you’re using a SIP domain for your bot to receive phone calls, you can include the language value in the user-to-user header.
Send language information as a Twilio Parameter
If you’re using a Twilio Application for your bot to receive phone calls, you can include the language value as a parameter when transferring a call to the Application.
Choosing a speaking voice for your bot is an important part of your bot’s branding. You can change your bot’s voice at any time to better fit your bot’s branding needs.
Not all speaking voices support SSML, which is the markup you can use to
control how your bot pronounces content in voice conversations. Voices that support SSML will have (SSML) after the name of the voice (e.g., Erica (SSML)).
On the Ada dashboard, go to Settings > Integrations.
Under Channels Integrations, beside Voice, click Configure. The Voice window opens.
In the Voice window, click the Speaking voice tab.
Under Speaking voice, select a voice for each language you have enabled in your bot.
Optionally, in the text field, you can type in a text sample, like a message from your bot, so you can hear your bot read out a specific piece of your bot content. Then, you can click the Play button beside a selected voice to play the sample.
Click Save. Your bot immediately starts using the voices you selected for both internal testing and for any live voice content in your bot.