5 Dec 2018
Building ChatBots: Do’s and Don’ts
Nikhil Satish
#Technology | 6 min read
Building ChatBots: Do’s and Don’ts
Nikhil Satish

ChatBots are a powerful way for businesses to communicate with customers. They eliminate the hassles of installing, registering and learning to navigate a GUI (Graphical User Interface) before a user can finally get what she wants. They live in messaging apps where users are already spending a lot of time.


By being closer to the human end of the Human-Computer Interaction spectrum, they have the potential to build stronger personal relationships than other communication mediums.


But ChatBots are easy to get wrong, and the science and art of them are still in their infancy.  Here are some dos and don’ts for you to help you avoid some common mistakes that people make when they get started on building ChatBots.



Put the value proposition first

There was considerable excitement over ChatBots a couple of years ago and many people jumped on the hype wagon only to see their product fail in the market. There are legitimate reasons to get excited, but we must not miss the forest for the trees. A ChatBot is nothing but a user interface for your service. Like its graphical cousin, the most charming interface cannot sell a shoddy service. People may be attracted initially, but your ChatBot must prove useful if you want them to keep coming back.


Choose the right platform

There are a plethora of chat platforms available today. If you’re building ChatBots that will primarily be used for automating office workflows, then your app will be much better off living on a platform like Slack or Email rather than Messenger.


Include an intro tour and help flow

This is critical for Conversational UIs. Imagine a user installing your bot on Messenger and navigating to the bot’s blank chat screen. Now what? What is the bot capable of? How can he get what he wants from the bot? Unlike a GUI, where there is always something on the screen and (hopefully) one obvious way to get to where you want to go, a conversation is more unpredictable and the technology isn’t advanced enough to deal with the range of possible inputs. Be sure to guide the user on their first time and set up expected flows. Also, include responses for ‘What can you do?’, ‘help’ and other variations thereof.


Detect errors and recover gracefully

Robust ChatBots are hard to build. Even the best bots sometimes fail to understand the user’s intent. When it is evident to the bot that such a failure has occurred it should communicate as much to the user and acknowledge its limitations. Always give the user means to cancel or modify responses. This not only allows the user to correct his previous input but also a way to escape from and retry a conversation that the bot is having trouble with. Imagine the following conversation between a fashion bot and a user:


FashionBot: Are you looking for Formal or Casual wear?

User: Formal

FashionBot: Roger that, are you looking for shirts or pants?
User: Wait, I changed my mind, I want casual wear.

FashionBot: are you looking for shirts or pants?

User: casual wear

FashionBot: sorry, didn’t quite catch that, are you looking for shirts or pants?

User: cancel

FashionBot: sorry, didn’t quite catch that, are you looking for shirts or pants?



Continuing a transaction with a bot being unaware of a misunderstanding that has taken place can also have embarrassing and costly consequences. For example, if a user asks for ‘Two coffee and tea’, there is ambiguity whether he’s asking for two of each or just two of coffee. So, before continuing it is advisable to confirm whether you have understood the user’s intent correctly. In this case, the bot can reply with an unambiguous statement declaring its understanding of the state of the conversation  ‘ok, that’s two tea and two coffee right?’.


Respond to greetings

One of the strengths of ChatBots is that they provide a way of communication with computers that is more natural for humans. And greetings are a ubiquitous part of a human conversation. Not including responses to ‘hi’, ‘hello’, ‘good afternoon’, etc is a surefire way to rob people of a human-like interaction. Consider adding filler words like hmm…, umm… and wait for the output of your bot and certainly deal with input containing those words.

Give your bot a personality

Developers often focus on understanding a natural language to the detriment of generating natural language resulting in odd and artificial seeming conversation. Spend effort on making the responses of a bot to be similar to what a human would say in that context.

Personality adds an extra delightful layer to interaction with a bot. Though we know that the personality is simulated, it doesn’t stop us from deriving amusement from it. It helps keep the user engaged and guessing what the bot will say. But keep in mind the target audience and business value of the bot. For example, it is more appropriate for a business bot to be concise and polite rather than being gregarious and sarcastic which would more suit an entertainment bot.


Include a human escalation protocol

Bots are a great way to speed up repetitive tasks. But they’re far from perfect. And when they cannot address our issue, and the issue is critical, we want to be put in touch with a human.


Do Chatbots for the sake of it

A conversation may be the most natural way for people to communicate, but it may not be the most efficient way for you to deliver your service. GUIs currently dominate for a reason. We humans are extremely good at processing visual input. Consider a hybrid by presenting a GUI whenever it makes sense. Putting the user through a lengthy and complex conversation is not a good idea.



Bots have the power to lend a human angle to marketing. An angle we can trust. Imagine a capable personal assistant who’s always there to help you pick your clothes, schedule appointments and keep updated with the news. Someone who’s always there to help. This is the kind of relationship between businesses and customers that bots are capable of building. Unprompted ads and notifications will pollute this relationship and relegate the bot to the level of spam emails and messages and the user will uninstall it in a flash.


Leave your user hanging

Like in GUIs, don’t go off to do some processing without indicating to the user that something is happening on your end. You may also have seen messages like ‘this will take a couple of minutes’ to inform the user on how much time the processing is expected to take. Do the same for ChatBots. Use typing indicators for short processing times and if it’ll take more than a minute, inform the user.

Read similar blogs

Need Tech Advice?
Contact our cloud experts

Need Tech Advice?
Contact our cloud experts

Contact Us

PHP Code Snippets Powered By :