Skip to main content

Learn how to build effective and flowing voice conversations

With voice conversations, timing is everything. A well designed voice conversation makes callers feel understood and empowered, and delivers digestible amounts of information to help them get what they need. Thoughtful conversation design is especially important when callers can't go back through previous messages if they missed something! We'll help you understand the basics of how to optimize your bot design, so you can give your callers the smoothest experiences possible.

Acknowledge, confirm, prompt

In voice conversations, you want to be sure that you've correctly identified your caller's intent. Otherwise, the caller can feel trapped in an Answer flow that doesn't apply to them, and not have a clear idea of how to get out of it, which can be really frustrating.

To avoid this problem, we recommend communicating three things when you're trying to connect a caller with their intent:

  1. Acknowledge

    Acknowledge that the bot has heard the caller, and provide a cue that it's the bot's turn to speak. This can be as easy as starting a response with "Okay" or "Thank you" before continuing.

  2. Confirm

    Check with the caller that the bot has correctly understood their intent. This can take the form of something like, "It sounds like you want to change your subscription. Is that correct?"

    If the bot has correctly identified the caller's intent, this provides a low-friction way to verify that the caller is on the right track. But crucially, if the bot is asking about a different intent, this step offers the caller a way to course-correct before they spend any time on the wrong intent.

  3. Prompt

    It's important to leave your prompt for a response from the caller for the very end of your message. If you say something like, "What subscription level are you interested in? You can say Bronze, Silver, or Gold," the caller might interrupt the list of subscription levels and get confused.

    It's also important not to overload callers with too much information. If your bot were to launch into all of the features each subscription came with, the caller could feel overwhelmed and become more confused.

    Instead, you can use phrasing like "We offer Bronze, Silver, or Gold subscription levels. Which one are you interested in?". That way, you've already given the caller the information they need, and provide a clear cue for the caller's turn to speak.

Manage the caller's expectations

If you have a long Answer flow in your bot - one where you have to ask the caller for information three or more times - it can be a good idea to give them an idea of what they're getting into. Here are some examples:

  • Ask for required information in advance

    If your Answer flow requires information that the caller might not know offhand, like an order or account number, tell them in advance that they'll need it, so they have some more time to get it. For example, you can say, "I'll need to collect your account number and ask you a few more questions."

  • Indicate how long the flow will take

    It's also a good idea to indicate to the caller how long the process will take. This can be as simple as saying, "For most people, this takes two minutes."

  • Tell the caller how to exit the flow

    There are some words that will automatically take callers out of any flow. They are:

    • Exit

    • Stop

    • Home

    • Help

    • Never mind

    You can say something like "You can say Exit to cancel your request, or say Main Menu to start again." That way, if the caller realizes that they don't have the information they need to complete your flow, or changes their mind, they won't be stuck in your Answer flow.

Focus on the caller, not the bot

It can be jarring to hear a bot speak as if it's a human agent, referring to itself with the pronouns "I" and "me." To avoid this, keep the wording focused on the caller. For example:

I changed your plan and it should take effect in the next two hours. Would you like me to add a month of free data roaming?

You're all set! Your plan has been changed and you should see the changes in your account within two hours. Would you like a month of free data roaming?

Keep it brief

To keep the conversation moving, remove excess wording so you can convey information to the caller in less time.

You’re all set! Your plan has now been changed and you should see the changes updated in your account within the next two hours. How would you like a month of absolutely free data roaming?

You’re all set! Your plan has now been changed and you should see the changes updated in your account within the next two hours. How Would you like a month of absolutely free data roaming?

Add a secondary greeting

It's a good idea to have an Answer that's trained to respond in the event that a caller says "Hello" mid-conversation. They might do this if they respond to your bot's Greeting Answer with a greeting of their own, or if it's been quiet for a bit and they want to check to see if your bot is still there.

Don't forget that your bot serves your main Greeting Answer at the beginning of every conversation, so you only have to add training to this secondary one. Then, make it concise - for example, "Hey. How can I help?"

Create a main menu

It can be hard to know where you are in a conversation if you don't have any visuals. A main menu can help you redirect callers who aren't sure how your bot can help them, or to redirect from the Not Understood Answer. An example might be:

Sure. You can say: Where is my order? Return an item. Cancel my order. Discount code issues. Or you can tell me what you need in your own words. Go ahead.

To allow for a variety of inputs, it's important to keep this question open-ended as opposed to limiting inputs to the options in a List Option block.


Be mindful of how many times you might send callers to this Answer. If you have Answers that are designed to loop back to this menu, consider setting the maximum number of times an Answer can be repeated to a higher number. For more information, see Configure how many times an Answer can be repeated in a voice conversation.

Test your Answer flows for latency

In some of your Answer flows, you might have blocks, such as the HTTP Request, Set Variable, and Answer Utilities blocks, as well as any Action blocks, that perform backend actions that take some time to complete. Take some time to test those flows for latency. Are there awkward periods of silence while your bot is processing information?

If you find that it feels like it takes too long for the bot to perform those actions, take some time to read some best practices at Minimize pauses while your bot performs backend actions.

Help your voice bot understand special terms

Does your company use special terms like product or feature names, or acronyms that might be hard for your bot to understand? Does your industry have specialized vocabulary your callers are likely to refer to? You can improve your bot's chances of recognizing those terms by adding them into your bot's vocabulary. That way, when a caller refers to them, your bot can reply with accurate information, and provide accurate transcripts of the calls for your analysis.

  1. On the Ada dashboard, go to Settings > Integrations.

  2. Under Channels Integrations, beside Voice, click Configure.

  3. In the Voice window, click the Bot Vocabulary tab. Then, you can add, remove, or dig deeper into the terms in your list:

    • To add a new term, click New Term. A new row in your vocabulary table appears. Type in a term, then click Add term.

    • To delete an existing term, hover over its row and click the Delete button that appears.

    • To view all the conversations where callers used a term, beside that term, click View conversations.

Ask callers to give the bot a shot

Callers often call for support when they have complex problems, and can sometimes be skeptical that a bot can help them with their problem. After you have done some testing in your bot and are confident that you can help a good number of these callers, you can consider adding an Answer like the following if the caller says something like "customer service":

I'm really knowledgeable about CompanyName's services! I think I can help you out. Try asking me a short, direct question, or say main menu for a list of commonly asked questions.

Confirm that the caller is all set before ending the conversation

After completing an Answer flow, you can give the caller the option to either confirm that they got what they needed, or give them the chance to ask something else, before hanging up.

You can ask me something else, or you can say "I'm all set."

If the caller says "I'm all set," you could direct them to a CSAT capture if your organization captures satisfaction data, or your bot could just say something like, "I'm glad I could help. Have a great day! Goodbye!" followed by the End Call block.

Acknowledge content that your bot can't help with

While you're building voice content for your bot, or if there are some things you know your bot can't help callers with, it's a good idea to make Answers to acknowledge them, rather than serving customers with Not Understood Answers if they ask for them. Here's an example:

I understand you're asking about Feature, but I can't help with that yet. Let me connect you with someone who can.

Then, you can hand them off to a human agent. That way, your bot isn't claiming it doesn't understand valid questions from callers, and you can still speed up the process between the caller asking for help and getting it, even if your bot can't help.

Have any questions? Contact your Ada team—or email us at .