What makes a good chatbot?

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

Keep it fun

Make your users smile. Provide excuses, relativistic 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.

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

Set the right expectations

The ideal on-boarding takes your user on journey that seamlessly teaches them how to use your product. It makes clear what the bot can and can't do. Don't overpromise on something your bot can't deliver, it will make for negative user experience. Instead, clearly limit the scope of your bot and make it work amazingly for the narrow domain you have defined.

Your onboarding should be a guided experience for your users in which they learn how to use your bot, by using it.

The experience should be inviting, make your users curious, and the process should be gamified. This experience should be irresistible.

Guide the user

Bots should not be overloaded with information, it may misguide or 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 a question.

Bots should prevent a conversation to become stagnant by responding to the actions and giving the user necessary options. Options also prevent the conversation from possible dead ends.

You can use buttons with multiple options to eliminate possible misunderstanding. Consider suggesting things to do as this will help users discover additional functionality.

Train a good NLP

Chatbots are just the presentation layer. Natural Language Processing (NLP) and backend integration provide 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 A: Carl

  • BOT: Nice to meet you, Carl!

  • BOT: What is your name?

  • USER B: 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 gaffes.

Bot personality

Bots don't have to be functional interfaces only. Adding some personality to your bot makes your brand more approachable. Really well thought out stories and bot personalities can even be great marketing tools if they are well executed.

Don't overdo personality. Sometimes a user just wants a quick answer to his or her question. For example users don't want to hear a joke with every message in a customer service conversation, or in a FAQ bot.

A good rule of thumb is to make the introduction greeting and thank you message at the end of a conversation more lightly, but keep it serious 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 often be faster and more intuitive than a conversation flow. Chatbots are there to provide less friction and make information more approachable. In some contexts they work well, but not in all.

UX Guidelines for Designing Chatbots

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

  • Be upfront about using a bot and not a human.

  • Clearly tell people what tasks the bot can do. Make sure you don’t create false expectations.

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

  • Tolerate typos and ambiguity.

  • 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 from one task to the next.

  • 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. Offer an escape hatch in the form of a real human, a phone number, or a link to a different interaction channel.