Google Dialogflow ES

Google Dialogflow ES 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 ES with voice and Digital First Omnichannel chat-based channels.

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 ES and CX

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 ES 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.
  • Google Dialogflow ES virtual agent configured and trained to provide responses to your contacts' requests.

Components of an Integration

The integration of Google Dialogflow ES 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 ES 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 all Google Dialogflow ES voice and chat conversations. 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 ES 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).

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.

Supported 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.

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 ES.

Supported 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.