Google Dialogflow CX

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. Digital First Omnichannel chat channels aren't supported at this time. 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.

Requirements

To use Google Dialogflow CX virtual agent bots with CXone, you need:

Google Dialogflow CX Management

You can manage Google Dialogflow CX virtual agent bots 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.

Google Dialogflow CX Configuration

Before you can add a Google Dialogflow CX bot to CXone, you must create and configure it using the tools provided by Google.

When your Google Dialogflow CX bot is ready, you can add it to CXone Virtual Agent Hub and create or modify Studio scripts to use it. To configure this bot in Virtual Agent Hub, you need the following information:

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 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 A software application that handles customer interactions in place of a live human agent., you need to know: 

  • Which script you want to add a virtual agent to.
  • The 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. you need to use for your bot. 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 Hub actions you add to your script are configured to pass the correct data. See the online help topic 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 voicebots. Voicebot Conversation is not recommended for use with 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 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 voicebots. If you want to configure barge in or no input, additional scripting is required. Contact your CXone Account Representative for more information.

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 What the contact wants to communicate or accomplish and context from a constant audio stream and returns appropriate responses to the contact. When 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 Virtual agent designed to handle specific interactions turn by turn. It sends each utteranceClosed What a contact says or types. to the bot. The bot analyzes the utterance for intentClosed 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 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.