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

Troubleshooting Service Request Chat Actions

This topic describes how to resolve service request issues that you might encounter while using BMC Helix Digital Workplace Advanced.

Before actually examining the configuration of Chat Actions, it is a good idea to first verify that the same use case works correctly in BMC Helix Digital Workplace Advanced. If it does not, even though the BMC Helix Chatbot error handling may not be ideal (and a defect may be needed to improve error handling), the solution to the problem lies in troubleshooting BMC Helix Digital Workplace Advanced itself.

If the same use case works in BMC Helix Digital Workplace Advanced, you will need to diagnose whether the problem lies with the IBM Watson Assistant, or the Service Catalog configuration that maps it to BMC Helix Digital Workplace Advanced. It is important to understand how the BMC Helix Digital Workplace Advanced Catalog (or Common Catalog) is mapped into BMC Helix Chatbot. The relationship can be visualized this way (You can click on this diagram to expand it for readability):

In the illustration above, there could be various problems with the variable syntax, such as the following:

  • BMC Helix Digital Workplace Advanced service works on its own
  • Mapping exists
  • Answers IDs are well-formed
  • Variable expressions are correct
  • Answer data types map to questions
  • Process parameters (especially for custom process)

It is a good guess that the intended value for the third answer should be a date, not the literal string "dueDate". It was probably meant to be a variable $dueDate, defined within the IBM Watson Assistant.

In the following example, the failure occurs when requesting an employee verification letter. What you would need to troubleshoot this:

  • Access to BMC Helix Innovation Studio
  • The IBM Watson cognitive service credentials (not the Bluemix account).  Note that Password is not visible in BMC Helix Innovation Studio and you will need to have this information from the adminstrator, unless you happen already have access through Bluemix to the IBM tooling.
  • The IBM Watson Assistant Skill ID (This is visible in BMC Helix Innovation Studio).

The following steps will verify that both the mapping and the answers passed to the request are correct. 

  1. Start by looking at the Service Catalog Mapping in BMC Helix Innovation Studio  > Administration > Chatbot Configuration > Service Catalog.
  2. Determine the Chatbot Action corresponding with this service request.
  3. Retrieve the workspace JSON content from IBM Watson.You can do this directly using a web browser, without an IBM Cloud account. For details, see Retrieving a workspace without an IBM Cloud account. Here is the quick version:

    1. You will need to construct a URL - you can start from the following template: 
      https://gateway.watsonplatform.net/assistant/api/v1/workspaces/WORKSPACE_ID?version=2018-02-16&export=true

    2. Replace the WORKSPACE_ID placeholder with the value configured as the provider Conversation Workspace ID,  and try to fetch the page.

    3. During authentication, provide the user name and password for IBM Watson Assistant.

    4. Once you have the raw JSON, if your browser does not already pretty-print it (as Firefox does), it is a very good idea to paste it into some JSON pretty printing utility, such as  jsonprettyprint.com , or some other JSON-friendly editor.
  4. In the JSON, locate the Chat Action you are looking for. The quickest way to find it is to search for the mapping name as the value for the well known process input variable id 536870921, such as:

    "536870921": "sb_employment_verification_letter"
    1. If you don't find it, it could be that the JSON will show that a variable, such as $action, represents the service catalog mapping and you may have to search each occurrence to find it.

    2. Look for any mis-spellings or syntax errors.
    3. Take a look a the answers provided for this request within the action definition.  Note that there are two flavors of this, depending on whether BMC Helix Digital Workplace Advanced is integrated with the Common Catalog application, or with BMC Helix Digital Workplace Advanced Catalog (Service Broker). 
      The Common Catalog maps answers through question offsets to the well-known process input variable 536870923, like this:

      Question Offsets for Common Catalog
              "action": {
                "inputMap": {
                  "536870920": "trigger",
                  "536870921": "sb_employment_verification_letter",
                  "536870922": "$loginName",
                  "536870923": {
                    "0": "$summary",
                    "1": "yes",
                    "2": "dueDate"
                  }
                },
                "outputMap": {
                  "status": "${actionResult.536870910}",
                  "requestId": "${actionResult.536870911}"
                },
                "processDefinitionName": "com.bmc.dsm.chatbot:Create Service Request"
              }

      Note

      There are three answers provided in the array within 536870923. We will need to check these against BMC Helix Digital Workplace Advanced, or the Common Catalog.  If the offsets are not sequential and don't match the number of questions, or there is missing required question,  this can cause the exception to be thrown. In this particular example, as before, the "dueDate" variable seems to have the wrong syntax.

      However, if BMC Helix Digital Workplace Advanced Catalog (Service Broker) is providing the catalog, you may find the answers mapped through GUIIDs, like this:

      Question Guiids for Service Broker
              "action": {
                "inputMap": {
                  "536870920": "trigger",
                  "536870921": "sb_employment_verification_letter",
                  "536870922": "$loginName",
                  "536870923": {
      				"04e124b7-29f3-bd7f-75eb-9a578904f510": "$summary",                                                                 
      				"32340216-2fe9-ea9f-afb3-514dfd22e073": "yes",                                      
      				"773d41a7-5fef-10c4-fd42-f20234d43021": "dueDate"
                  }
                },
                "outputMap": {
                  "status": "${actionResult.536870910}",
                  "requestId": "${actionResult.536870911}"
                },
                "processDefinitionName": "com.bmc.dsm.chatbot:Create Service Request"
              }

      As before, there are three answers provided in the array within field 536870923. We will need to check these against BMC Helix Digital Workplace Advanced Catalog.

  5. Back in BMC Helix Platform's Chatbot Configuration → Service Catalog area, find the actual service being requested in BMC Helix Digital Workplace Advanced.
  6. Launch BMC Helix Digital Workplace Advanced, find the appropriate item, and start to place your own request in order to confirm that there are three questions, and they correspond with the answers passed from the conversation .
  7. Note that if the fields are mapped by guiids and not offset, it is a little tricker to verify that they match.
    1. You can use the browser's debugger to examine the page source to find the guiids, or
    2. If you have access, bring up the adminstration interface of BMC Helix Digital Workplace Advanced Catalog (Service Broker) to find the guiids for the mapping.
  8. If they don't match, this is the source of the configuration problem, and the adminstrator should be advised accordingly.

Related topic

Troubleshooting



Was this page helpful? Yes No Submitting... Thank you

Comments