About Conversational AI

A Beginner’s guide to designing smart chatbots

At Haptik, one of the world’s largest chatbot platforms, we have now been working on chatbots for over 4 years, starting way before they became cool 😎. I joined the company about halfway through this journey as a “UX Designer for Chatbots”. Coming from the traditional background of designing interfaces on web/mobile apps, I had absolutely no idea what designing for chatbots meant. It seemed like an interesting challenge to build for a completely new interface using core first principles of product design. Fast forward to today, and I have now designed more than 50 chatbots across various domains and use cases. So far, it’s been a thrilling ride and hence, I’d love to share some learnings which may help you build a great chatbot.

First, it’s important to understand what a chatbot actually is. I like to define it as an interface to get a task done via a text or voice-based conversation with a robot, sometimes aided by a human. It’s simply not a machine masquerading as an individual, but actually a new interface after the GUI, in some circles being referred to as a CUI (Conversational User Interface).

There is absolutely no doubt that technology is the foundation and binding brick of a chatbot. AI-powered chatbots are pure magic! Through Machine Learning algorithms, chatbots can learn appropriate answers to specific user queries over time, for which they no longer require training. But the actual impact of this miraculous technology can be witnessed only if the user is able to understand what the chatbot says and likes it. It’s like interacting with your user and the difference between saying “Comfortable & Luxurious 4 seater convertible car” and “a contraption, powered by a turbocharged internal combustion engine and able to carry 4 objects of max 90 Kg each.”

Well designed chatbots are always use-case driven and have a personality.

Why is a personality so important for a chatbot?

To give some context, let’s look at this example!

Remember this guy? This is one great example of “How to learn boring MS-Word techniques, in a fun way”. That’s how personality plays its role in engaging users. It usually is out of curiosity that users always want to see what the bot says next. This makes the product all the more engaging and leaves the user with a delightful experience.

Let’s look at the basics of designing a chatbot!
Chat works best if kept short and simple. Here are the 10 steps to make a chatbot:

First, consider use-cases where chat works best to solve a user query. Start building your product around those use cases.

Next, define the exact goal of the bot.

On the basis of the set goal, work on the personality and tonality of the bot. The tonality of the chatbot is very important as it defines how the bot shall respond to the end user.

Now, list out the specific tasks a user can perform with the chatbot. Make the task-flow on a paper/whiteboard.

Convert the task-flow to a chat. Write a script and build a prototype of the script, on chat.

Here are some frequently used prototyping tools:

🎨 Botsociety- It’s a web-based software with all the chat elements for different chat platforms like Facebook messenger, Google home, Slack etc. This helps in making the prototype quickly.
🎨 Sketch + Marvel- You can easily get templates for chat elements online. Start making artboards with messages and make them flow on a marvel app. This helps in making prototypes which are very specific to your messaging platform.
🎨 Whatsapp- Simply steal your friend’s phone and start typing on your and his phone. Take screenshots and (please) return his phone once you are done 😛

So far, this was the easy part. Just about 10% of the work.

Here’s where the hard work begins:

All content required for building the chatbot, such as personality questions, chatflow, headers, tasks, break responses etc. must be collated in a common excel sheet. This acts as a handoff kit from the designer to the developer, for him to start building the chatbot.
Once the bot is developed on the bot builder platform, start interacting with the actual chatbot.

Ask test users to have conversations with the chatbot. You will notice exactly where the chat flow is breaking.
P.S. – Quality check is VERY important!

Once you realize where the bot is breaking, keep training your bot continuously. Make note of all experiences and use cases which were missed in the first place and work around them.

Now, some overtly creative users will start asking random questions to the bot. Train your bot to say “no” in a subtle and polite way. The bot must clarify specific tasks that he can assist with.

Pay special attention to casual talk. Simple words like ‘Great!’, ‘Howdee!’, ‘Hello!’ etc. should have well-crafted responses, based on the bot personality. This form of casual talk helps in strengthening the chatbot’s personality.

Tips and Tricks for building an engaging personality for your chatbot:

TIP 1: Give directional cues to the user
A chatbot should ask relevant questions from the user and provide suggestions that are simple ‘tap to answer’ message buttons. This helps in utilizing the chatbot’s capabilities to the fullest and understanding instances where the bot needs training.
If the user does not know what to say, the chatbot must come up with suggested tasks that he can perform for the user.

TIP 2: Connect with the user on a personal level
An effective chatbot should probably start by asking the user who he is, how he’s feeling etc. Basically, it’s good to start the conversation and break the ice. 🙂

Taking the user’s name frequently, greeting him, congratulating him etc. are some practices, which make conversations more personalized.

TIP 3: Sometimes, it’s all about timing
In some use-cases, it takes certain amount of time to process the user’s request. In such cases, add fillers to keep the user engaged. Don’t keep the user waiting!

TIP 4: Add emotions to your conversation
A big part of chat is emotion.❤ The emotion behind your conversation should be in accordance with the purpose/goal of the bot. If the user has accomplished a task, give a cheerful response. If the user could not accomplish a task, feel the inconvenience and convey it in the correct manner.

The right kind of emotions depend on the personality of the bot. UNLESS YOU ARE DESIGNING – A “Hodor bot” 😛

Hence in most cases, emotions should be based on context of the situation.

Well designed chatbots work best!

Interestingly, a chatbot has the ability to provide solutions to numerous use cases with a common interface. There’s hardly any need to learn new gestures, UI elements or navigation.
For example-

Example 1

Example 2

In summary, when it comes to chatbots, copy is the new design. This is the ultimate mantra for designing a magical chatbot. The personality of a chatbot is built out of relevant use-cases. As a bot builder, you must design a chatbot with a clear goal of getting a task completed instead of leaving it open to imagination.

Think we helped you design better chatbots? We’d love to hear your thoughts in the comments section or you could reach out to us here.

2 thoughts on “A Beginner’s guide to designing smart chatbots”

  1. The post is good, although I did not go through completely, as reading through all this is quite boring.

    I found Haptik very interesting, and wanted to know more about it, but reading through is a tough job.

    Is there any other means to define , what is Haptik and what it does?

    1. Hi, Rohit.
      Thank you for reaching out to us. Haptik is one of the world’s largest chatbot platforms. Using artificial intelligence we’ve built more than 100 chatbots across BFSI, Utility, E-commerce, Telecom etc. Haptik builds customized chatbots for publishers, advertisers, and enterprises to serve customer and business needs. You can read more about us at http://www.haptik.ai
      Team Haptik

Leave a Reply

Your email address will not be published. Required fields are marked *