Designing Your Chatbot
Chatbots are amazing tools and can do wonderful things for your business, from closing more sales to reducing the workload of your customer service team to keeping your audience engaged with your brand over time.
No matter how chatbots fit into your business, they can be very valuable assets. But, just like a website or a marketing funnel, for a chatbot to be effective it needs to be carefully designed around the goals you expect it to achieve.
Types of Chatbots
Before you get too deep into your chatbot design, you should have an understanding of the two basic types of chatbot interactions (keyword-driven and NLP driven), and put some thought into which styles you want to use for which aspects of your chatbot. You can read more about the two types here.
What should you prepare?
Don't skip this process! But, don't overdo it...For most bots, it is not necessary to spend days laboring over extensive design documentation. Don't let the suggestions below cause your momentum to get stalled by analysis paralysis. Even an hour spent on these efforts will put you way ahead of where you would be if you skipped this part of the process entirely.
We recommend at least briefly defining some key points before you start building your bot in earnest:
What is the primary goal of your chatbot? Is it to generate more leads on your website? Provide better customer service? Sell more products? Whatever it is, it's worth jotting down. A chatbot can do a lot of different things, and it can be easy to get distracted and make your bot try to do too much at once. Having a primary objective (at least one at a time) will help your bot keep its focus.
A qualitative goal like 'Reduce ticket load for customer service agents' is great - critical even - for guiding and focusing the design of your chatbot, but it's not a very useful tool when it comes to ensuring your chatbot is effectively improving your business. In order to validate that your chatbot design is working, and therefore continuously improve your chatbot's performance, you need tangible, quantitative goals you can measure. Rather than "Reduce ticket load" your quantitative goals should be numeric, like:
- * Reduce daily tickets per agent by 10%
- * 15% conversion rate on conversations started to sales closed
- List out one or more specific targets, and then keep them in mind when building and evolving your chatbot and make sure you measure your chatbot's performance according to these targets as accurately as you can.
Your bot is not human, and you certainly shouldn't try to fool your users into thinking that it is - you would lose their trust! But even so, your chatbot will have some kind of personality. Either an intentional personality you design that aligns with your brand and your bot's reason for existing, or an accidental one that is simply a result of the conversation structure and the copy you write. It's worth spending a little bit of time thinking this through, to ensure that your chatbot's style and tone match the audience, context, and purpose of the bot.
Conversation Flowchart / Spreadsheet
This step will take the most time but is also the place you will get the most reward for attention to detail. An automated conversation, unlike an organic human conversation, does not just happen naturally. You have to intentionally design it.
Your chatbot has some goals for your users, and your conversation needs to guide your users to achieve those goals while at the same time being somewhat flexible in the face of unexpected input.
At a minimum, you should sketch out the main conversational flows, what questions you want to ask (including the copy), the different paths the conversation may take based on your user's answers, etc.
- There are a couple of good, free tools we like to use when designing our bots flows: https://draw.io for diagraming and flowcharts and https://sheets.google.com if you prefer to use a spreadsheet. For bigger and more complicated bots, you might use both.
We have found
Hillary Black's free eBook on conversation design (and the great template you get with it) to be very useful in our own chatbot design work.
List of intents and training phrases (if you will be using NLP/AI)
If you plan on building all or part of your bot using Natural Language Processing through our Dialogflow or Wit.ai integrations, you will have some extra homework to do (though the results will pay off in the end). You will need to think through what intents you want to support in your chatbot, and gather together some training phrases for each intent from your historical user data. That process is beyond the scope of this article, but you can read more about NLP/AI and Flow XO via Google's Dialogflow here, and via Facebook's Wit.ai here.
Rules of Thumb
- Keep your sentences as concise as possible. Nobody likes to read a wall of text during an interactive conversation. Break your messages into bite-sized pieces, and sprinkle in some images, videos, and opportunities for the user to interact during long interactions to keep your users engaged. Even just asking users a question with a single option to answer like 'Got it!' or 'Let's go!' can help keep people engaged.
- Always build in an option to talk to a human. Even a perfectly designed chatbot will encounter situations where the user is not able to get what they need from the bot. You should provide some way for people to reach out to a person. This can take the form of human handoff to a live agent, but it can also be simply allowing your user to leave a message, which your team can respond to when they can. Flow XO supports both.
- Plan for the unexpected You won't be able to anticipate everything people will say to your bot, so make sure you have a 'catch-all' flow that can handle any kind of input and, at a minimum, tell the user that the bot can't understand.
- Monitor errors Unless your flows are extremely simple, at some point, they will encounter errors. Maybe an integration to your CRM does not get the data it expects to add a new lead, or a service you rely on has an outage. It's a good idea to set up error notifications so you are aware when your bots fail in case you need to intervene.
- Add in some small talk Your bot doesn't have to be all business all the time unless it is addressing a very serious topic. Teach your bot to respond appropriately to some human Smalltalk like questions about the weather, or how it is doing today. This will go a long way towards making your bot feel more natural.
- Monitor your bot with Google Analytics Flow XO provides built-in analytics, which we are in the process of expanding and improving. But hooking up your account to Google Analytics can provide some additional insights that will be useful to you when improving the performance of your bot.