Thoughts on Building Hybrid Bots

Before I get to specifics on building hybrid bots, I wanted to spend some time discussing what makes a successful bot experience. For customer service-focused bots, I believe the keys to success are: (1) narrowing the scope of your bot as much as possible and (2) making sure you nail the bot-to-human handoff. Let’s dive into each piece.

Narrowing Your Scope

You may not realize it but the bar for customer service is actually very high. Aside from a few exceptions, traditional customer service works pretty well because humans are usually pretty intelligent and can easily process millions of different commands. Additionally, people don’t come to customer service to ask simple questions. If they have a simple question, chances are they attempt self-service or Google it and find an answer (reports confirm this).

Given these two simple facts, if your bot is supposed to fully replace a human CSR (customer service representative), it is inevitably going to disappoint customers¹.

But don’t worry — there are still plenty of use-cases where bots are well suited! Need to walk someone through a long form, like an insurance checklist? Bot. Want to send proactive reminders or receipts? Bot. Want to simplify a time-consuming process, like contacting your elected officials? Bot.

What do these examples all have in common? They only do a few things but they do them really well. That is the future for most consumer bots.

Making sure your bot maximizes its strengths is only half the battle. Eventually, your bot will still get confused and that is when you will need to figure out the best way to have a human take over.

Building a Hybrid Bot

There are several factors to consider when designing a ‘hybrid bot’ system for escalating to a human CSR:

  • What channel is the bot on?
  • Do you need to provide a chat interface for the CSRs? Do they already have a CRM that you need to integrate with?
  • How should the hand-off work in the user flow?
  • Should the user be aware of this passover or should it happen behind the scenes?
  • How fast can the CSR respond to a user who is waiting?

The answers to these questions will determine how you proceed in building a hybrid bot. Here are some options and ideas based on my experience researching and implementing them.

Option 1: Facebook Messenger

Facebook Messenger is an ideal channel for bots for two reasons: (1) there is a messaging interface built into the Page admin panel and (2) there is an API to pause the automated responses. Here is a basic flow for the bots I have built:

  • A user triggers the fallback intent or escalates directly (e.g. “Speak to a human”).
  • Your middleware calls the FB handover protocol to pass control to the Page admin interface. Alternatively, another “hack-y” workaround is pausing responses for this user for a specified amount of time. This requires an actual business process discussion and making sure someone will help out the customer in a timely manner.
  • Finally, I generate an automated email for the client with the user’s name, the trigger message, and a link to the conversation inside FB.

Option 2:

For bots that are not on FB Messenger, offers another quick way to build a hybrid bot². It offers a lot of functionality to build a bot that can respond to a user or escalate to a human (including a built-in option to send an email notification). Configuring this is pretty straightforward but here is my basic process and some considerations:

  • Use’s modules to construct your bot flow³.
  • Create an ‘Await Human’ module with some basic text (e.g. “Please wait while we connect you with someone on our team”)
  • For your ‘Bot Statement’ module, add a connection to your ‘Await Human’ module that triggers when someone says the words ‘Help’, ‘Manager’, ‘Agent’, etc.
  • Note: obviously, keyword based routing is very simple. For a more advanced configuration, I’ve used a webhook to pass a custom variable that also triggers the ‘Await Human’ module.

Option 3: Custom build

If you are looking for something more advanced, such as integrating with an existing customer support tool, or have additional privacy/security requirements, a custom build is probably the way to go. One workflow is found in this article. However, I personally feel that this integration is overly complex and would end up being very pricey.

The key to a custom build would be making sure you have four pieces: (1) A front end for users to message (which could be web chat, SMS, FB Messenger, etc.) (2) The NLP engine (3) CSR chat interface to respond to escalated messages⁴ and (4) The middleware to connect everything.

Due to distinct business requirements, I find that nearly all of my projects end up being some form of a custom build (but hey — that keeps things interesting).


I hope some of these ideas are able to help you with your next chatbot project and if you have other suggestions or examples in this space, I would love to hear about them. If you are interested in talking more about bots, especially in the finance and banking space, please get in touch.


  1. It took me a long time to realize this but I strongly believe it now.
  2. was recently acquired and is not allowing new signups. Hopefully that will change soon.
  3. Or you can be really creative and use their webhook module to pass messages to another NLP engine like Dialogflow,, Lex, Watson, etc. Proceed at your own risk.
  4. One option I am interested in exploring is Front.