A Botany of Bots

A small toy wooden robot stands in a field of grass.

A Botany of Bots

Some different types of chat bots, and what they are good for.

Chat bots, like the one lurking in the bottom right hand corner of this page, are a highly flexible communication tool. There are a lot of services out there offering different flavors of bot, so let's talk through what the different types are.

Types of "Bot"

A Live Human Chat

This offers a link to start a chat with a live human (if one happens to be available). For a busy website, this might involve being queued to wait for the next available agent. For a smaller website, this might mean starting to chat, then waiting until an agent comes back online to answer your query, perhaps a few hours later, or the next day if you are in different time zones. In my experience, once you get connected, the live human chat is very efficient and avoids the ess-as-in-sam frustrations of a telephone conversation. Great for engaging with phone-shy folks, or people who work in open-plan offices or commute by public transportation. Not so great if it strains your availability or frequently results in a frustrating wait. Example: purechat

A Scripted Bot

The bot on this page is following a script. You may be able to make some choices, but the flexibility is limited. If the script is well-tailored to your needs, you might not really notice. Simple scripts can be produced quickly and without requiring specialist knowledge. More complex scripts can offer a lot of flexibility by integrating with databases or other information sources (probably requiring a programmer). Because these bots don't involve a human agent, they are inexpensive to operate, and are available instantly and around the clock. Example: ArtiBot

An Artificially Intelligent Bot

Using Machine Learning, people are developing fully automated bots which can have a free-form, unscripted conversation with a human. These are intended to combine the 24/7 availability, instant responsiveness, and lower operational costs of a bot, with at least some of the flexibility of a human agent. With any Machine Learning, there are potential privacy and ethical concerns, as well as energy usage issues. Developing and training an AI enabled bot requires specialist programming skills. Using a commercially provided bot will probably raise privacy issues that need to be considered carefully. Example: Rasa (open source, expertise required to train, good privacy controls), MobileMonkey ("free" as in you're-the-product)

A Blended Approach

A common strategy is to combine an automated bot with a live bot, assuming that an 80/20 rule is in play and the automated bot will be able to answer the most common queries. Usually this takes the shape of prompting the human to ask their question, offering a smart-ish menu of canned choices in response, and escalating to a human if none of them were the right solution.

Many customer service/helpdesk apps take this blended approach, referring you to automatically-suggested helpdesk articles and offering some scripted bots and sales sequences. Check out Intercom or Zendesk. Their fees do add up, especially if you combine multiple services, but if it's a good fit for what you need, then the integration and full-service approach may be worth the investment.

Same Bot Time, Same Bot Channel

Bots can be installed on a website (like this one), by adding some JavaScript code which connects to a bot service.

Bots can also operate on any text-based interface. We frequently interact with bots using SMS (e.g. text STOP to XXXX). Social media chat bots are popping up on Facebook Messenger. And programmers have, for years, installed helpful scripted bots on their group chat rooms to respond to common commands. (Along these lines, here's a curated list of bots available for Slack chat rooms.)

Now, many bot providers now are offering multi-channel bots where the same business logic can be accessed via a variety of channels.

For example, Resist.bot, which helps you easily contact your elected officials, offers its interface via SMS/text message, iMessage, Facebook Messenger, Twitter, and Telegram. (Try it out, send the text NEARBY to see petitions in your area, or RESIST if you know what you want to send. You can even send a letter to the editor to your local paper.)

Microsoft's Bot Framework, a tool for programmers to use to develop bots, contains adapters to a large number of channels.

Certainly, if you are making a big investment in developing chat tools, it makes sense to want to maximize the use you get out of them. However, different channels can have different communication styles or conventions. One well-crafted and well-attended tool will be more effective than an ill-fitted kitchen sink, so make sure this really makes sense for you.

What's Your Widget?

An 80/20 approach, that is offering some automation to answer the most common questions you receive, along with providing a predictable and reasonable response time frame for those questions requiring a human touch, is likely to offer the most benefits to both you and those you are trying to communicate with.

I'm wary of the privacy implications of large-scale machine-learning-backed tools. While they may offer low prices and off-the-shelf convenience, it means that your conversations and your data will be mined in ways you can't control, and in the long term this may damage your reputation. If you have a specific use case where an AI-enabled bot would make a huge difference, then look at Rasa, where at least you have control over what data is used for training and how it is applied (and you can be transparent about this with anyone using your system).

I'd love to chat with you about what type of chat widget might make sense for your organization. Talk to the bot to get in touch with me. We'll talk about the bigger picture of what questions you most frequently have to answer, what your communication goals are, and what type of bot (at what price point) makes the most sense.