Page tree

 

This documentation supports the 20.02 version of BMC Helix Chatbot.

To view the documentation for the current version, select 20.08 from the Product version menu.

BMC Helix Chatbot includes an enhanced live chat experience for administrators, users, and BMC Virtual Chat support agents. During a live chat, BMC Helix Chatbot displays the topics that are configured in BMC Virtual Chat. After users select a topic, BMC Helix Chatbot routes the conversation to an appropriate support queue in BMC Virtual Chat. This autorouting ensures that the users’ questions are routed to the most appropriate support agent for that topic, and the turnaround time is faster.

Important

  • If you are using IBM Watson Assistant Skills created in version 18.11 - You are not required to perform any configurations to use this enhancement.
  • If you are using IBM Watson Assistant Skills version 18.08 or earlier - You must manually update the Live AgentChat - Login dialog node and create a few child nodes in the IBM Watson Skills.


You must configure the LiveAgentChat – Login dialog node as shown in the following image:

Task 1: To configure the LiveAgentChat – Login node

  1. Log in to your IBM Cloud account.
  2. Navigate to the IBM Watson Assistant Skills that is configured with BMC Helix Chatbot, and take the backup of the skill.
  3. Click Dialogs > select the node that is configured for live chat. 
    For example, LiveAgentChat node.
  4. Rename the live chat node from LiveAgentChat to LiveAgentChat – Login.
  5. Add the following slots in this node:
    1. Slot 1In the Check for field, type $problemSummary, Save it as—$problemSummary
      In the JSON editor, replace the existing text with the following text:

      {
        "context": {
          "$problemSummary":"null"
        }
      }
    2. Slot 2In the Check for field, type input.text&&slot_in_focus and Save it as—$problemSummary

    3. If slot context variable is not present, in Ask, type the value for Text as Please summarize the issue for the agent.

    4. In the JSON editor, replace the existing text with the following text:

      {
        "context": {
          "$problemSummary":"<?input.text?>"
        }
      }

      The following image shows the two slots:


  6. In the JSON editor, replace the existing text with the following text:
    Note: The messages in blue text are the default messages. You can modify the messages to suit your business requirements.

    {

      "context": {

        "$problemsummary": "null"

      },

    {

      "context": {

        "problemsummary": "<?input.text?>"

      },


      "output": {

        "text": {

          "values": [

            ""

          ],

          "selection_policy": "sequential"

        },

        "action": {

          "inputMap": {

            "chatId": "$chatId",

            "inputText": "$problemSummary",

            "responseByStatus": {

              "LIVE_CHAT_CONNECTION_ERROR": "Sorry, I could not connect to a live agent. To help resolve your issue you can type 'start over' and rephrase your question, or I can create a service desk request where someone will follow up with you. Which one would you like?",

              "LIVE_CHAT_CONNECTION_SUCCESS": "Please wait while I connect you to a Live Agent.  From here on responses to you will be from a system generated message or from a Live Agent.",

              "LIVE_CHAT_TOPIC_SELECTION_KEY": "Please select the topic you need a support agent to address. If none of the listed topics accurately describe what you need, please state your need.",

              "LIVE_CHAT_MAXIMUM_CONNECTION_ERROR": "Sorry, there are currently no live agents available. To help resolve your issue you can type 'start over' and rephrase your question, or I can create a service desk request where someone will follow up with you. Which one would you like?",

              "LIVE_CHAT_CONNECTION_AGENT_OFF_HOURS": "Sorry, but the Live Chat desk is currently closed.  To help resolve your issue you can type start over and rephrase your question, or I can create a Service Desk Request.  Which one would you like?"

            }

          },

          "outputMap": {

            "result": "${actionResult.output.text}",

            "sys_options": "${actionResult.output.optionsText}",

            "virtualChatTopics": "${actionResult.output.optionsText}"

          },

          "actionTypeName": "virtualChatLogin",

          "waitForActionExecution": true

        }

      }

    }

  7. Save and close the JSON editor.

Task 2: To create a LiveAgentChat - No Topics node

  1. Log in to your IBM Cloud account.
  2. Navigate to the IBM Watson Skills that is configured with BMC Helix Chatbot, and take the backup of the skill.
  3. Click Dialogs > select the node that is configured for live chat. For example, LiveAgentChat node.
  4. Rename the live chat node from “LiveAgentChat” to “LiveAgentChat – Login”.
  5. In the JSON editor, replace the existing text with the following text:
    Note: The messages in blue text are the default messages. You can modify the messages to suit your business requirements.

    {

      "output": {

        "text": {

          "values": [

            "${actionResult.output}"

          ],

          "selection_policy": "sequential"

        },

        "action": {

          "inputMap": {

            "chatId": "$chatId",

           "inputText": "$problemSummary",

            "responseByStatus": {

              "LIVE_CHAT_CONNECTION_ERROR": "Sorry, I could not connect to a live agent. To help resolve your issue you can type 'start over' and rephrase your question, or I can create a service desk request where someone will follow up with you. Which one would you like?",

              "LIVE_CHAT_CONNECTION_SUCCESS": "Please wait while I connect you to a Live Agent.  From here on responses to you will be from a system generated message or from a Live Agent.",

              "LIVE_CHAT_MAXIMUM_CONNECTION_ERROR": "Sorry, there are currently no live agents available. To help resolve your issue you can type 'start over' and rephrase your question, or I can create a service desk request where someone will follow up with you. Which one would you like?",

              "LIVE_CHAT_CONNECTION_AGENT_OFF_HOURS": "Sorry, but the Live Chat desk is currently closed.  To help resolve your issue you can type start over and rephrase your question, or I can create a Service Desk Request.  Which one would you like?"

            }

          },

          "outputMap": {

            "result": "${actionResult.output}"

          },

          "actionTypeName": "connectToLiveAgentWithResponses"

        }

      }

    }

  6. Save and close the JSON editor.

Task 3: To create a LiveAgentChat - Display Topics node

  1. Navigate to the LiveAgentChat – Login node. 
  2. Create a child node and name it as “LiveAgentChat - Display Topics”.
  3. Specify the following condition for If bot recognizes setting:
    $result != "" and $virtualChatTopics .contains('label') == true

    See the following screen capture:

  4. Open the JSON editor for Then respond with setting.

  5. Replace the existing text with the following text:

    {

      "context": {

        "sys_options": "$virtualChatTopics"

      },

      "output": {

        "text": {

          "values": [

            "$result"

          ],

          "selection_policy": "sequential"

        }

      }

    }

  6. Save and close the JSON editor.

Task 4: To create a LiveAgentChat - Topic Selection node

  1. Navigate to the LiveAgentChat  - Display Topics node. 
  2. Create a child node and name it as “LiveAgentChat – Topic Selection”.

    Important:

    You must create the LiveAgentChat - Topic Selection node as a child of LiveAgentChat - Display Topics node only.

    See the following image:

  3. Specify the following condition for If bot recognizes setting:

    $virtualChatTopics .contains('label') == true

  4. Open the JSON editor for Then respond with setting and replace the existing text with the following text:
    Important:  The messages in blue text are the default messages. You can modify the messages to suit your business requirements.

    {

      "context": {

        "summary": "<?input.text?>"

      },

      "output": {

        "text": {

          "values": [

            "${actionResult.output}"

          ],

          "selection_policy": "sequential"

        },

        "action": {

          "inputMap": {

            "chatId": "$chatId",

            "inputText": "$problemSummary",

            "responseByStatus": {

              "LIVE_CHAT_CONNECTION_ERROR": "Sorry, I could not connect to a live agent. To help resolve your issue you can type 'start over' and rephrase your question, or I can create a service desk request where someone will follow up with you. Which one would you like?",

              "LIVE_CHAT_CONNECTION_SUCCESS": "Please wait while I connect you to a Live Agent.  From here on responses to you will be from a system generated message or from a Live Agent.",

              "LIVE_CHAT_MAXIMUM_CONNECTION_ERROR": "Sorry, there are currently no live agents available. To help resolve your issue you can type 'start over' and rephrase your question, or I can create a service desk request where someone will follow up with you. Which one would you like?",

              "LIVE_CHAT_CONNECTION_AGENT_OFF_HOURS": "Sorry, but the Live Chat desk is currently closed.  To help resolve your issue you can type start over and rephrase your question, or I can create a Service Desk Request.  Which one would you like?"

            }

          },

          "outputMap": {

            "result": "${actionResult.output}"

          },

          "actionTypeName": "connectToLiveAgentWithResponses"

        }

      }

    }

  5. Save and close the JSON editor.

Task 5: To create a LiveAgentChat - Error node

  1. Navigate to the LiveAgentChat – Login node. 
  2. Create a child node and name it as LiveAgentChat - Error.
  3. Specify the following condition for If bot recognizes setting:
    true
  4. Open the JSON editor for Then respond with setting.
  5. Replace the existing text with the following text:

    {

      "output": {

        "text": {

          "values": [

            "$result"

          ],

          "selection_policy": "sequential"

        }

      }

    }

  6. Save and close the JSON editor.

Post configuration tasks

After you manually update the Live AgentChat - Login dialog nodes in the IBM Watson Skills, you can configure BMC Helix Chatbot for enabling live chat. Once configured, you can verify that the topics, that are configured in BMC Virtual Chat, are displayed in the chatbot conversation. 

Related topic

Leveraging live chat capability

2 Comments

  1. Hello Team,

    As mentioned in above comment.

    +++ If you are using IBM Watson Assistant Skills created in version 18.11 - You are not required to perform any configurations to use this enhancement.

    If you are using IBM Watson Assistant Skills version 18.08 or earlier - You must manually update the Live AgentChat - Login dialog node and create a few child nodes in the IBM Watson Skills.

    +++

    So as I understand from above comment, for Chatbot version 18.11 & later there is no need to add dialogs mentioned from Task 1 - Task 5

    Please clarify.

    1. Hello Dnyanesh Mahadik

      Thank you for your query. It is correct that for Chatbot version 18.11 & later there is no need to add dialogs mentioned from Task 1 - Task 5. 

      Aaditi