Those tips will help you to build the most efficient conversational interfaces. You do not need to apply all of them, as some might be counter productive. Set your goals, test your hypothesis and experiment until you find the solution that works best in your case.
This guide is printer and PDF friendly, and is licensed under a a CC BY-NC-SA 4.0 license.
Visual elements help to understand, and make choices easy. If you are running a formal chatbot, you can still use "serious" emojis as icons, and use them only in your buttons.
Do not leave your user without option. Even if you implemented a great AI that understands what your users send you, they need to know what to do. Use embedded buttons, custom keyboards and quick replies: people usually want to type as few as possible.
People may send the same information in various way. For instance, they could send a location as an attachment, or send the address as a text. They could also send emojis as stickers or GIFs.
The illusion of choice helps the user to understand the conversational mechanisms. No matter what the user choose, the outcome will be the same, but the user should not realize that.
Do not let people guess the features of you bot. Clarify the goal as soon as they onboard, or even in the bot description - the text displayed before starting a bot - when possible.
Chatbots are not as intelligent as the human they may replace. That's why you can forward your messages to real humans. Really useful in case of out-of-scope questions, or sensitive customer support.
Too many choices can be confusing. Try to keep the number of possibilities limited, to ease the decision-making process.
Longer texts require more attention. Keep each text short and simple to read, as most people tend to read quickly. If you need to send an article, you might instead use a link to a blog post.
When you are asking questions, make sure to give intermediate results as soon as you can. It allows to keep the user motivated, and will see that it worth to continue.
You may except a specific answer, but the user may type synonyms, change the punctuation, write uppercase, add emojis, use another metric system, another language. Be polyvalent.
Use the context to can make the conversation more personal: use the name, the age, the last known location or refer to an earlier conversation. Make the user feel that the bot is already tailored.
Depending on the platform you are using, some user's data is already available: name, language or timezone for instance. Do not make the user enter a known information.
A bot may be formal, speak like a child, among many other tones. It totally depends on the use case. You can try a - slightly - different style on few users to test their reaction. Don't forget that even when you are formal, short sentences are often required.
Allowing your users to start over again can be useful in multiple cases: some people may be locked in a dead-end, some may regret their previous choices, and some played with the bot want to have a more serious conversation.
Instead of describing something, send a photo or an illustration. After all, "an image worth a thousand words", and it also makes your conversation more entertaining.
Some platforms, Facebook Messenger for instance, allow users to forward message by clicking on a button. Use it to increase virality of your bot.
Users can make mistakes. Allow them to correct what they filled, especially with sensitive data. It is even more important if you are correcting the inputs, for instance by extracting an address from GPS coordinates.
Giving an identity to your bot makes it more friendly and increase interaction. As messaging platforms are less formal than emails, you can try to make your bot more human - but do not pretend it's one.
Some texts might be too long to read on a messaging context. When it is not possible to write a shorter text, you should separate it into multiple messages.
Instead of telling what your chatbot will do, explain how it will benefit the user. You can use that in texts, but also in buttons.
The existing interface components are dramatically improving the user experience, by making information clearer, reducing typing, and providing more intuitive choices. Also, they do not need to get new habits.
Even if you are used to emails, resist to the temptation to collect email addresses. Use the chatbot as a main channel to contact your audience.