Google Dialogflow CX

Permissions Required: View Scripts, Create/Edit Scripts

Google Dialogflow CX is a platform you can use to develop virtual agent bots for your organization. You can integrate them into CXone for voice and CXone chat channels. CXone supports utterance-based features with Google Dialogflow CX. Features that require audio streaming are not supported.

Virtual agent bots interpret what your contacts say or type 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 digital agent.

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 you use in your scripts. The bot uses context data to determine the contact's intents.

Dialogflow CX supports complex, nonlinear conversational flow that is 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 context information. You can pass customPayload data, but you don't need to include context information.

Requirements

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

Google Dialogflow CX Management

You can manage Google Dialogflow CX  virtual agent botsClosed A software application that handles customer interactions in place of a live human agent. in Virtual Agent Hub. To access Virtual Agent Hub, you need to use CXone Studio. If you don't have Studio installed, you can download and install it.

Set Up Google Dialogflow CX

  1. Create, configure, and test your virtual agent using the tools provided by Google.
  2. Add the Google Dialogflow CX app to Virtual Agent Hub and configure it,
  3. In your Studio script, add the virtual agent voicebot or chatbot action that fits the complexity of the bot you're integrating with CXone.
  4. Assign the Google Dialogflow CX app you created to the Virtual Agent Hub action in your script.
  5. Customize your script as needed following the custom scripting guidelines for virtual agents.

Google Dialogflow CX App Configuration Page

When you add the app for your Google Dialogflow CX bot to Virtual Agent Hub, you need to complete the Configuration page in the Virtual Agent Hub wizard. The information you provide on this page allows CXone can connect to your bot. You need the following information to complete the Configuration page:

Custom Payload Best Practices

Follow these best practices when integrating custom payload data from Google Dialogflow CX into CXone

  • Dialogflow CX doesn't use contexts to pass data to Dialogflow intentsClosed The meaning or purpose behind what a contact says/types; what the contact wants to communicate or accomplish like Dialogflow ES does.
  • You can pass custom data to Dialogflow CX using JSON key-value pairs. In a Snippet action in your script, create a DYNAMIC customPayload object and add the key-value pairs to it. For example: 
    DYNAMIC customPayload

    customPayload.ani = ani

    customPayload.contactID = contactId

    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"

  • In the Exchange or Conversation action in your script, configure the customPayload property with the variable you used in the customPayload object with the asJSON() method.
  • Pass the customPayload JSON to the bot using the Payload property of QueryParameters (see Google documentation on QueryParameters for Google Dialogflow CX).
  • Data passed through QueryParameters is received by a webhook in Dialogflow CX. You can write code in the Dialogflow CX console to handle the passed data.
  • To pass custom data from your Dialogflow CX bot back to the script, use the Custom Payload field in the Dialogflow CX console for the virtual agent you're using with CXone. Map this to your script using the customPayloadVarName (out) variable in the voicebot or chatbot Studio action in your script. For example, you can use this to set the next prompt's behaviors.

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 actionsClosed Performs a process within a Studio script, such as collecting customer data, playing a message or music, or routing a contact to an agent. that connect the bot to CXone. There are separate actions for voicebots and chatbots.

  • 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.  You can do this to customize your bot.
    • 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, 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. See the online help page for the action you're using for information about how to configure each parameter.

If you need assistance with scripting in Studio, contact your CXone Account Representative, see the Scripting Reference Material sections of the online help, or visit the NICE CXone Community site.

Supported Actions for Voicebots

To integrate a Google Dialogflow CX voicebot into a script, you can use the Voicebot Exchange or Voicebot Conversation actions. Voicebot Exchange is the preferred action for use with Google Dialogflow CX.

Voicebot Exchange Action

This action is for complex bots or for when you need to customize the bot's behavior from turn to turn.

Voicebot Exchange monitors the conversation between the contact and the bot turn by turn. It sends each utteranceClosed What a contact says or types. to the bot. The bot 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 returns the bot's response to the contact. When the conversation is complete, the action continues the script.

Voicebot Exchange is the preferred action for use with Google Dialogflow CX chatbots. If you want to configure barge in or no input, additional scripting is required.

Voicebot Conversation Action

This action is only for use with very simple bots. It does not allow for customization of the bot's behavior from turn to turn.

Voicebot Conversation interacts directly with the bot, passively monitoring the conversation in real time. The bot 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 and returns appropriate responses to the contact. When the bot indicates the conversation is over, the action continues the Studio script. The action passes along any relevant information for screenpops, agent routing, and so on.

Voicebot Conversation is not recommended for use with Google Dialogflow CX.

Supported Actions for Chatbots

When integrating a Google Dialogflow CX chatbot into a script, you can use the Textbot Exchange or Textbot Conversation actions.

Textbot Exchange is the preferred action for use with Dialogflow CX chatbots. Textbot Conversation is not recommended for use with Dialogflow CX.

Textbot Exchange Action

This action is for complex bots or for when you need to customize the bot's behavior from turn to turn.

TextBot Exchange monitors the conversation between the contact and the botClosed 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 bot. The bot 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 returns the bot's response to the contact. When the conversation is complete, the action continues the script.

Textbot Exchange is the preferred action for use with Google Dialogflow CX chatbots.

Textbot Conversation Action

This action is only for use with very simple bots. It does not allow for customization of the bot's behavior from turn to turn.

Textbot Conversation interacts directly with the bot, passively monitoring the conversation in real time. The bot 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 and returns appropriate responses to the contact. When bot indicates that the conversation is over, the action continues with the Studio script. The action passes along any relevant information for screenpops, agent routing, and so on.

Textbot Conversation is not recommended for use with Google Dialogflow CX chatbots.