Information
This documentation supports the 20.08 version of BMC Helix Chatbot. To view the documentation for the previous version, select 20.02 from the Product version menu.

Exercise 4 - Test the Outage Notifications process in IBM Watson Assistant


The IT Chatbot workspace shipped with the Chatbot Starter Kit already has intents and entities created for Outage Notification.

Intent:
 For this service BMC_outages_notification Intent is created. Different sample utterances have been added for this example. These are out to the box examples and you can extend the list with new utterances as needed.

Dialog and Process invocation:
 From IT Chatbot 20.08 skill go to Dialog section and look for the BMC_outages_notification update dialog. This is our first parent dialog node for this service. The dialog condition has the intent, # BMC_outages_notification, so that when Watson identifies this intent the parent dialog for this service gets triggered.
Along with the intent in the condition there is one more condition i.e $isOutagesViwed!=true. Outages are listed only once in a session, so this extra condition will make sure notifications are showed only once to the end user.
 At the parent dialog node, we have initialized/set two context variables,

  • isOutagesViwed : true => used to only display outages once within a session
  • outages_deleted: "<? context.remove('outages') ?>" => to delete all old outages if any

Open the dialog JSON format and you will see that the Get Outage Notifications process will be invoked.
worddav468dcb3f8b0908ac5591132fe26e3e2b.png

There are no input parameters required, but a couple of output parameters have been mapped.

  • outages: Outages list. (Value of Notifications process output parameter)
  • status: status of a process.

Next expand the parent dialog node and you will find 2 child dialogs under it. Output of one of the child dialog gets displayed to end user. If there are no ongoing outages then $outages value will be "<ul></ul>", same is compared in first child dialog. At 2nd child dialog outages list is displayed to end user.

Display Outages While Connecting to Agent:
 What has been discussed so far is how the end user checks for ongoing outages directly when their input utterance matches the intent. For this service, there is an additional use case provided that will display the list of outages when the end user tries to connect to a Live Agent.  The idea here is if end user wants to connect to an Agent first check the status of DWP notifications and display the list just in case one of the notifications is the reason they are trying to connect to the Agent. This will reduce the number of calls to an Agent.
To implement this flow, the out of the box LiveAgentChat – Login dialog of IT Chatbot 20.08 skill has been updated. Expand that dialog node to see the child node with title #show outages.  This child node checks to see if outages have been already been viewed, if yes, then there is no need to display them again. If user has not seen the outages in the given session, then Get Outages Notification process gets invoked same way like we discussed in previous section.
worddavb10019e68d7bedcc7e52eb75118095f9.png

Once notification information is received, we show the below response format to the end user:

  • There are outages, $outages Do you face issue related to any of this?

Here $outages represents the process response. The question is asked if the user has any questions related to service which is currently experiencing an outage then end user is advised not to connect to an Agent. If end user still wants to connect to agent then Live Agent flow will be triggered.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Helix Chatbot 20.08