Introduction to Chatbots¶
What’s a Chatbot?¶
A bot is a software application that automates a task. A chatbot automates chat.
Chatbots provide a Conversational User Interface, that allows users to interact with your system through a messaging platform like Facebook Messenger. The chatbot can receive input from the user, perform tasks (place orders, fetch information), and respond to the user with text or media.
Example: Hi Poncho¶
Hi Poncho is a simple weather bot that gives you the current weather conditions and forecast for a particular city. While giving you the weather is a relatively simple task, Hi Poncho does it with a giant dose of humor and personality.
Bots with Purpose¶
You’ve got a great idea for a chatbot, and you’re ready to start coding. Before you do, answer this one question.
What is your bot’s purpose?
This isn’t a philosophical question. You need to consider — what actual problem are you actually going to solve for your actual human users?
You may have something you want your bot to do that is great for your company. But what about your human users? If your bot is not serving a real need or desire of your users, they won’t bother engaging with it — or they’ll be annoyed when they do.
Keep your user’s interests and and goals in mind as you create your bot.
Instead of… think about…¶
- Instead of product purchasing, think of order and delivering tracking.
- Instead of promotions and offers, think about education and FAQs.
- Instead of local search, think about personalized recommendations.
Determine what the goals are and then create the conversations to support achieving them.
Thinking Like a Chatbot¶
Of course, once you’ve thought about your customers you’ll have to switch gears to write your chatbot — you’ll have to think like chatbot.
As a chatbot, you’re going to be asked a whole lot of things by a lot of very different kinds of people. In order to provide a great experience for your human users, there are a few things to keep in mind.
Greetings and Salutations¶
It’s important to respect your human users by following a little bit of common courtesy.
- Greet them during their initial experience by introducing your bot and providing a brief bit of information on what they can expect and how to get started.
- You can ask for and incorporate their name into messages to increase the “friend factor”.
- You might want to mention special keywords (like “help” or “menu”) that assist with navigation or if the user gets stuck.
- On subsequent visits, you should feel free to welcome the user back. Keeping track of their activity and last visit can make your bot feel more personalized (“Hi there, Bob! Haven’t seen you in a while!”).
Mix it Up¶
In order to prevent your responses from getting stale, BotCentral allows you to create multiple text responses, one of which will be chosen at random. This is highly recommended so that your humans don’t get bored or feel like the experience is too scripted.
Keep it Moving¶
If you leave it up to the user steer the conversation, it won’t be long before they run out of things to say to your bot. Use encouragement and leading questions to instruct the user on what to do next.
One strategy to keep the things moving is to create a series of conversational gambits that could be called as needed. For example:
- Did you know…
- Feel free to…
- You can always…
In the spirit of keeping the conversation moving, don’t forget to provide some responses to typical user feedback and comments. Users frequently say “Thanks” to chatbots, and ask them questions like:
- What’s your name?
- Are you real?
- Will you take over the world?
Have some responses standing by which inject some personality into your bot. Each of these can also be followed up with How else can I help?
A Little Help?¶
As a way to remind the user of the types of commands or topics your bot will accept, having a default “help” response can be a real lifesaver. Put yourself in the user’s place. What are the types of questions your bot will respond to? Give them strategies for success like:
- Give me any city and I can tell you the weather.
- I can help you track your order and answer your questions about shipping, returns and refunds.
In addition, always create a Default Response that returns when something the user types fails to match any of your other responses. While you can provide some humor here, you can also use this as an opportunity to steer the conversation back on the rails. Set your user up to succeed. Not getting what they want answered, no matter how funny, isn’t useful and they won’t be back.
Baby, Come Back¶
OK, so you’ve figured out your bot’s purpose and user-oriented goals and your conversations seem to be flowing, now ask yourself, “why would I come back?” What can your experience offer that will draw a user back in for more?
Bringing this information back at opportune times can create a more intimate and personal experience with your human.
Required Context Variable¶
There is also a special type of variable called a Required Context. The Required Context is a parameter that is mandatory for a Data Responder to run. If a Responder is triggered, and the Required Context variable is not set, the user will be immediately asked to provide the needed input.
To really learn to think like a bot, look at what happens when a user sends a bot a message.