Bot-Human Collaboration

To help you with the conversation inquiries, we provide a conversations distribution through agents (as customer service agents). However if you are not willing to spend your resources to pay for some agents, then we already provide a solution you may like. That is by providing a bot integration feature that will enable a collaboration between human and bot in dealing with customer inquiries

Bot Integration

Qiscus Omnichannel Chat has provided a URL for your bot to hit back whenever any messages come to your bot, as depicted in the image above. To connect your bot to Qiscus Omnichannel Chat, just follow this steps (We assume you already build your bot).

Step 1 : Send Message To Qiscus Omnichannel Chat From Bot

Point your Chatbot engine to hit Qiscus Omnichannel Chat URL in STEP 1. So, get a copy of STEP 1 URL and make it the default URL to hit into whenever any messages coming for bot to response to,

When your bot making a post to Qiscus Omnichannel Chat, you will need your Qiscus Omnichannel Chat app credentials, such as: Agent ID (This will be your bot ID), App ID (AppCode), and Qiscus Secret Key. All this information has been provided in the bot integration page.

For more information about what type of message that has been supported in Qiscus Omnichannel Chat, please visit Message section#send-message

  1. Grab your bot Webhook URL and paste it into the provided bot Webhook URL field in the bot integration tab as shown in the image above,
  2. Click connect button.

That's all.

You can use this API for managing various behaviour of message. There are several type of message that bot can post to a chat room, instead of text (default). Each message has different payload format (particularly in JSON/JSON string).

1. Send Message Text

Base URL:

HTTP
Copy

URL:

HTTP
Copy

Headers:

HTTP
Copy

Body:

JSON
Copy

An example request of send a message with default type (text):

curl
Copy

2. Send Message Attachment

URL:

HTTP
Copy

Headers:

HTTP
Copy

Body:

JSON
Copy

An example request of send a message with attachment:

Bash
Copy

3. Send Message Button

URL:

HTTP
Copy

Headers:

HTTP
Copy

Body:

JSON
Copy

An example request of send a message with button:

curl
Copy

Bot cannot post Button message type to chat room to Instagram, WhatsApp, and WhatsApp Cloud API channels.

4. Send Message Carousel

URL:

HTTP
Copy

Headers:

HTTP
Copy

Body:

JSON
Copy

An example request of send a message with carousel:

curl
Copy

Bot cannot post Carousel message type to chat room to Telegram, WhatsApp, and WhatsApp Cloud API channels.

Step 2 : Webhook From Qiscus Omnichannel Chat

In the step 2, you will need to put /endpoint so that Qiscus Omnichannel Chat can pass the data from end-customer to your chatbot platform.

Your /endpoint will be getting this kind of webhook payload :

JSON
Copy

Then, you will need to process the data. Once you done process the data, you will need to do Step 1 above to send message to Qiscus Omnichannel Chat, so that the end customer can receive the chatbot response.

This Webhook feature can be used beyond just chatbot integration, it also can be used to send customer message from Qiscus Omnichannel Chat to your own data processor.

This Webhook functionality can be used to other than Chatbot, it can be used to data ingestion from Qiscus Omnichannel Chat to your own data processor as well. For example to stream all of the customer message to your data lake or warehouse.

Global Activation vs Local De-Activation

Whenever this bot feature is activated, all incoming messages will be handled directly by the connected bot. That's why we have a global activation and local de-activation terms. It means that this bot feature can be activated/deactivated globally to handle all incoming messages, but it can also be deactivated locally. So if you want to turn this feature off for certain rooms, just do so by toggle it off in each room you want it to be handled by human. And by doing so, your bot will never get any messages in specific rooms.

Bot Human Collaboration

Sometimes, bot may fail to meet customers expectation for their inquiries. Therefore, Qiscus Omnichannel Chat provides a feature to help customer services (agents) to collaborate to handle unanswered question by bot, we call it Handover. This feature can be utilized by calling a handover endpoint Qiscus Omnichannel Chat API in bot's action. The idea behind this handover mechanism is by not passing any incoming messages to bot. So whenever bot webhook hits this endpoint, it will toggle off bot for specific room to receive any messages.

In doing so, there are several scenarios you may come up with,

  1. By intentionally asking bot to handover the active conversation to available customer service agent.
  2. By using sentiment analysis. So whenever user stating any negative message, it will activate handover.
  3. By counting unanswered question. For example, if bot is unable to answer three times, the conversation will automatically be handed over to customer service.

Below are the couple endpoints API you can call in your bot action,

1. Handover bot to agent in certain chat rooms

This API will turn off the bot in certain chat rooms. When you use this API, a pop-up about Handover Request will appear on all roles (admin, supervisor, and agent) Inbox pages if one of the chat rooms is opened. whoever gets this pop-up can assign an agent to the chat room by clicking Accept and go to chat or ignore the pop-up by clicking Decline and close.

URL:

HTTP
Copy

Header:

HTTP
Copy

You can get APP ID (AppCode) and Secret Key from Setting page.

Body

HTTP
Copy

Response:

JSON
Copy

2. Handover to a specific Agent Role

This API will turn off the bot in certain chat rooms. You can specify to which agent's role your bot has to handover its conversation. For example, if for one case your customer wants to talk to a Billing agent, you can enable your bot to do so by specifying that role when calling our API endpoint for handover. The rest will be taken care by system. The API works only if Auto Agent Allocation is on.

Header:

HTTP
Copy

URL:

HTTP
Copy

Body:

role is any role name you specify in Qiscus Omnichannel Chat in lower case

HTTP
Copy

Response:

JSON
Copy

Handover agent to the same role via bot.

The Bot cannot assign the conversation to another Agent that is in the same division. For example, if the conversation has been assigned to Agent 1 from the Marketing Division, then The Bot will not be able to assign it to another Agent from the Marketing Division.

Please check the response below.

Response:

JSON
Copy

3. Hide Handover request pop-up

You can hide handover request pop-up from appearing on the Inbox page by following these steps.

  1. Go to Setting and select Agents Management,
  1. Click Other Agents Inbox Setting and enable Hide handover request dialogue from bot to agent toggle.
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
  Last updated