Chatlayer Documentation
Get in touchAbout Chatlayer
  • Welcome
  • What's new
  • Send feedback
  • start quickly
    • Leadzy tutorial
      • 0. Introduction
      • 1. New bot, new block
      • 2. Understand your users
      • 3. Collect and display user input
      • 4. Steer the conversation with Conditions
      • 5. Empower your bot with Actions
      • 6. Set up a channel and publish your bot
    • Templates
      • Banking
      • E-Commerce Returns
      • E-Bike Shop
      • E-Scooter Support
      • Feedback
      • Find Nearest Location
      • GPT
      • 🆕Gym
      • Job applications
      • Knowledge base AI template
      • Lead generation
      • 🆕NPS
      • Restaurant
      • Retail
  • navigation
    • Analytics
      • Dashboard
      • Customers
      • Conversations
      • User flow
      • Intents
      • 🆕Funnels [Beta]
    • Bot builder
      • Flows
        • Canvas functionalities
        • Collaborate with team members
        • Manage your flows
        • 🆕[Beta] Export and import flows
      • Bot dialogs view
      • Translations
      • Events
    • NLP
      • Dashboard
      • Intents
      • Expressions
      • Entities
      • Train
      • NLP settings
      • Improve
    • Knowledge base AI
      • Add content to your KBAI
      • Build your KBAI flow
      • Use your KBAI source URL in a button
      • Use tags to limit your KBAI content
      • 🆕Use Tables to store your KBAI questions
      • 🆕Manage handover where KBAI is unsatisfactory
    • History
      • Conversations
      • Execution logs
      • Versions
    • Channels
    • Tables
      • Create a table with records
      • Column types
      • Operate on your records
        • Insert record
        • Update record
        • Retrieve record
        • Delete record
      • API
    • Settings
      • Bot settings
      • Offloading
      • Variables
      • Voice
      • Import/Export
  • build your bot
    • Conversation design
      • Plan your bot
      • Conversation design workflow
    • Flow logic
      • Blocks
        • Message
        • Condition
        • Collect input
        • Action
      • Go-to connections
    • 🆕Emulator
    • Tips & best practices
      • Route your flow depending on the time
      • Improve the Not understood block
        • How to create better not understood messages
        • Not understood counter
        • Not understood Google search
      • Go to previous block
      • Recognizing a returning user
      • Skip introduction message
      • Route your flow depending on the channel
      • Reuse flows
      • Connect two bots to each other
  • understand users
    • Natural language processing (NLP)
      • Basic NLP concepts
      • Detect information with entities
        • Match entities
        • Contextual entities
        • System entities
        • Composite entities
      • NLP best practices
        • Word order and diversity of expressions
      • AI intent booster
      • Train your NLP
      • Context
      • NLP import & export
      • Sentiment analysis
    • Languages
      • Supported languages
      • Make your bot multilingual
      • Change language within the conversation
  • set up channels
    • Add a channel to your bot
    • All channels
      • 🚨Facebook Messenger [Deprecated soon]
        • Facebook Admin Removal
        • Facebook Webview Whitelisting
        • Facebook Messenger API updates for Europe
      • 🚨Google Assistant [Deprecated soon]
      • Webhook
      • Web
        • 🚨Web V1 [Deprecated]
          • Customize web widget
          • Live example web widget
        • 🆕Web V2
          • 🆕From Web V1 to V2
          • 🆕Web V2 methods and options
    • Sinch Conversation API
      • Configure your Sinch Conversation API
      • 🆕 Make the most of RCS with Carousels
      • WhatsApp Business API
  • integrate & code
    • API calls
      • Configure your API integration
      • Advanced API features
      • V1 API Reference
      • Custom integrations 101
    • Code editor
      • [Example] Sending data to Airtable (POST)
      • [Example] Retrieving data from Airtable (GET)
      • [Example] Making SOAP requests
    • App integrations
      • Airtable
      • Freshdesk
      • Freshdesk Messaging
      • 🆕Gmail
      • Intercom
      • Mailgun
      • OpenAI: GPT-3, ChatGPT and GPT-4
      • Salesforce
      • 🆕Slack
      • Topdesk
      • Zendesk Support
      • Zendesk Sunshine (beta)
    • 🆕Expression syntax
    • Human handover & live chat
      • Sinch Contact Pro
      • #Interact
      • Genesys Cloud
      • Offloading Webhook
      • Salesforce Service Cloud
      • Sparkcentral by Hootsuite
      • Zendesk Chat
    • Chatlayer messages specifications
  • Publish
    • Publish your bot
      • Publish a flow
  • Analyze & maintain
    • Analytics definitions
    • Data retention
    • Maintenance
    • Session
    • Track events for analytics
  • VOICE
    • 🆕Send bot response as audio
    • Voicebots
      • Create a voicebot
      • Voicebot-specific actions
      • Test your voicebot
      • From chat to voice
  • access & support
    • Identity & Access
      • Single Sign-On (SAML SSO)
    • Billing & subscription
    • Get in touch
    • Chatlayer glossary
    • SaaS Regions & IP Ranges
    • Status
    • Debug your bot
      • No correct response
      • Collect input not working
      • Video isn't working
Powered by GitBook
On this page
  • When is a user handed over to a live agent?
  • Typical patterns that lead to a handover
  • Best practices
  • Types of live chat platform integrations
  • Configuring human handover
  • Human handover comparison
  • Human handover blocks

Was this helpful?

  1. integrate & code

Human handover & live chat

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

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 blocks.

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.

Once the agent-platform has accepted the offloading request, Chatlayer will pause the session. From this point onwards the bot will temporarily not respond to the user. When the agent sends the customer back to Chatlayer, the session will get unpaused and the bot will start the conversation again.

Typical patterns that lead to a handover

Human handover, or disabling the bot and allowing a human agent to take over can happen in three 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 block, that refers to the human handover platform.

  • User reaches the ‘not understood’ block. 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.

Best practices

The perfect human handover integration has a few key characteristics that help the agent resolve the customer's problem more easily

  • Skill-based routing: make sure that your bot can detect the type of problem your customer is having, and route the user to the right agent immediately. You can use intents for this, but buttons also work.

  • Tags & variables: bots are great at gathering input. Need to know a customer's name, e-mail address and which products they bought? Have the bot ask those questions, and send that data to the agent when the customer is handed over.

  • Make sure the agent can see the last messages sent between bot and customer. This will give them some context about the conversation, helping identify the problem more easily.

Types of live chat platform integrations

There are two basic types of live chat integrations. The main difference lies in how they manage channels.

Chatlayer controls the channels

  • When the handover is triggered, the live chat platform is notified about a new conversation

  • The agent takes over the conversation. The bot is put on hold.

  • All messages will continue to be sent through Chatlayer, so they can end up at the right channel.

  • Examples: Genesys PureCloud, HelpScout, Salesforce ServiceCloud

Live chat platform controls the channels

  • The channels are linked to the live chat platform itself

  • Chatlayer is linked to the live chat platform. From the Chatlayer perspective, the only channel for this bot is the live chat platform itself.

  • When a user starts talking to a channel, the conversation is sent to Chatlayer by the live chat platform.

  • The Chatlayer bot sends messages back to the live chat platform, which sends the messages to the channel.

  • When a conversation is handed over, Chatlayer notifies the live chat platform.

  • When an agent takes over the conversation, the live chat platform stops sending messages to Chatlayer.

  • Examples: Zendesk Chat, Intercom, Sparkcentral by Hootsuite

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.

Human handover comparison

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

Sinch Contact Pro

Zendesk

Sparkcentral

Genesys Cloud

#Interact

Help Scout

Intercom

Salesforce

Webhook

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

✅

✅

✅

✅

✅

Human handover blocks

Effective immediately, newly created bots will no longer be equipped with default offloading blocks, including offloading disabled, offloading closed, and offloading opened. Instead, you'll be able to employ the offloading destinations fields, allowing for a smooth and seamless routing to various blocks depending on the outcome of the offloading request. For those who are already utilizing the existing template, rest assured – your current bots will maintain their functionality and operate just as they have been.

Within the destinations settings, you now have the flexibility to fine-tune the bot's behavior for various offloading states when offloading is open, disabled, or closed:

  • 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 block 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."

PreviousExpression syntaxNextSinch Contact Pro

Last updated 11 months ago

Was this helpful?

The channels are directly linked to Chatlayer (in the tab)

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

Channels
Offloading Webhook