Jump to: navigation, search

Integrating Intelligent Automation with Dialog Engine

Important
This page will cover information on deploying bots when Dialog Engine is the NLU provider.

Configuring IA with GDE

To integrate with Genesys Dialog Engine, complete the following steps:

  1. Configure Default Server Settings
  2. Configure NLU Settings
  3. Map Intents to modules
  4. Map Slots to questions

Configure Default Server Settings

If you're using Genesys Dialog Engine, configure the following server settings:

  • DialogEngine.JOPv3.AuthBaseURL - The URL to the Genesys Cloud Authentication API.
  • DialogEngine.JOPv3.FetchTimeoutMillis - The length of time (in milliseconds) that Intelligent Automation waits for a response from Dialog Engine before throwing an error.
  • DialogEngine.JOPv3.ClientID - The Dialog Engine Client Secret password.
  • DialogEngine.JOPv3.ClientSecret - The Dialog Engine Client Secret password.


Important
If you do not have access to these settings, contact your Genesys representative.

Configure NLU Settings

Once you have configured the Default Server Settings, open a Natural Language Menu module and click the NLU Settings tab.

From the NLU Engine menu, select Genesys Dialog Engine.

  • Leave the Use default credentials box checked to use these credentials or uncheck the box to override them for this particular application.

IA NL NLUSettings.png

Map Intents to modules

Intelligent Automation reads all Intents, Utterances, and Slots associated with a domain and then displays that information on the Intents List page for the Natural Language Menu module. This is where you'll map each Intent to a module.

To map an Intent to a module, simply select a module from the Intelligent Automation Module to Trigger menu for the Intent. Intelligent Automation will then automatically update the application's callflow accordingly.

IA NL IntentsPage Latest.png

Important
If the fulfillment is being performed by the bot, you can select None from the Intelligent Automation Module to Trigger menu and a generic “success” result will be returned after the intent has been completed.


Map Slots to questions

In the natural language engine, an Intent contains Slots, which are key pieces of information you need to extract from the end user to process a request. For example, if a user wants the weather forecast, you would need to know two key pieces of information before providing a weather forecast - city and date. These would be considered Slots.

For each Intent, you should have an associated module containing questions that will extract the right information from the customer. For the Weather example, you would have a Weather Questions module, which contains two questions: For what city and For what date? Both of these questions relate to the weatherLocation and weatherDate Slots.

Once you have created this module in Intelligent Automation, you need to map it to its associated Slots, as follows:

  1. Open the module that is linked to Intent.
  2. For each Question block in that module for which you would expect to have a slot, open the block and go to Question Options.
  3. Check the Store Answer as a Variable checkbox and enter the Slot name (weatherLocation).

When a chat or voice session reaches one of those Question blocks, it first checks if that slot has been sent to Intelligent Automation from the natural language engine. In that case, Intelligent Automation uses that as the answer to the question. Otherwise, Intelligent Automation asks the question and waits for a response.

IA NL QuestionBlock.png

Supported NLU Features

Currently, Intelligent Automation supports the following Dialog Engine features:

  • Support for Maximum Retries
  • Pass Context Settings
  • Bypass Opening Question

Support for Maximum Attempts

You can set the maximum number of retries to fill a slot and the maximum number of attempts to identify intents in a chat session.

The Enable Maximum Attempts Counters setting allows configuring the number of retry attempts and the action to be performed when the limit is reached.

The Enforce Maximum Attempts for filling Mandatory Slot will enable or disable the slot fill failure timeout feature. The number of unsuccessful tries can be configured after which the call is either transferred to a different module or return a result.

For example, if the number of retries is specified as 2, the bot will look if it can fill up any slots based on the user input two times. If the slot is not filled after both attempts, the call flow will be transferred to either a different module or return a special value.

When a value is provided in the Maximum Attempts to Fill Mandatory Slot Values option, the bot will try to slot-fill the user input. If the bot cannot perform a slot-fill successfully, the counter is increased. When the counter value exceeds the maximum retry values, Intelligent Automation either transfers the callflow to a different module (configured in the Exit Module field) or return a special result.

Important
When a slot is filled successfully or if the intent is switched, the counter is reset to zero.

When the Enforce Maximum Attempts for Intent Disambiguation option is configured, the bot will try to identify an intent from the conversation. When the maximum number of unsuccessful attempts is reached, Intelligent Automation either transfers the callflow to a different module (configured in the Exit Module field) or return a special result.


Pass Context Settings

Intelligent Automation allows you to pass variables to an NLU engine. The NLU engine can use the variables as part of the slot filling capabilities when the Send Intelligent Automation variables as context to NLU Engine setting is enabled.

For Dialog Engine, all variables are passed and Dialog Engine will map the variables to slots if the variable names from Intelligent Automation match the slot names in Dialog Engine.

Bypass Opening Question

You can allow users to bypass the initial question from the bot by passing the utterance as a variable to the NLU. The NLU then skips the initial question and proceeds to the next question. You can use any previously collected data or create and define a variable in the Script block and pass the utterance as a parameter in the Link block to the Natural Language Menu. The utterance is then passed to the NLU menu as an input in the callflow.

This page was last edited on September 18, 2020, at 13:45.
Comments or questions about this documentation? Contact us for support!