x

SignalWire Work is here. A complete office, school, or event venue right in your browser. Sign up for a 30-DAY FREE TRIAL or Learn more.

Bringing Conversational AI Interfaces to Your Telephone IVR

Using Google Dialogflow to eliminate hierarchical phone trees

Steve Pao

Apr 13, 2020


Telephone and Conversational AI Converge

We're all familiar with how Amazon Echo, Apple HomePod, and Google Home have changed the way we interface with technology in our homes. So, how come we still have to navigate hierarchical touchtone or keyword menus when we call businesses on the telephone?

Until now, telephony systems did not take advantage of modern chatbot frameworks available in the public cloud. SignalWire now makes it easy to integrate Google Dialogflow AI agents over ordinary telephones!


What is Conversational AI?

Conversational AI enables users to naturally speak with interactive voice response (IVR) systems.  Conversational AI differs from both hierarchical menus and keyword-based menus in some important ways.

For example, suppose users want to find out product information.  With conversational AI, they can ask questions naturally.

Sample Conversational Questions:

  • "I'd like pricing on SignalWire Voice."
  • "I'd like to hear about features of SignalWire Video."
  • "I'd like to hear about uses of SignalWire Messaging."

This approach differs from traditional, hierarchical touchtone phone menus which have typically required users to follow a fixed progression through a series of menus.  These approaches have been known to frustrate users and are the butt of many jokes.

Sample hierarchical phone menu:

First-level

  • To inquire about SignalWire Cloud Voice, press 1.
  • To inquire about SignalWire Cloud Video, press 2.
  • To inquire about SignalWire Cloud Messaging, press 3.

Second-level:

  • For a list of features, press 1.
  • For information about use cases, press 2.
  • For pricing, press 3.

Keyword menus, which have gained popularity, do provide users with more choices for how to navigate the IVR but still typically force the users through multiple levels of questions to get the information required to fulfill the requests.

Sample keyword menu:

Top-level question:

  • Tell me what you'd like to learn more about.
  • (helper prompt) You can say the name of a product, or you can indicate what you'd like to learn about.  Products include voice, video, and messaging.  Or you can learn about features, uses, or pricing.

Sample follow-up menus (after the first keyword is parsed):

  • What would you like to learn about {product}?   You can say features, uses, or pricing.
  • Which product would you like to learn {attribute} more about.  You can say voice, video, or messaging.

Google Dialogflow is an AI chatbot framework that enables the creation of conversational AI interfaces without programming.  SignalWire provides integration with Dialogflow to make it easy to build telephone IVRs.

Check out the video below, or keep scrolling to see how easy it is to connect your Dialogflow agents to traditional telephony networks using SignalWire.


Importing Your First Dialogflow IVR

To get started, a sample Dialogflow IVR agent is available for download. To import it into your Dialogflow account, go your Dialogflow console, create a new agent, and import the Dialogflow IVR agent you just downloaded.

Import Dialogflow agent from ZIP

With this sample agent, there are numerous intents.  These intents include:

  • Default Welcome intent — to start the call
  • Default Fallback intent — to provide instructions to users who get lost
  • Goodbye — to hang up the call

The agent provides self-help through the following intents:

  • Product Inquiry
  • SignalWire Cloud - Clarification
  • SignalWire Stack - Clarification

And finally, the Dialogflow agent routes to human agents through the following intents:

  • Transfer to Operator
  • Transfer to Sales
  • Transfer to Support
Dialogflow intents

Setting Your Telephony "Call Transfer" Responses

Dialogflow provides the ability to specify Telephony Responses to Dialogflow intents.  In this sample agent, the transfer intents use some test telephone numbers:

These are all local DID numbers hosted on SignalWire with simple LāML bins to play a prompt and hang up.  Feel free to try them out.

In each of these intents, the Dialogflow agent is simply configured with a telephony response to transfer the session to these telephone numbers.

Dialogflow Transfer to Operator

Routing DID telephone numbers to Dialogflow

The last step is to route an inbound SignalWire telephone number into Dialogflow.  From your SignalWire space, visit the Dialogflow menu to import your agent and follow the instructions.

Import Dialogflow Agent


Once you have imported the Dialogflow agent into your SignalWire space, you can simply set any new or existing telephone number (toll or toll-free) to route inbound calls to Dialogflow and to assign the Dialogflow agent.

Assign Dialogflow Agent


That's it!  You can test the Dialogflow agent in your account, or even call the one shown here — +1 (330) 920-2353 — if that's easier!

Summary

With SignalWire and Dialogflow, it's easy to take advantage of modern chatbot frameworks to create conversational AI interfaces over the telephone without programming.