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.

Configuring the live chat dialog nodes in IBM Watson Assistant Skills

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.

Warning

To avoid errors, do not delete the dialog nodes after adding them.

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. In the JSON editor, you should see 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": [

            ""

          ],

          "selection_policy": "sequential"

        },

        "action": {

          "inputMap": {

            "chatId": "$chatId",

            "inputText": "$Summary",

            "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

        }

      }

    }

  6. Save and close the JSON editor.

Task 2: To create a LiveAgentChat - No Topics node

  1. In the LiveAgentChat - No Topics node, in the JSON editor, 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.

    {

      "output": {

        "text": {

          "values": [

            "${actionResult.output}"

          ],

          "selection_policy": "sequential"

        },

        "action": {

          "inputMap": {

            "chatId": "$chatId",

            "inputText": "",

            "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"

        }

      }

    }

  2. 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": "<?input.text?>",

            "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

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

Comments