Chatbots Magazine Become a Writer Intro to Chatbots

What little details and functionality should every chatbot have?


(Matt Schlicht) #1

Every chatbot is different, the same way as every website and mobile app is different.

However, it’s very common for websites and apps to have certain features, such as contact pages, FAQs, headers, and footers.

It is likely that there are features like this that make sense for almost every chatbot to have and support. What do you believe those features should be?

For example: I believe that it makes sense that every chatbot should respond with tips, tricks, and guidance, when you send it the world “help”.

[Update] These are the ideas so far:

  • Saying “Help” and the chatbot responds with tips, tricks, and guidance.
  • Saying “Stop”, “Stop messaging me”, or something similar, the chatbot should acknowledge your request and, until otherwise instructed, stop sending you messages.
  • Saying “Menu” brings up a list of ways you can interact with the chatbot.
  • Ability to talk to a human if you have questions or need help. Potentially can be triggered by saying “Contact” and related phrases.

(alyx) #2

“Stop messaging me”-type chats should invoke bot notification settings


(Vinay Chandra) #3

I think having NLP is great but till we achieve nirvana in NLP, it will be nice to help users transition from what they are currently used to doing.

Users are used to using menu driven apps and webapps so the Bot should have an optional menu driven interface for a novice Bot user. Once you get the new user hooked then provide the user tips along the way on how to use NLP or type keywords to get very quick answers.

The early adopters are great and they will try anything and everything but mass adoption will come only if we help the rest of the users in transitioning to the new quicker friendlier way of doing things.


(spynemoran) #4

This. Being able to turn off all notifications from a bot in an easy way. Facebook messenger’s Poncho has such an awful interface to turn off notifications that I had to just straight up block it to get it to stop.


(Ricardo Grobel) #5

I always think about 3 features:

Introduction: If the user don’t know the scope, he gonna try anything, and it’s not a good for the bot and user.

Help - General help about the bot or If the user is in the middle of a process, help him with a context (ex. the user is doing a check-out and type: help, the bot MUST know the context and help him with useful infornation about checkout)

Menu and Persistent Menu - To guide and give a “start over” button to user.


(Niraj Swami) #6

Great question @matt – I feel that the lowest-common-denominator feature of a chatbot should be a deliberately designed predictable personality that establishes a level of familiarity between your ‘solve’ and your users’ intents.

The conversation design would then follow what you define the ‘person’ you want your bot to be. Menus, custom keyboards, emoji-flows, and dialogs then follow.

At Mya, we’ve gone down on paths with crazy intents, and broad features, but the one thing we’ve learnt is that when users talk to bots, a key factor to drive engagement is by sticking true to a personality - it makes context prediction, error handling and our other features more disciplined.


(Cristina Santamarina) #7

A way to get human help - for when all above fails.


(Matt Schlicht) #8

I agree. Kind of like a “contact” button on a website


(Wouter Biegsttaaten) #9

A proper welcome. I know i am talking to a bot but everywhere you look ppl like a warm contact. So a proper Hey How are you today


(@tomhewitson - conversation designer) #10
  1. A clear value proposition statement - what can the bot do and why should I care
  2. A context based help menu when it doesn’t understand the intent
  3. A global help menu the user can access at all times
  4. A way to leave feedback for the team / ask for help from a human

(Alyssa Ong) #11

Adding to the points given, I think all chatbots should be able to handle common phrases/utterances by people. The implementation for this can be as simple as keyword detection (e.g. Hello, thanks, nice, great, swear words, etc), and you can train a model to detect the longer phrases like how are you, who made you, etc). Whether a bot can answer to a simple “thanks” makes a huge difference to the experience.


(Cristina Santamarina) #12

Agree! While testing my first prototype I realised some people would try to write common words and sentences to see what the chatbot’s answer was. I resolved this by setting up some answers to the most common questions: Are you a robot? Are you human? How do you work? How are you? - it’s also fun to play with these flows to hide easter eggs and so.


(Ian Jacobs) #13

Error handling, typically with a little humor. Let’s assume that the chatbot will not be able to understand every utterance or handle every request. Working from that assumption, chatbots need a way to handle those situations in a way that does not cause users to abandon the experience (possibly for good). A little self-aware humor goes a long way in handling those situations.


(brian) #14

Sounds crazy, but the ability to tell a joke. When users are faced with the ability to type an open-ended response to a bot, many default to ‘tell me a joke’ :slight_smile:


(TaijaQ) #15

I agree with what has already been said.

I would add user-friendly debugging for common errors. If the bot doesn’t understand what you want, instead of a blanket “I don’t understand” reply, give some hints where the user might have gone wrong if only possible. So, if the bot understands the object of the request but not the verb, it could say “You want me to do what with [object]?”

Also: variety. Always add a few different phrases for common answers, or if it is important that the message is the same, spice it up with some extra banter or emojis.


(tobias.goebel) #16

We are currently working on some UX Design best practices for chatbots. As part of that, we are planning to handle the following standard “pleasantries” in any chatbot dialog:

HELLO: Any form of greeting, e.g. “hi”, “hello”, “hey”, “yo”, “what’s up”, “what’s happening”, “how are you”
GOODBYE: Any form of saying goodbye, e.g. “bye”, “goodbye”, “farewell”, "see you”, “have a nice day!”
HELLO_GOODBYE: Utterances which could be both greetings and goodbyes for some speakers, e.g. “good morning” “good evening”, “ciao” in Italian, “Servus” in German
THANKS: Utterances that express gratitude, e.g. "thanks”, “cheers”, “I appreciate that”
THANKS_GOODBYE: Utterances that contain both a thanks and a bye. These need different responses vs. pure GOODBYEs. E.g. "thanks, bye!”, “thank you, have a nice day!”
NEVERMIND: Utterances that signal that the user no longer needs further action, or that they want to reject or nullify an action already announced or even initiated by the bot, e.g. “never mind”, “that’s fine”, “nah that’s ok”, “no it’s fine”


(tobias.goebel) #17

Absolutely agree with the variety comment. IVR VUI designers sometimes refer to this as “random prompting”. Even more important in bots, to not make them appear so “dumb”