Creating a good chatbot

Building a chatbot is easy. Building a good chatbot requires some skill. Having built dozens of chatbots, we offer some tips on how to make your chatbot a clever success.

1 – Keep it fun

Make your users smile. Provide excuses, lighthearted error messages and responses to unexpected, absurd or even gross user input.

One of the best things you can do, is validate people and give them unconditional positive regard. This will, in turn, foster a very strong connection and relationship between your user and bot.

We support rich media like gifs, videos, audio fragments which can provide a nice break from the usual text messages. For example: maybe you can couple an intent that detects profanity with a gif of a shocked person?

User: Ugh, you suck.

Bot:

2 – Set the right expectations

The ideal bot-onboarding takes your user on a journey that naturally teaches them how to use your product. It makes clear what the bot can and cannot do. Don't overpromise on something your bot can't deliver, it will make for a negative user experience. Instead, clearly limit the scope of your bot and make it work amazingly for the set of tasks you have created it for.

Your onboarding should be a guided experience for your users in which they learn how to use your bot, by, well ... using it. The experience should be inviting, make your users curious, and a gamified process – like the user is playing a game, with rewards, hints and lots of feedback. The experience should be easy and joyful.

3 – Guide the user

Bots should not receive an overload on information. This might misguide them, or make them lose the user’s focus. Keep your messages short and to the point, nobody wants to read a whole essay when they just want an answer to their question.

Bots should prevent a conversation to become stagnant by responding correctly to the user's actions and giving them the correct options. Options also prevent the conversation from reaching a dead end.

You can use buttons with multiple options to eliminate possible misunderstanding. Consider suggesting things the user can do as this helps them discover additional functionality.

4 – Train a good NLP

Chatbots are just a visual layer, the front of the technology. The Natural Language Processing (NLP) and backend integration provide the real intelligence.

Use context and intent combinations to provide deep flows and to enable reuse of intents in different flows. Train intents to recognize entities and extract the information instead of blindly accepting input. Consider the following example:

  • BOT: What is your name?

  • USER X: Carl

  • BOT: Nice to meet you, Carl!

  • BOT: What is your name?

  • USER Y: my name is Carl.

  • BOT: Nice to meet you, my name is Carl!

By providing intents for button titles and button title results you can avoid these mix-ups.

5 – Give your bot a personality

Bots don't have to be just functional. Adding some personality to your bot makes your brand more approachable. Really well thought of stories and bot personalities can be great marketing tools if they are done well.

That being said, don't overdo the personality. Sometimes a user just wants a quick answer to his or her question. For example, users don't want to hear a joke in every message when they have a simple product question. But you can put a joke in the "I'm sorry, I don't understand." dialog to lighten things up.

A good rule of thumb is to make the introduction greeting and thank you message at the end of a conversation fun, but keep it serious in all other messages in between. Optionally, you can add some personality that is available only on request, for example when the users asks "who are you?"

Do I really need a chatbot? Or does a link suffice?

Chatbots are not the magical answer to every question. A link to a well designed information page can sometimes be a faster solution, and more intuitive than a conversation flow. Chatbots are good to provide less friction and make information more approachable. In some cases they work super duper well, but not in all.

UX Guidelines for Designing Chatbots

The Nielsen Normal Group published a great article about the research they did to create UX Guidelines for chatbots. Make sure you follow these while designing your bot!

  • Tell the user they are talking to a bot and not an actual human.

  • Clearly tell people what tasks the bot can do, and what it cannot do. This way you don’t create false expectations.

  • Don’t be overly ambitious: create bots for simple tasks. Complexity is not well handled in a limited bot interface.

  • Tolerate typos and ambiguity. People say the same thing in different ways.

  • Allow people to interact with the bot both through free-text input and selection of links.

  • Allow sorting and filtering to let people narrow down through results.

  • Save information you received in one task for a next one.

  • Program some flexibility into the bot: infer context and allow people to jump forward and backward in the linear flow.

  • Be honest about not understanding something. Offer an escape hatch in the form of a real human, a phone number, or a link to a different help-channel.