Sabio CCAI Connector
The Sabio Airline solution allows businesses to seamlessly integrate Flex with Google CCAI and Dialogflow. An administrator can enable and configure this integration with ease by referring to the steps in this guide. This solution will provide improved intent detection which will allow routing of interactions to the correct team. It also provides a great opportunity for deflection or self service through the use of Google CCAI to reduce the interactions that your Contact Center agents have to handle. If an interaction does get escalated to an agent, Agent Assist can help by providing suggestions in real time during the interaction.
How it Works
Airline works by streaming audio and text from Twilio channels to Google's speech-to-text and natural language understanding services to automatically understand the customer's intent and determine how best to respond to those intents. Modelling of intents and training of the artificial intelligence to respond is configured using Google Dialogflow. Actions in response to intents – called 'fulfilment' – can include requesting input from the customer, retrieving information from a knowledge base or completing transactions on a downstream system using web service calls.
In a Virtual Agent solution, the response is delivered directly to the customer using dynamic text-to-speech or text. Virtual Agents take the place of a traditional IVR or chatbot, delivering personalized customer experience in response to natural language queries, fully automating transactions or routing customers efficiently based on intent to the right person to help.
Where the interaction is being handled by a customer service representative, prompts are displayed or tasks completed through Agent Assist integrated with Flex. Agent Assist enables every customer service representative to perform at their best, providing timely prompts and automation that reduce the effort for the agent, allowing them to focus on delivering an exceptional customer experience.
The Virtual Agent implementation of this solution facilitates communication between a customer via a supported channel (Voice, SMS, Webchat) to a Virtual Agent in Dialogflow.
The Agent Assist implementation of the solution allows initial handling and routing via a Virtual Agent in Dialogflow followed by an escalation to an Agent in Flex. After the escalation, the agent will be provided with suggestions based on the customer interactions to assist in the handling of the customer inquiry. This will be demonstrated below.
Key elements are as follows:
- Voice and messaging interactions are streamed via Airline to a Google Dialogflow virtual agent or agent assist conversation AI
- Airline manages the conversational interaction, maintaining context as the customer interaction continues
- Details of the conversation are written to a BigQuery database for later analysis and reporting
- Downstream systems are integrated into Dialogflow fulfillment to retrieve information or complete transactions
- On the desktop, Airline is integrated within Flex for agent interaction, Airline configuration and analysis, and reporting powered by Looker
To deploy this solution, you will need:
A GCP project and Dialogflow agent with billing enabled.
- An active Twilio account with Flex provisioned. Refer to the Flex Quickstart to create one.
Airline currently only supports Dialogflow ES agents in the US region. For CX agents multiregional support is available.
30 - 45 minutes
Compatibility / Version Compatibility
Configure your Flex Workspace
Deploy the required Flex plugins
In order to use Airline, there are a selection of Flex plugins that are required to be installed on your Flex application. The main ones are listed below with a brief description:
Airline Manager Client: This plugin provides your Flex project with the admin interface for configuring Airline. (Required)
Agent Assist: This plugin provides your Flex project with the Agent Assist responses within your Flex Agent window. (Only required for Agent Assist)
Airline Dynamic Context Panel: This plugin provides a simple CRM panel that will dynamically update based on Agent Assist responses. (Only required for Dialogflow-based Agent Assist)
If these plugins have not been installed for you, the next section covers how to install a Flex plugin. To obtain the required Flex Plugins, please contact your Twilio representative.
Deploying a Flex Plugin
The required plugins will be deployed to your Twilio project when you sign up to use Airline. To view the plugins that have been deployed to your Flex application, you can navigate into the Flex Admin view and click Manage under Plugins. Within the Plugins Dashboard, you can see which plugins have been deployed and are currently enabled with version and last updated information. You can also review and redeploy previous releases in the Releases tab.
Updating a Plugin
When updates are pushed to any of the Plugins, you will be able to see them within the Plugins Dashboard. They will be pushed to your project automatically with notifications of the changes and details of any new features separately. Within the Plugins tab, you will see a badge against any plugin that has an update available. You can click on this plugin and select the version from the dropdown. You should clearly see which is the currently deployed version and which is the latest version available. Once you have selected the version you want to deploy, click Save. You should then see a Pending Release in the Releases tab. To deploy the pending release, give it a name and a description, then click Release to deploy the new version. Agents are required to refresh their browser window to activate the plugin update. For a detailed walkthrough, see Release your new Plugin Configuration.
You can roll back to a previous version of a plugin by following the same steps within "Updating a Plugin". To do this, select the previous version of the plugin and click Save. Go through the same release process and you will have successfully rolled back to a previous version. For more details, see Roll back a Release.
Configure your Twilio number to use the Airline API TwiML App
Navigate to Active Numbers within the Twilio Console and click on the number that you are going to use with Airline. You will only need to complete this step for additional numbers you want to use with Airline. The first number that you specify in the configuration section below is automatically assigned to the correct TwiML App.
To direct interactions from your Twilio number through to Airline, you need to configure some settings under Voice & Fax. Set Configure With to "TwiML App" and then select the Airline API app from the TwiML App dropdown list.
Repeat this process for the Messaging section to configure messages through Airline.
You can configure multiple numbers to use Airline and it will support Voice, SMS, and Webchat interactions.
Configure your Airline Instance
Once you have successfully installed your plugins, you should see the Airline icon has been added to your Flex UI. To see this, you will need to launch Flex from the Twilio Console.
When you click this icon for the first time, you will be presented with a form to set up your project. You will need the following to complete the setup:
- Twilio Account SID
- Twilio Auth Token
- Twilio Number
- GCP Project ID
- GCP Key file
You also need a basic Dialogflow agent for testing purposes, so if you haven’t created one, please do that before proceeding. To get started, see the Google Quickstarts.
Additionally, you will need to have the GCP Service Account from the Twilio GCP project added into the GCP project that is hosting the Dialogflow agent.
This process will be guided by Twilio during the initial setup of your project.
You will have the following fields to complete:
Project Name: The name for your project.
Twilio Account SID: This should autopopulate for you. If not, grab this from the Twilio Console Dashboard.
Twilio Auth Token: This is found in your Twilio account Dashboard directly under your Account SID.
Twilio Phone Number: The Twilio number that you want to use. You can add more later. Be sure to remove any spaces from the number.
Google Cloud Project Name: This is the ID for your GCP project. You can find this in GCP or in your Dialogflow agent.
Note: This ID needs to match exactly for the agent to be correctly linked.
- Google Cloud Project Keyfile: The GCP Keyfile to authorize your project to use Dialogflow. The associated Service Account requires the
Dialogflow API Adminpermission in order to use all the features of Airline. For more details about
GCP Keys, please see Google's Service Accounts documentation.
Note: This GCP Keyfile will be generated from within a linked Twilio GCP account.
(Optional) GCP Fulfilment Authentication File: A file used to encrypt any calls to fulfillment.
Option 1: Basic Configuration
As part of the initial setup, Airline has already created a simple link between your Twilio Number and the Dialogflow Agent you identified. So at this stage you already have basic integration set up. We will now explore that a little to show you what happened behind the scenes.
Under the Automation tab within the CCAI Manager Console, you can click on the Incoming Call Profile via the Quick Access view or click View all to see all your configured Profiles.
Within the Automation Profile Edit view, you will see that the Dialogflow agent should be the agent in the project you used for the initial setup. You have options in this view to change the name of the profile to something more meaningful, like
Customer Service or
You can also change the Locale and the Speech Profile to adjust the way your Dialogflow Agent sounds. You can optionally set a Context to be passed through to Dialogflow at the beginning of the interaction. You can also select the Fallback Behaviour which is where you configure default escalation and error messaging. There are triggers to Enable Voice Recording and to Stop Voice Recording On Handoff to an agent. Finally, you can see all the Entry Points that will trigger this Automation Profile.
Testing Basic Functionality
To test this basic configuration, you can now navigate back to Flex and within the Flex Admin panel, launch Test Drive.
We can now interact with our Dialogflow agent. At the stage of escalation, you will see the interaction get routed to your active agent in Flex.
Option 2: Agent with CCAI Functionality
To use CCAI functionality like Agent Assist, we will go through some extra configuration steps. Firstly, you need to have CCAI capabilities be enabled for your project. Reach out to your Twilio representative to make this request. Once that has been enabled, we will need to create a Conversation Profile to provide the link between your Twilio Number and CCAI.
However, before we create a Conversation Profile, we will create a basic Knowledge Base using Airline which will be necessary when we set up the Conversation Profile. This will give us the related Knowledge Base within our Dialogflow agent and the ability to use a simple FAQ Agent Assistant that we will set up next. To get started, click on the Configuration Tab and click View on Knowledge Bases.
You will not have one at this stage, so click Create and name your Knowledge Base. We will call ours
faq-knowledge-base. You also need to assign it to your Dialogflow agent. If you have not added more agents, you should only see one option in the drop-down list.
Click Create and you should see your Knowledge base has been created.
To use Knowledge Bases with Airline, this step must be done via the Airline and not directly in Dialogflow.
If you navigate to your Dialogflow agent, you will find the Knowledge Base has been added for you. You can now upload the documents you want to use.
If we go back to the Configuration tab in Airline, we can create a new document in our Knowledge Base by clicking the link to the documents. This will show 0 documents for newly created Knowledge Bases.
Clicking this link will open a list view for you to view all documents in your Knowledge Base or the option to create a new one. Click Create Document to create a new one.
This will display a form to create a new Document. Start by giving your document a Name and choose a Knowledge Type. For our example, we will be using a simple FAQ type that is ingested from an existing website FAQ page.
When you click Create, the website will be interpreted and the questions and answers from the FAQ page will be added to a document in your Knowledge Base. There is an option to do this via uploading a CSV file if that is preferred.
Now we can wire it up to your agent in Airline via a Conversation Profile. Go back to the Airline Manager Console and under the Configuration tab, click View on Conversation Profiles.
You will need to create a new Conversation Profile, name it, and choose to link it to your Dialogflow agent as shown in the screenshot below. Once this is done, click Add Human Agent Assistant.
You will be presented with an option to set up the type of CCAI functionality you need. For this document, we will step through creating an FAQ-based Agent Assistant. So under the Human Agent Suggestion tab, change the Type of Suggestion to FAQ. You will be presented with an interface to select or create a Knowledge Base. As we created our Knowledge Base in the previous step, we will select it from the dropdown list and toggle "Enable Inline Suggestions". The options we have selected are shown in the following:
Once that is done, click Create to create and save your Conversation Profile. Now navigate back to the Automation tab and switch our Automation Profile to use our new Conversation Profile.
So back under the Automation tab, click the Incoming Call Automation Profile from the Quick Access view.
From within the Edit form, change the Integration Type from Standard to CCAI and select the new Conversation Profile from the drop down list.
Your agent is now set up to use Agent Assist with Airline. We will run through how to test this functionality in the next section.
You can repeat the previous setup for the Incoming Webchat Automation profile, which we will be using to test the solution.
Option 3: CX Agent Setup
Configuring integration to a Dialogflow CX agent is simple and follows many of the same steps as setting up an ES agent. First, to create a new Dialogflow agent, navigate to the Configuration Tab and click View on the Dialogflow Agents element. In this view you will see all existing Dialogflow agents configured within Airline. To add a new one, click Create in the top right of the screen.
This will open up the Create form for a new Dialogflow agent configuration. At this stage you should already have your Dialogflow CX agent created, and you will need a GCP keyfile to authorise its use. We also require its unique ID for CX.
Once you have given the Dialogflow agent configuration a nam, provided its GCP project ID and uploaded the keyfile, you can select the CX platform edition as shown below. This will make two additional fields visible – UUID and Location, which are required for a CX agent.
You can find the CX agent UUID in the URL when viewing your CX agent in the Dialogflow UI, as seen in an example below. Your agents UUID will be in the location of
Once you have created your DialogFlow CX agent configuration, you can use it in an Automation Profile.
Navigate to an existing Automation Profile, or create a new one. On the Automation Profile page you will see a Platform Edition toggle. When you select CX in this UI, your list of available agents will then be limited to CX agents that you have created. You should see the agent you created in the previous step available. Once you have selected that agent and configured your desired channel to point to your automation profile, you are ready to test the configuration. Simply place a call or chat into that channel and you should be getting responses from your CX agent.
Testing the CCAI Solution
To test that your project has been configured correctly, we are going to use Twilio Test Drive to launch a simple webchat. This will begin by interacting with our Dialogflow Agent, which we will then escalate to an agent and subsequently trigger some basic Agent Assist behavior.
To launch Test Drive, go to the Admin panel in Flex and click Launch on the Test Drive webchat.
This will open a web chat in another tab for you. At this stage, make sure you have a Flex agent that is Available.
I have had the following brief conversation with the Dialogflow Agent:
At the stage where I asked to speak to an agent, Dialogflow has escalated, and I now have the interaction arriving to my agent in Flex. This also triggers the end of Dialogflow responses and the beginning of Agent Assist.
I will accept the chat in Flex and continue the interaction.
The customer in this example has mentioned they want to delete their account and Agent Assist has provided a suggestion. In our simple example, this is a basic text response which can be either used as a canned response to the customer or as reference material. You also have the ability to surface links or documents using this feature.
If we click on the suggested prompt, we will see the response, a feedback feature, and a button to send the response to the customer or return to the list of suggestions.
If multiple suggestions are provided by Dialogflow, they will be sorted by relevance and you can limit the maximum number of suggestions using the configuration within Airline.
I have given a thumbs up as this response was helpful to me as an agent and I have sent the response directly to the customer. The feedback will help Airline improve the accuracy of suggestions.
For more information about Google CCAI features, please see Google's Contact Center AI documentation.