Configure the Intent OCP miniApps® 2.0

So far, the new version of Intent OCP miniApps® is only available for Banking (domain Banking 2.0 during miniApps creation).

Welcome Prompts tab

The welcome prompts are the initial prompts responsible for establishing the interaction with the system, thus providing a more natural feel.

Initial Prompt

OCP miniApps® allow you to fully configure three custom initial prompts depending on the error level of the initial system prompt:

  • Prompt 1: Initial System Prompt that handles the initial prompt to be played to the caller

  • Prompt 2: Rephrase after 1st error (No Response, No Interpretation), it handles cases where you want to re-prompt to the caller, for example, if there was a No Response or a No Interpretation event.

  • Prompt 3: Rephrase after 2nd error (No Response, No Interpretation), it handles cases where you want to re-prompt for a second time to the caller, for example, if there was a No Response or a No Interpretation event.

Greeting Reaction

Sometimes, when prompted for input, a caller may first greet the application instead of giving the input directly. For these cases, it is possible to configure a Greeting Reaction, which will trigger in conjunction with the initial prompt resulting in a more human-like experience.

To set up a greeting reaction, proceed as follows:

  1. Navigate to the Initial Prompt section.

  2. Click Greeting Reaction. The pop-up window opens.

  3. Insert the greeting text into the input field.

  4. Click OK to save changes.

Barge-in option

If you want to activate barge-in for each step, use the toggle on the right side of each initial prompt:

Currently the barge-in option works for the whole action, not for each individual prompt. This will be supported in a later version of the OCP miniApps®.

ASR timeout

You can also adjust the ASR timeout range slider to specify how long the system waits to trigger a NoInput event.

Start Over Prompts

Can only be triggered with the help of a Flow application, so should not be used in standalone miniApps.

This functionality allows you to specify Start Over prompts that will be used after the user requested to start over. For instance, the following conversation may take place:

System: How may I help you?

User: I want to get information about my account.

If for some reason the system takes the wrong "path" here, the user might be inclined to interrupt with something like "no no, can we please restart". In that case, in your Flow you can specify that upon hearing the word "restart", the system will enter this miniApp with the specific Start Over prompt, like "Let’s take it from the top. How can I help you?" as in the screenshot below.

If you decide to use this functionality, you can additionally inform the user about which words will trigger the Start Over functionality by making the following announcement:

"Welcome to our service. At any point you can say 'start from the beginning' to take it from the top".

New Task Prompts

In case the caller responds positively to a question such as "Is there anything else I can help you with?", New Task Prompts will continue the conversation based on the defined prompts:

System: Is there anything else I can help you with?

User: Yes!

System: How may I help you?

DTMF Response

To enable the DTMF response, use the DTMF Response Toggle button. When enabled, you can choose which button will be used as DTMF response to transfer a call to an agent:

You can also select the option Any Key, which will allow the caller to use any key for DTMF. If this option is turned on, all the other options for picking a key will be hidden.

If DTMF Response is enabled, you can also edit the DTMF Response prompts.

Reask Prompts tab

Here you can set and edit re-ask prompts.

Manage Intents tab

In the Manage Intents tab, you can perform various actions on intents, like browsing intents, creating intent groups, and setting disambiguation intents and intent confirmations.

Browse Intents

In this tab you can browse through the intents associated with the selected Intent miniApps, see the different sample utterances and understand what this Intent covers so you can later use it:

  • To create an Intent Group

  • To create a Disambiguation for this Intent

  • To create a specific announcement for this Intent

  • To export the announcements in TSV file.

Intent Groups

In this tab you can group intents together and:

  • Use Intent Groups into Conditions for Announcements

  • Get the Intent Group Name back as a result on the CCaaS side (this is not applicable for the standalone version)

Intent Disambiguations

Some intents may be too general for your domain. To disambiguate them further, in this tab you can set custom prompts that re-ask the intent in a different way, depending on what information is known up to that point (such as any data we have captured, including the intent or other NLU entities). This will make the dialog more conversational and will motivate the caller to provide more information to trigger a more precise intent.

For example, you can set the following conditions:

As seen in the screenshot below, the conditional values that can be set include an Intent, various entities (from CardType to UserSegment), ANI, DNIS and SessionChannel information, and external values passed from other miniApps.

In addition there are several selections for the logic operator such as Equals to, Not equals, Defined, Not defined.

Once you have defined the suitable conditions, you can set the disambiguation prompt to be the following:

This means that when the miniApp recognizes that a caller is asking for balance without specifying whether it’s for a personal or business account, it will ask a clarifying question and accept a free-form answer.

Instead of the Open Disambiguation option, you can also use the Yes/No Disambiguation. For example, if a caller’s intent is recognized to be Appointments (conditional operator equals to), you can set the following prompt and disambiguation:

If the caller wants to book a new appointment, the intent becomes Appointments-Book; if not, then we can either assume they want to reschedule an existing appointment OR we can reask them and inquire what they want to do exactly (or ask them an open-ended "How can I help you?" in hopes of capturing a more precise intent, as in the screenshot below).

Double Intents and Intent Confirmations

This tab is applicable to use if you have an unconfirmed intent that needs to be confirmed.

For instance, you might have the following dialog take place:

caller: "I want to know my balance and make a payment" (Intent miniApp)

system: "Your balance is $200" (Announcement miniApp)

Since the Intent miniApp is able to understand double intents, after the first intent is executed ("Your balance is $200"), the system will activate the second intent. But it will enable the user to confirm the intent before proceeding; this is done by setting its status as "optioned": if one invokes an Intent miniApp by having an active intent with status "optioned", the Intent miniApp will look if there is an intent confirmation that matches.

The "optioned" status is set by default to the second intent, whenever there is one.

If a matching intent exists, the system will just confirm the intent by using the user specific prompt such as "Do you wish to proceed with the payment?".

...

system: "Do you wish to proceed with the payment?" (Intent miniApp with Optioned Intent)

caller: "Yes" (Intent miniApp with Defined Intent)

system: "Please tell me how much do you want to pay?"

In that sense, the Intent miniApp is not used to understand a new intent, but to confirm an existing one. If the caller confirms the intent, the Intent miniApp will change the status of the intent to "defined". Now, the system is ready to execute the Intent. "Please tell me how much do you want to pay?"

If the user disconfirms the intent, the system removes it so the Intent miniApp will ask for a new intent using the questions specified in the Reask Prompts tab: "So, is there anything else I can help you with?"

Natural Language Understanding

In this tab, you can use the OCP ML-NLU Service to create a custom NLU model/application from your own set of utterances-intents or to add intents in an existing model. To do so, select the Train/View NLU models button.

Announcements tab

In the Announcements tab, you can set as many announcements as you want and link them to one or more intents from the Conditions tab. You can also choose additional entities in your conditions if you want to make the announcement more specific.

Announcement order matters. If two announcement conditions match, the top one will be selected.

Make sure you put 'failover' announcements using the 'Any(*)' operator to the bottom.

For intent conditions the operator is by default Equals to and cannot be changed.

Add a second condition

Adding a second condition allows entering an entity from the list of entities or even adding a custom entity.

To add a second condition:

  1. Click the +Add Condition button.

  2. Select an entity from the list, or create a custom entity.

  3. Enter the JSON path accordingly if required.

  4. Select an operator from the dropdown list.

  5. Enter the condition values.

To add a custom entity follow the steps:

1. Select the +Add custom entity at the bottom of the entities list.

2. Enter a name for the custom entity

3. Click Save to add it to the list

4. Select the newly added custom entity from the list of entities.

It is possible to disable an announcement by using the Intent enable/disable the Toggle button.

Once disabled, the announcement will be grayed out, as shown below, and it won’t be used on runtime.

In the Dialog Evolution tab, you can check how the dialog unfolds and decide the next step (Re-ask IntentEnd Call, or Transfer Call). Keep in mind that the Manage re-ask prompts button is just a shortcut to the main Re-ask tab.

It is not possible to delete a re-ask prompt if it is being used in an announcement. Make sure that no announcement is using the re-ask prompt you want to delete.

Browse Intents

To browse the set intents and sample utterances, select the Browse Intents button.

In the Browse Intents pop-up window, you can view the set intents and the respective sample utterances.

Commas between values act as an 'OR' operator and new lines act as an 'AND' operator.

To export the intents and sample utterances, select the Export examples to TSV button.

Nice Reactions

In the Nice Reactions window you can optionally set nice reactions. Whenever the application identifies an intent that is not ambiguous, then it throws a nice reaction before the announcement randomly (according to weight) to make the dialog sound more conversational.

Goodbye Message

In the Goodbye Message window you can optionally set goodbye messages.

Export Announcements

To export the announcements in a .tsv file, select the Export Announcements button.

Import Announcements

To import announcements from a .tsv file, select the Import Announcements button.

Then, browse for the .tsv file and select the Import Announcements button.

Hold Functionality tab

To learn more about Hold Functionality please read the corresponding section in this article

Agent Handling tab

To see the details on how to configure the Agent Handling tab, check out this article.

Error Handling tab

To see the details on how to configure the Error Handling tab, check out this article.

Chat tab

To see details about the Chat tab, check out this article.

DTMF Tab

To see details about the DTMF tab, check out this article.

User Functions Tab

To see details about the User Functions tab, check out this article.

Manage Languages tab

To see the details on how to configure the Manage Languages tab, check out this article.