ServisBOT Connect Worker

Summary

ServisBOT Connect worker allows for Human Handover experiences for customers that do not have their own livechat system. Features are limited to agent joining and agent leaving events. There is no Queueing at this time.

Using a ServisBOT Connect worker, bot builders can design an experience where:

  • Bots hand over to an agent in a third-party portal.
  • Agents can send pre-configured quick responses
  • Agents can leave the conversation

Providers

This worker supports Providers, and each type will have its own config. Currently we only have support for Mitel as a provider.

Note that {{servisbotConnectId}} in TargetUri, HistoryUrl, or PreviewUrl fields is resolved to the ServisBOT Connect ID generated on conversation create.

Example definition:

{
  "Data": {
    "Provider": "Mitel",
    "ProviderConfig": {
      "ClientSecret": "abc123",
      "ClientId": "ServiceBotAI",
      "MitelUrl": "https://demo-micc.demo.tech/",
      "Queue": "4f433fd9-8644-48e5-99a6-9dc359788033",
      "TargetUri": "https://console.servisbot.com/connect/{{servisbotConnectId}}",
      "HistoryUrl": "",
      "PreviewUrl": "",
      "TargetUriEmbedded": true,
      "Subject": "Your ServisBOT Connect ID: {{servisbotConnectId}}"
    },
    "QuickResponses": [
      {
        "Type": "message", // Required
        "Value": "message here", // Required
        "Category": "general" // Optional - Responses with the same category are grouped together under the category name
      },
      {
        "Type": "message",
        "Value": "message here" // Responses with no Category are grouped as 'uncategorized'
      }
    ],
    "OnJoinEvents": [ // Optional
      {
        "Description": "Introduce the agent to the user", // Optional
        "Type": "message", // Required - only 'message' is supported.
        "Value": "Hello, my name is {{agentName}}. I am here to assist with your problem." // Required
      },
      {
        "Description": "Request the user's DOB",
        "Type": "message",
        "Value": "Could you please confirm your date of birth before we proceed?"
      }
    ],
    "AutoDisconnectEvents": [
      {
        "Description": "Timer to send a message after 10 seconds",
        "SecondsAfterAgentMessage": 10,
        "Type": "WARNING",
        "UserMessage": "It has been a while since we heard from you. We will disconnect your chat after 20 seconds of inactivity"
      },
      {
        "Description": "Timer to send a message after 20 seconds",
        "SecondsAfterAgentMessage": 20,
        "Type": "DISCONNECT",
        "UserMessage": "The session has been disconnected due to inactivity"
      }
    ],
    "QueueUpdateConfig": {
      "Interval": 30,
      "Message": "Thanks for selecting live chat, your current estimated waiting time is {{estimatedWaitTime}}, and you're position {{positionInQueue}} in the queue"
    }
  },
  "Organization": "steve",
  "Config": {},
  "Enabled": true,
  "Description": "Mitel worker",
  "Id": "ffccb4ee-532e-4a91-acfb-72b24824cee9",
  "Type": "servisbot-connect-worker",
  "Name": "MitelWorker",
  "Status": "published"
}

On Join Events

Adding OnJoinEvents to your connect worker allows it to send messages to the user automatically when an agent joins the conversation.

{
  "OnJoinEvents": [ // Optional
    {
      "Description": "Introduce the agent to the user", // Optional
      "Type": "message", // Required - only 'message' is supported.
      "Value": "Hello, my name is {{agentName}}. I am here to assist with your problem." // Required
    },
    {
      "Description": "Request the user's DOB",
      "Type": "message",
      "Value": "Could you please confirm your date of birth before we proceed?"
    }
  ]
}

Auto Disconnection

Adding AutoDisconnectEvent to your connect worker allows you to send messages and disconnect users N seconds after the agent has sent the customer a message.

{
  "AutoDisconnectEvents": [
    {
      "Description": "Timer to send a message after 10 seconds",
      "SecondsAfterAgentMessage": 10,
      "Type": "WARNING",
      "UserMessage": "It has been a while since we heard from you. We will disconnect your chat after 20 seconds of inactivity"
    },
    {
      "Description": "Timer to send a message after 20 seconds",
      "SecondsAfterAgentMessage": 20,
      "Type": "DISCONNECT",
      "UserMessage": "The session has been disconnected due to inactivity"
    }
  ]
}
  • Supported Types:
    • WARNING: Sends a message to the user/agent or both depending on configuration
    • DISCONNECT: Sends a message to the user/agent or both depending on configuration and then ends the conversation

Auto Queue Updates

Adding Auto queue updates send a message to the user while they are in queue

{
  "QueueUpdateConfig": {
    "Interval": 30, // seconds
    "Message": "Thanks for selecting live chat, your current estimated waiting time is {{estimatedWaitTime}}, and you're position {{positionInQueue}} in the queue"
  }
}
  • Interval - The time between updates being sent in seconds, the minimum is 30 seconds. This is an optional felid, if not present and you have a message it will only be sent on initial joining of the queue
  • Message - The message the user will get. There is two different strings you can replace. They are not required in the message.
    • estimatedWaitTime - the estimated wait time for that user, in minutes
    • positionInQueue - their current position in the queue