Conversational AI
  • Introduction
  • Getting started
    • Getting started
    • Adding content to your bot
    • Capture information with entities
    • Capture information with input validation
    • Reusing intents with context
    • Flow navigation with variables
    • Adding new users to your account
  • Understanding users
    • Natural Language Processing (NLP)
      • NLP threshold
      • NLP Import & Export
      • Train your bot with actual user messages
      • NLP Dashboard & NLP Improve
      • Synonym entities
      • System entities
      • Supported languages
      • Intent templates
    • Expression generator
    • Context
    • Multi-language bots
  • Bot answers
    • Bot dialogs
      • Message components
      • Go To
      • Input Validation
      • Action
      • Translations
    • Conversations
    • Analytics
      • User flow
    • Publishing your bot
    • Events
    • Reuse flows
    • Settings
      • Variables
  • Integrations
    • API integration
      • Advanced API integrations
    • Chat message structure for API's
    • Retrieving data from Airtable (GET)
    • Sending data to Airtable (POST)
    • Human handover & live chat
      • #Interact
      • RingCentral Engage Digital
      • Genesys Cloud
      • Help Scout
      • Zendesk Chat
      • Intercom
      • Sparkcentral (beta)
      • Offloading Webhook
  • Channels
    • Channels
    • Facebook Messenger
      • Facebook Admin Removal
      • Facebook Webview Whitelisting
    • WhatsApp Business API
    • Google Assistant
    • Webhook Channel API
    • Chat widget
    • Phone & voice
    • Workplace from Facebook
    • Sinch Conversation API (beta)
  • Tips & Best practices
    • How to NLP
    • Creating diverse expressions
    • Why is my bot not responding the way I want it to?
    • What makes a good chatbot?
    • How to recognize a returning bot user
    • Gathering user feedback
    • Using time in your chatbot
Powered by GitBook
On this page
  • When is a user handed over to a live agent?
  • Typical patterns that lead to a handover
  • Configuring human handover
  • Human handover bot dialogs
  • Human handover comparison

Was this helpful?

  1. Integrations

Human handover & live chat

PreviousSending data to Airtable (POST)Next#Interact

Last updated 4 years ago

Was this helpful?

Bots are great as a first line of defense. However, they are not (yet) as smart as a real human agent worker. From our experience at Chatlayer, we have noticed that hybrid forms of chatbots in combination with live agents offer the best user experience. This is called human handover or offloading.

When is a user handed over to a live agent?

You can configure when a user is transferred to a live agent yourself by adding a plugin called 'Send to offload provider'. When that plugin is reached, the user status will change to 'Offloaded'. The user will be transferred to one of the three predefined bot dialogs.

As long as a live agent has not taken over the chat session, the bot will remain active so the user can ask other questions and keep interacting with the bot. The live agent will have a full transcript of the chat session with the user available.

Typical patterns that lead to a handover

Human handover, or disabling the bot and allowing a human agent to take over can happen in four situations:

  • User explicitly requests talking to a live agent. E.g. by typing “I want to speak to a real agent”. This can be captured in a separate intent and bot dialog, that refers to the human handover platform.

  • User reaches the ‘not understood’ bot dialog. This happens when the NLP has low confidence in the understanding of the user’s messages. This can be configured to trigger the bot to ask a question “Do you want to talk to a human agent?”

  • User reaches a point in the conversation that is not supported yet. For example, this could be at the end of the ‘send paper to a new address’ conversation flow. The bot will be used to collect the necessary information and when reaching the end of the flow will be connected to a live agent for manual input in the backend system. This is already way more efficient than having the user collect all necessary information.

  • An option “Request live agent” can be added in the hamburger (overflow) menu in both the web widget and Facebook messenger channel.

Configuring human handover

In the Settings menu under Offloading you can set-up a new offloading provider. Chatlayer supports multiple market-leading offloading providers.

The specific configuration will depend on the offloading provider you want to integrate with. Currently we integrate with the most popular offloading providers of our customers.

If you want to connect to a platform that's not in this list, get in touch!

Human handover bot dialogs

There are three predefined dialog states specifically for human offloading.

  • Offloading disabled: human offloading can temporarily be disabled, e.g. due to peak an incident within the contact center. When this happens, the message in this bot dialog will be displayed.

  • Offloading closed: message to be displayed when a user reaches the 'offloaded' state but the live chat is not open (configurable: typically at night, lunch or weekends)

  • Offloading opened: temporary waiting message that is displayed once the user has reached the 'offloaded' state. Typically a message similar to "Please wait for a couple of minutes while a live agent connects to this chat session."

Human handover comparison

Different live chat platforms support different feature sets. Below you can find a list of what's supported by which provider.

Zendesk

Sparkcentral

Genesys Cloud

#Interact

Help Scout

Intercom

Chatlayer.ai widget & channel configuration

✅

✅

Provider widget & channel configuration

✅

✅

✅

✅

Rich templates (buttons, carousels, ...)

✅

✅

✅

✅

Bot history visible to agent

✅

✅

✅

✅

✅

✅

Agent conversations in Chatlayer.ai history

✅

✅

Skill & language based routing

✅

✅

✅

✅

✅

Tags & variables

✅

✅

Intercom
#Interact
Help Scout
Genesys Cloud
RingCentral Engage Digital
Zendesk Chat
Sparkcentral (beta)