They schedule your meetings. They answer your support queries and they even take your Taco bell orders.
Chatbots are now all over the place and Facebook Messenger has become one of the greatest hubs for them (11.000 bots and counting!)
We have previously written how conversational design can improve your product (with examples). And in this guide, we are offering a more hands-on overview of how to build bots for Messenger platform.
Let’s get to chatting (or botting?) 🙂
Step 1: Define Your Objectives
So why do you want to develop a chatbot in the first place? What’s in it for you as a publisher and what’s in for your users?
Here’s the list we created for April – a simple chatbot made by Alty’s developers.
- Generate leads.
- Offer a more interactive sales channel.
- Drive traffic to our website.
- Test and learn more about the chatbot development in general ☺
- Easier and faster access to information.
- Novel and more engaging experience.
- Quick help & support.
Of course, your business objectives may be different. There are a lot of other great benefits that chatbots can generate for your business:
- Improve sales & influence customer purchase decisions.
- Increase customer engagement and retention.
- Speed up the shopping process.
- Entertain and educate your audience.
- Offer better customer care and reduce the support reply times etc.
So, grab a pen (or open a new Evernote file) and jot down your objectives first.
Step 2: Prepare Your Toolkit
This section may sound more interesting for chatbot developers, rather than business owners. Yet, with all the new tools out there, making an educated choice for your project can become a bit overwhelming.
So, here are some tips on all the options you have.
For April bot, we have used Chatfuel – an intuitive drag & drop bot builder that requires hardly any coding. It’s an excellent tool for creating a simple, yet intelligent chatbot to “test the grounds”.
Api.ai is a more advanced conversational design platform, which allows designing artificial intelligence chatbots, powered by their machine learning algorithms. It supports multiple integrations apart from Messenger, including Skype, Slack, Kik, Line, Telegram, SMS, Twitter and more. So, if you plan to build a chatbot for Telegram, look into this option first. The platform also supports rich dialogs, includes extensive knowledge packages on weather, news, flight schedules and more. Also, it was recently acquired by Google, so we should expect more cool functionality soon-ish enough.
Wit is a powerful bot engine, which allows creating both text and voice-based chatbots. Plus, it comes with a bunch of pre-made recipes for developers, which reduce the time required for coding.
Flowxo is another popular drag & drop chatbot builder. The cool feature here is that you can write the bot once and then deploy it to different platforms simultaneously.
If you want to build a chatbot in Node.js, look into Microsoft’s Bot Framework. Though it was originally designed for Skype bots, they now offer additional integrations for Slack, Facebook Messenger, texts/SMS, Office 365 mail and a few other platforms.
Also, you may want to grab Bot UI kit for Messenger from Mockuuups.
NB: The majority of platforms mentioned above are either paid or freemium. Apart from the toolkit, you are also receiving hosting space for your bot. When calculating the chatbot development cost, you should also account for that.
Considering that you plan to create a chatbot for Facebook Messenger, you will need to set up your Facebook app first. Next, setup the webhoots and generate the page access token. Subscribe back to the Page and the app.
Now you need to test if everything works fine. You should be able to receive messages from the webhook and send text messages, rich and/or structured data. Also, you should be able to handle postbacks interactions from users.
Head over to the official Messenger platform for more insights on development.
Now, let’s move on to the more existing part.
Step 3: Create The Initial Outline of Your Bot
So the last thing you would want for your bot is to sound dummy. The best chatbots always have the next elements in place:
- A sweet introduction message clearly outlining how the bot can help e.g. tell the weather, accept your order, suggest services etc.
- Custom persistent menu that facilitates navigation.
- Buttons, cards and pre-suggested replies to guide users and speed up the conversation.
- AI elements (optional) that would help the bot render more complicated user queries and difficult language.
Step 4: Create an Effective User Input Validation Frame
Validating user input is simple with standard interfaces. You can just create a pop-up box notifying the user to add/fix the information before proceeding. But with chatbots, things are a bit more complicated.
People can talk to your bot the way they please. Hence, you need a few workarounds for capturing and refining the commands. Here are a few good ideas for that:
Add hints: that could be done either via buttons, pre-suggested replies or merely prompt the kind of answer you expect.
H&M chatbot is really good at this:
Use lists: Facebook has this handy lists format, which allows you to present the information more accurately.
Always confirm user’s input: Before moving on to the next question, confirm what the user have previously chosen.
Suggest what went wrong: If the provided data isn’t accurate enough, explain what went wrong and what kind of a reply to bot needs before proceeding.
Also, don’t forget that there are a few different ways to say the same simple word e.g. Tuesday/Tue/Today. You may want to teach your bot to catch these subtle things.
Also, account for typos and different spellings. Normalizer is a handy library featuring common abbreviations, over 4,000 commonly misspelled words and helps converting UK/CA spelling to US English spelling.
Step 6: Work On Your Copy
Users want to deal with chatbots in two cases:
- If they are entertaining
- If they are useful and help them find the required information faster
Here are a few copywriting tips to help you strike the right balance in this case:
Keep the message simple and concrete. Still wondering how Tramp managed to win the elections? Some say that he’s been pretty smart with his word choice:
- He uses very concrete words. Those you can instantly visualize and which are just 1-2 syllables long.
- Emphasizing the ending. He tends to repeat the last word a few times to cement the thought.
- Keeping it short. He chooses short words and forms short sentences with those.
He’s speech is so effective as it requires the Low Cognitive Load to understand. That’s exactly what you should aim for with your chatbot copy.
Keep it gradual. Don’t reveal all the functionality you have in stock. First of all, it may confuse the users. Secondly, to keep your users engaged drip-feed them the information one step at a time. They should open new knowledge gaps and close the old ones as they navigate the conversation.
Jokes and emojis are great to make a chatbot sound more “human” as long as they are dropped in the right context.
Avoid using gender-specific pronouns as you never know who’s on the other side of the interface.
Write a different set of canned replies to make the conversation sound more natural and engaging. A repetitive bot looks dummy.
Step 7: Create a Simple Navigation Flow
Ok, so conversations happen quite sporadically. But you need to organize that messy flow into a streamlined experience for the bot to render.
When crafting the chatbots navigation and user flow, do account for the following:
- Reduce the manual data input to the bare minimum. First, that would reduce a number of inaccurate questions/replies. Next, a lot of folks use chatbots from mobile and typing lengthy messages isn’t really comfortable.
- Make sure there’s always an obvious next step available.
- Include two navigational ways – through menu/buttons and using free text input.
- When the bot can’t help, offer a quick connection to the human assistant or link to the self-help portal.
So that’s how you build a simple, yet sweet Messenger chatbot. Of course, you may want to include more advanced features and AI-powered components, but that’s a whole other blog post topic ☺
By the way, apart from chatbots, we also develop iOS and Android apps, both for startups and enterprise-sized companies. You can always reach out to us using the contact form below!