Is a Human Helping Me? Creating Chatbots that Have Real Conversations

Designing simple, personal chatbots – without confusing your customers.

The next phase of user experience design is chat. Designers will create interfaces that actually have conversations with users, doing anything from helping them through an online shopping dilemma to finding directions. And you’ll do it with chatbots.

A chatbot, or “chatting robot,” is a tiny computer program that complements the website design. They are often somewhat invisible until you need them. And they are starting to show up everywhere. Companies from Slack to Facebook are using chatbots to help users solve problems.

Even if you haven’t had experience with a chatbot yet, chances are you will be asked to design or evaluate a conversational interface component in the near future. Here’s how you do it.

Don’t Pretend to be a Person

The golden rule of chatbot design is not to fake it. Don’t try to trick users into thinking a bot is a person. This will only result in a poor user experience that can be frustrating and cause users to abandon your website.

Think about chatbot-based messages in a different way. When texting from a chatbot, don’t use indicators of reality such as “is typing” while the message is populating or emojis as answers to questions. These are very human messaging characteristics.

Consider labeling chatbot conversations as such. Users appreciate this bit of transparency. Slack does a good job of this: messages from chatbots are labeled with a “BOT” notation. Other messages come directly from the Slackbot, the app’s user persona that is there to provide encouragement and help you learn the Slack interface.

But, Design a Personality

Chatbots shouldn’t purport to be humans, but they do need personality. Whether you design it or not, people tend to assign human characteristics to every interaction, from gender to personality. Create a user persona for your chatbots so that users don’t assign them for you.


Think about what your bot is designed to do and create a persona that matches that interaction. Many chatbots, for example, are designed to provide first-touch customer service experiences. The person of these bots should be friendly, helpful and eager to please. Picture the person behind the counter during the best customer service you’ve encountered and design the chatbot in that person’s image.

Remember to account for surprises with chatbot personas. Your customer service bot may encounter problems 90 percent of the time, but what happens when the user provides positive feedback? The chatbot should be designed to recognize this difference and respond accordingly.

Conversations Should Be Simple

The trick to making all this work is simplicity. Don’t overthink it.

  • Keep phrases conversational and simple when programming things that chatbot is allowed to say.
  • Use conversational language in the user response prompts. (You don’t want to confuse the bot when a use responds “k” rather than “OK.” Along the same lines, the chatbot should be able to contextually know the difference between “OK” (affirmative) and “OK” (Oklahoma).
  • Answers should be short. There’s no need for chatbot small talk.
  • Stick to a relevant response and program the bot to provide an alternative if an answer is unknown.
  • Respond quickly. That’s the benefit of bot conversations. Users should not feel a lag in response times.
  • Pacing, tone and dialog should feel natural and conversational. (This is particularly important for chatbots that have an audial component.)
Kayak's bot (Facebook) can plan your vacation for you.
Kayak’s Facebook bot can plan your vacation for you.

Map Conversation Flows

This is the hard part. In order to provide an excellent bot experience, the designer needs to predict how conversations between a chatbot and user will unfold.

Gather your team and map potential conversation flows to plan for interactions. Here’s a quick overview of the process:

  • Create a high-level set of problems and solutions assigned to a chatbot.
  • Brainstorm message types that will come to the chatbot from users starting a conversation.
  • Create potential dialogs for this conversation.
  • Now you are ready to start programming using the conversations and prompts from the exercise.

Remember to think about keywords as you map conversation flows. Most bots rely on patterns to “learn” new information and relay the correct answers to users. Odd combinations of keywords or unfamiliar dialog using a targeted word can seriously confuse a bot. Continue to update the interface and monitor keyword interactions to ensure the the bot is learning the right information in the manner you desire.

Give Users an Out

Not every chatbot-based conversation will go as planned. Some users will innately be frustrated by the concept of “speaking” with anyone other than an actual person. Provide an out for these users.

Design a button or keyword sequencing that flags the bot that a person is needed to take over the conversation. Understanding that a person might not be available at all times, the correct fallback might include contact hours and information for when the user can place a live call or chat.

Plan for One Conversation Per Bot

Follow this rule: One chatbot assigned to one type of problem. Don’t expect to design a single chatbot that can handle everything.

If you use too many chatbots, your site will start to have a robotic feel to it. Users will disconnect. Chatbots are a good tool, but should just be one of many in your kit.

Always Monitor Bot Conversations

You’ve designed a chatbot to handle a website-user problem and now you are done, right? Wrong!

Chatbot design requires constant monitoring. The feedback loop for this type of design is almost never-ending. Because bots are interacting with live users, situations can change with almost every interaction. Dialog and keywords might shift. The answer to a problem might change.

It is your job to monitor all of this feedback and continue to script and rescript bot interactions so they remain useful to users.


Chatbots Aren’t for Every Application

Ask yourself this question when designing a chatbot: Would a human interaction actually work better in this instance? If the answer is yes, a bot may not be the best option. Chatbots work best in situations where they can provide information faster or more efficiently than a person.

Bots can be great for solving math problems or equations or providing directions. Bots won’t work so well when it comes to providing advice to a teenager about how to deal with a breakup. How do you know what is a “bot-worthy” application? If the conversation requires emotional context or thinking, forgo using a bot. If the conversation has a clear answer, chatbots can be extremely useful.

Many websites use a combination of chatbots and human customer service interactions. Consider your daily schedule. There are hours when you aren’t available. This might be the appropriate time to turn on a bot for simple questions during off hours. (Just remember to program the out, noting hours that a person will be available to answer questions.)


Chatbots have a lot of practical application. If you aren’t already thinking about how to incorporate them into your projects, it might be time to have that conversation.

You can design your own bot – try a tool such as – or download a pre-programmed chatbot from another developer. Bots Place and BotPages are good places to start and include expansive catalogs of bots that work within apps such as Slack, Facebook or text messaging for a number of uses.


Featured image: 

About the Author Carrie Cousins

Carrie is a writer, designer, and editor. She tweets at @carriecousins.