Google Dialogflow CX

Google Dialogflow CX is a third-party platform that provides virtual agents. Virtual agents interpret what your contacts say or type in the chat window and respond appropriately. They do this using technologies such as:

Virtual agents are flexible and can provide a range of functions to suit the needs of your organization. For example, you can design your virtual agent to handle a few simple tasks or to serve as a complex interactive agent.

CXone supports using Google Dialogflow CX with voice and Digital First Omnichannel chat-based channels. CXone supports utterance-based features with Google Dialogflow CX. Features that require audio streaming are not supported.

Dialogflow ES and CX are public offerings and you can purchase them directly through NICE CXone. However, the public version does not have full telephony features or native connections between Dialogflow and Google Contact Center AI Agent Assist. These features are available when purchasing through NICE CXone partners.

Comparison of Google Dialogflow CX and ES

CXone supports Google Dialogflow ES and CX. The two versions are similar, but have some key differences.

Dialogflow ES is suitable for small, simple bots. It simulates nonlinear conversation paths using a flat structure of intents and context as a guide. This approach doesn't support large or complex bots. You can pass contexts using the customPayload property of the Virtual Agent Hub Studio action used in your scripts. These bots use context data to determine the contact's intents.

Dialogflow CX supports complex, nonlinear conversational flow suitable for large, complex bots. It allows intentsClosed The meaning or purpose behind what a contact says/types; what the contact wants to communicate or accomplish to be reused and doesn't require contexts. You can pass customPayload data, but you don't need to include contexts.

Conversation Flow for Voice and Text Virtual Agents

The beginning of the conversation is different for voice and text virtual agents: 

After the conversation has started, the virtual agent analyzes the contact's utterances to understand the purpose or meaning behind what a person says. This is known as the contact's intent. When the intent is identified, the virtual agent sends an appropriate response to the contact. Depending on how the integration is set up, requests and responses are handled in one of two ways. They can be: 

  • Sent directly between the virtual agent and the contact. CXone stays connected to the virtual agent service throughout the conversation, waiting for the signal that the conversation is complete or that the contact needs transferred to a live agent. For voice virtual agents, this is the SIPClosed Protocol used for signaling and controlling multimedia communication sessions such as voice and video calls. backchannel method of connection. No text virtual agent providers support this option.
  • Sent via Virtual Agent Hub and the script with each turn. This option allows for customization of the virtual agent's behavior from turn to turn. For voice virtual agents, this is the utterance-based method of connection. All text virtual agent providers use this method.

At the end of the conversation, the virtual agent sends a signal to the Studio script. It can signal that the conversation is complete, or that the contact needs to speak with a live agent. If the conversation is complete, the interaction is ended. If a live agent is needed, the script makes the request. The contact is transferred to an agent when one is available.

Once the conversation is complete, post-interaction tasks can be performed, such as recording information in a CRMClosed Third-party systems that manage such things as contacts, sales information, support details, and case histories..

Prerequisites

To use Google Dialogflow CX virtual agentsClosed A software application that handles customer interactions in place of a live human agent. with CXone, you need:

  • A Google Cloud Platform account.

  • A Google Dialogflow CX virtual agent configured and trained to provide responses to your contacts' requests. To complete integration in CXone, you need the virtual agent name from the virtual agent's settings in the Google Dialogflow CX console.

  • A phone number, if you're using a SIPClosed Protocol used for signaling and controlling multimedia communication sessions such as voice and video calls. backchannel connection with a Dialogflow CX voice virtual agent. You must request the number from Google. You can do this under Integrations in the Manage section of the Google Dialogflow CX console. Refer to the Google Dialogflow CX online documentation for more information.

Alpha Visibility in Google

Alpha visibility is a Google program that provides Google Cloud Projects access to features that aren't otherwise available. Alpha visibility is not required to use Dialogflow CX with CXone. However, there is one case when you may need to have alpha visibility enabled.

Alpha visibility is needed to have the last user utterance returned from the Dialogflow virtual agent along with the intent information. You can view this information in a script trace. If the lastUserUtterance variable is empty when it should contain data, alpha visibility may not be enabled for your project. If you require this information, your Google Cloud project must have alpha visibility enabled.

Components of an Integration

The integration of Google Dialogflow CX involves the following components: 

Rich Media Support for Text Virtual Agents

All text virtual agents must use chat-based Digital First Omnichannel channelsClosed A way for contacts to interact with agents or bots. A channel can be voice, email, chat, social media, and so on.. If your channel supports it, you can include rich mediaClosed Elements in digital messaging such as buttons, images, menus, and option pickers. content in the messages. The type of rich media that can be sent may differ from channel to channel. Refer to the online help for the specific digital channel you're using for more information.

When you want to include rich media content in text virtual agent responses, follow the JSON schema for the DFO channel you're using. The schemas are different for each channel. Find the JSON for the media content you want to use, then add it to the response message configurations that you create in theGoogle Dialogflow CX configuration console.

Some JSON schemas are provided in the Virtual Agent Hub online help. You can use the DFO JSON mirror tool to verify your JSON before adding it to your scripts or virtual agent.

Conversation Transcripts

You can capture the transcript and intent information from Google Dialogflow CX voice and chat conversations. If you use a SIP backchannel connection with Dialogflow CX, this option is not available for you. You can use the captured data in any way you want. For example, in cases where the interaction is transferred to a live agent, you could display it for an agent. Another option could be to save it as a permanent record of the conversation. You can choose to capture just the transcript, just the intent information, both, or neither.

If you want to capture this information, you must enable it in the Google Dialogflow CX configuration settings in Virtual Agent Hub. You must also configure a Studio script used with your virtual agent. The script must include a Get Bot Transcript action configured to manage the captured data. Captured data is stored temporarily for the life of the contact ID. If you need to save it, you can configure the script to send it to an archive. You are responsible for scrubbing all saved data for PII (Personally Identifiable Information).

Contact Center AI Insights

If you use Google Dialogflow Contact Center AI Insights, you need to make an additional configuration to your Studio script. The Contact Center AI Insights feature only works on conversations that have been marked complete.

By default, it takes 24 hours for Dialogflow CX virtual agent conversations to be marked complete. However, you can force them to close by sending an automated intent to Dialogflow at the end of each interaction.

To do this, you need to send the value conversation_complete through the AutomatedIntent property of the Voicebot Exchange action or the Textbot Exchange action after the interaction has ended. You can hard-code this value in the property, or you can send it via a variable.

Speech Context Hints

Speech context hints are words and phrases sent to the transcription service. They're helpful when there are words or phrases that need to be transcribed a certain way. Speech context hints can help improve the accuracy of speech recognition. For example, you can use them to improve the transcription of information such as address numbers or currency phrases.

If you want to use speech context hints, you must add them to your script. Dialogflow speech context hints are sent in the custom payload. You must include two parameters: 

  • speechContexts.phrases: The Google class token A square with an arrow pointing from the center to the upper right corner. for the hint you want to give. The token must match the language and locale of your contacts. If you want to add multiple tokens, add a speechContexts.phrases parameter for each token.
  • speechContexts.boost: A weighted numeric value between 1-20 to the specified phrase. The transcription service uses this value when selecting a possible transcription for words in the audio data. The higher the value, the greater the likelihood of the transcription service choosing that word or phrase from the alternatives.

For example:

DYNAMIC customPayload
customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
customPayload.speechContexts.boost=10		

You can see the contents of this parameter in Studio traces and application logs.

Custom Scripting Guidelines

Before integrating a virtual agentClosed The meaning or purpose behind what a contact says/types; what the contact wants to communicate or accomplish, you need to know: 

  • Which script you want to add a virtual agent to.
  • The virtual agent Studio action you need to use.

  • Where the Studio actions must be placed in your script flow.
  • The configuration requirements specific to the virtual agent you're using.
  • How to complete the script after adding the virtual agent action. You may need to: 
    • Add initialization snippets as needed to the script using Snippet actions. This is required if you want to customize your virtual agent's behavior.
    • Re-configure the action connectors to ensure proper contact flow and correct any potential errors.
    • Use the OnReturnControlToScript branch to handle hanging up or ending the interaction. If you use the Default branch to handle hanging up or ending an interaction, your script may not work as intended.
    • Complete any additional scripting and test the script.

Ensure that all parameters in the virtual agent actions you add to your script are configured to pass the correct data. The online help pages for the actions cover how to configure each parameter.

Additionally, ensure that you completely configure your virtual agent on the provider side. Verify that it's configured with all possible default messages. This includes error messages or messages indicating an intent has been fulfilled.

If you need assistance with scripting in Studio, contact your CXone Account Representative, see the Technical Reference Guide section in the online help, or visit the NICE CXone Community A square with an arrow pointing from the center toward the upper right corner. site.

Studio Actions for Voice Virtual Agents

There are two Studio actions for voice virtual agents, Voicebot Exchange and Voicebot Conversation.

Voicebot Exchange Action

The Voicebot Exchange action is for complex virtual agents, or for when you need to customize the virtual agent's behavior from turn to turn. It monitors the conversation between the contact and the virtual agent turn by turn. It sends each utteranceClosed What a contact says or types. to the virtual agent. The virtual agent analyzes the utterance for intentClosed The meaning or purpose behind what a contact says/types; what the contact wants to communicate or accomplish and context and determines the response to give. The action passes the virtual agent's response to the contact. When the conversation is complete, the action continues the script.

This is the preferred action for use with voice virtual agents. If you want to configure barge in or no input, additional scripting is required. If you're using a SIPClosed Protocol used for signaling and controlling multimedia communication sessions such as voice and video calls. backchannel connection, you must use the Voicebot Conversation action.

Voicebot Conversation Action

The Voicebot Conversation action is only for use with very simple bots or when you are using a SIPClosed Protocol used for signaling and controlling multimedia communication sessions such as voice and video calls. backchannel connection. It does not allow the Studio script to customize or control the virtual agent's behavior from turn to turn.

This action interacts directly with the virtual agent and passively monitors the conversation in real time. The virtual agent analyzes the conversation for intentClosed The meaning or purpose behind what a contact says/types; what the contact wants to communicate or accomplish and context from a constant audio stream. It then returns appropriate responses to the contact. When the virtual agent indicates the conversation is over, the action continues the Studio script. The action passes along any relevant information for screen popsClosed State that allows an agent to complete work requirements after finishing an interaction, agent routing, and so on.

This action is not recommended for use with Google Dialogflow CX unless you're using a SIP backchannel connection.

Studio Action for Text Virtual Agents

The TextBot Exchange action is for complex virtual agents or for when you need to customize the virtual agent's behavior from turn to turn. It monitors the conversation between the contact and the virtual agentClosed A software application that handles customer interactions in place of a live human agent. turn by turn. It sends each utteranceClosed What a contact says or types. to the virtual agent. The virtual agent analyzes the utterance for intentClosed The meaning or purpose behind what a contact says/types; what the contact wants to communicate or accomplish and context and determines which response to give. TextBot Exchange passes the response to the contact. When the conversation is complete, the action continues the script.