A Beginner’s Guide to Chatbots and Conversational Interfaces | Heart Internet Blog – Focusing on all aspects of the web

Forget newsletters, forget websites, forget mobile applications. It’s nearly 2018, and the next customer-focused digital channel has just landed. Chatbots are here, they’re conversational and they are the base layer of this new channel.

Everyone is talking about them. Chatbots are automated agents, or software, that mimic human conversation, often using artificial intelligence, and they can interact with both humans and other bots. Some even say they will completely replace mobile apps.

They live on messaging platforms, whether these are text-based (like Facebook Messenger or Skype), or voice-based (like Alexa, Siri or Google Assistant). To understand why there’s such a growing enthusiasm around chatbots, we need to have a look at how people use the internet.

The internet has been, and will always be, a platform that evolves quickly. Thirty years ago, people were only using browsers on a desktop to reach information on a website. Ten years ago, we saw mobile apps and smartphones taking over, and allowing more and more users to access this same information.

We are currently in the process of changing once again the primary platform on which users will access their favourite information on the internet: messaging platforms and chatbots are today’s new power couple. Three main factors are driving this change:

  • Messaging and social network applications represent a quarter of the time spent by people on their smartphone in the UK (The Global Mobile Report by comScore).
  • Voice-only devices are entering the consumer market, like Amazon Echo and Google Home.
  • Artificial intelligence has never been so accessible, so cheap and so easy to use thanks to advances in hardware coupled with a whole suite of developer tools and resources.

Without noticing it, you have probably used a chatbot already. Siri, Cortana, Google Assistant, Alexa — they are all chatbots, quite powerful ones, capable of doing a lot of simple tasks. They are a great way to interact with the device they live on, like Siri on an iPhone, or Google Assistant on an Android phone. They also provide a great way to fetch generic information, but they struggle to complete more specific tasks natively, like knowing how much electricity you used last week, or booking a table at your favourite restaurant. To handle more specific instructions or requests, companies are developing their own chatbots. You can understand why — Messenger alone has 1.3 billion active users.

The good ones: 4 examples of what’s possible with a chatbot

Following WeChat’s success in China, Facebook decided to replicate their strategy for the deployment of bots, launching the Messenger bot platform in August 2016. Today, Facebook claims about 100,000 bots are available on its Messenger platform. Of course, they aren’t all perfect, but here are a selection of my favourites:


Fintech was an early adopter of automation and bots and has reaped the rewards of developing them. Cleo is not a bank, Cleo is “your smart money assistant”. It connects to your bank accounts and gives you basic information like your balances and transactions. But it can also give you some insight into how you spend your money and even the ability to set a budget, based on your salary and recurring bills. Cards, quick replies, buttons, webviews, etc — Cleo uses Messenger’s conversational user interface with perfection. On top of that, Cleo is proactive, and uses relevant (and funny) emojis and GIFs. You get it, Cleo is by far my favourite bot on Messenger.

Screenshot of a conversation with the Cleo chatbot


RemindMe is a much simpler chatbot, but it’s the perfect example of why bots make sense for simple things like reminders. RemindMe uses a simple conversational flow which allows users to set their own reminders. It’s smooth, precise, and practical. No need for a bespoke mobile app, which you can’t access on a browser. That’s the magic of Messenger, you can access it on almost any device.

Screenshot of a conversation with the chatbot RemindMe


Let’s be clear: the Kayak bot is not great, but it’s on this list for a reason. It shows how a company like Kayak.com, which deals with millions of daily user queries, can adapt their system to make it work in a conversational environment. A significant flaw of this bot is that it doesn’t allow a customer to change or cancel their query while inside a journey. On the other hand, a strong feature is its ability to handle what developers call the ‘Random Access Navigation’. As you can see in the screenshots below, whether you use a multiple-steps approach (in which you answer all of the bot’s questions), or you ask for what you want in a single sentence, the bot can understand the location and time requested.

Screenshot of a conversation with the Kayak chatbot


Bounce is one of my favourite bots. I wanted to include this bot on my list because it’s a fantastic example of the huge potential bots can hold for a variety of sectors. We talk about mental health and wellbeing increasingly openly in our daily lives, and Bounce is a Messenger bot that helps its users feel better every day. By using positive psychology and walking users through tiny exercises that can be done in five minutes a day, over time Bounce helps them to strengthen and build resilience in areas including optimism, personal connections, and self-awareness. It also shows that you don’t necessarily need to have a robust Natural Language Processing engine. Bounce cleverly uses quick replies and emojis to guide users through exercises and leaves minimal chance for distraction.

Screenshot of a conversation with the chatbot Bounce

The dos and don’ts

Don’t just port your website to a chatbot

Designing your own chatbot is a complicated task. You’ll find thousands of examples of chatbots that are replicas of online forms or FAQs.

Don’t do this.

You have the opportunity to drive your customer engagement by creating a system that lets users get in touch with and be contacted by you, access their personal information, and find a solution to their problem.

Watch out for your users’ expectations

Be careful when one of your users is using a chatbot. Their expectations are enormous. Because of the nature of the platform (messaging), and the way people already use it to talk to their friends, or to a real advisor, they think they can ask whatever is going through their head at that moment.

If you look at a customer service log, for example, you’ll probably see that users’ first interactions are long. They describe their problem(s), the context, and the situation leading to the issue. It’s a lot of information, and your users are expecting your bot to acknowledge all of it and guide them to a magic solution. One of your primary jobs as the bot designer will be to manage these expectations.

You have multiple ways of doing this and my advice is straightforward: keep it simple, and communicate clearly what your bot can do. If you are clear enough in the very first messages that your bot sends, you’ll probably save your users from a lot of disappointment.

Fail gracefully

Another essential task is to make sure that your bot can “fail gracefully”. Even when you’re doing the best possible job at indicating to your users how to use your bot, some will manage to use it in the wrong way and break it. It’s an essential point if you don’t want to lose engagement. There is nothing worse than a frustrated customer who is annoyed that the chatbot they were using has suddenly stopped answering their questions because of a design flaw. You’ll need to manage this frustration by handling as best as you can the moments when your bot fails.

To help you achieve this, you’ll need to keep a few patterns in mind. “Think P2” is an easy way to remember some key points:

  • Trustworthy: You’ll need to make sure your users are ready to trust your bot to carry out certain tasks on their behalf. Helping your users understand how the bot will use their information to their benefit is an excellent way to improve this trust.
  • Honest: Be honest with your users. Don’t lie, be clear about the fact that the user is talking to a bot, and be clear on what is achievable by using it, especially in the first interactions.
  • Intelligent: Add some AI, even if it’s only some basic Natural Language Processing (NLP). Everyone is different; everyone has different ways of asking something. Introducing NLP will let your bot understand multiple ways of formulating a request.
  • Natural: Make it sound natural for the user. Even though it’s a bot, it lives on messaging platforms, and users will expect to talk to a bot like they are talking to a friend. Use language and vocabulary that conforms to your image. Don’t be repetitive: try to have three or four different formulations for each sentence that your bot will say.
  • Knowledgeable: As users will come to your bot to find the answer, you need to make sure this answer is available. Data is crucial when it comes to designing bots. It needs to be organised, discoverable and accessible.
  • Personal: Make it personal, both for your company, by giving your bot a distinct personality and character traits, but also for your users, by addressing your message directly to them.
  • Proactive: Be proactive, this is how you’re going to create real added value to your bot compared to your website or mobile app. A conversation should not be one participant talking to the other. It should be the two of them talking together. To achieve this conversational flow, your bot should not only be reactive but also push messages, offer insights and give advice of its own accord.

From a UI point of view, it’s a lot easier. As most of the interfaces are simple (or non-existent for voice-based platforms), there are some quick wins that will make your bot seem more human, more engaging and easier to use for users:

  • Simulate typing: for example, Messenger’s typing indicator.
  • Use ‘Quick Replies’: options that will be offered to the users to guide them.
  • Use rich content (images, buttons, GIFs etc).
  • Try to keep your messages as short as possible.
  • Break down long messages into several shorter, more concise messages.
  • Make sure to leave enough time for users to read these messages.

Designing a bot for a voice platform has its own challenges and specificities. It’s unlikely that you will be able to directly reproduce the same conversation flow from a text-based bot to a voice-based one. Here are a few reasons why:

Short-term memory

In a text-based chatbot, you can almost be sure that users have access to the history of their conversation with your bot. When you design a voice experience, you need to keep in mind that your users are probably not looking at their device while querying your bot. It means that if a user is interacting with your bot in a multiple-step journey, you need to keep that journey as short as possible. If the journey exceeds four to five steps, there’s a big chance that users will forget what your bot, or even they themselves, have said during the earlier interactions of the journey.

Input confirmation

When requiring user input in a journey, be sure to confirm that your bot has understood accurately what the user has said. Imagine transferring money to someone using a bot and not receiving confirmation of the bank account number you want to send the money to. How can you be sure it has been sent to the right person? You won’t face this issue in a text-based chatbot, as most users would visually verify the information themselves before submitting their input. In a voice experience, always ensure the bot repeats users’ input and asks for confirmation before triggering further actions.

Discoverability / Help / Repeat

One of the main challenges when designing a voice-based bot is how to allow your users to find ways to use your bot efficiently and easily. It’s even more difficult on platforms without any graphical user interface because you can’t just show them a menu, guide or instructions. Never underestimate how crucial it is to provide clear spoken instructions on how to use your bot. I would say it’s one of the few instances you don’t have to be too concise. They have to be clear, complete, and easily accessible. On a similar note, always allow your users access to contextual help and the ability to ask your bot to repeat itself at any time.

Getting started

Ready for the challenge? Go for it! There’s tons of room for good chatbots to make some noise and attract new users.

And not only is there space, but there are also a lot of tools available to help you make a chatbot, even if you aren’t an expert in the latest fancy JavaScript framework.

You can find all-in-one solutions that will integrate (almost) automatically with Facebook, handle Natural Language Processing and user queries, trigger actions and manage your content. These solutions are a great start, but they can be a bit limited when it comes to personalisation. I suggest either ChatFuel or Dialogflow (formerly API.AI), with their direct integration.

Screenshot of a chatbot being developed with Dialogflow

Dialogflow is one of my favourite tools, because whether you know little about development, want to do something quickly, or are looking for a powerful Natural Language Processing engine and easy-to-use API, Dialogflow is a great solution. It has all the standard features needed to create awesome chatbots. You’ll find most tools will use the same kind of vocabularies:


These are the different type of requests that your bot will be able to handle. See these as the various actions that users will be able to complete with your bot. Each of these will be defined by utterances — several examples of sentences that will be used by the system to compare users’ queries and decide the action to execute.

Entities (Slots / Parameters)

These are specific parameters inside intents. They are optional, but if you want to find out a date, a town, a name, or any variable in a set intent, this is how to retrieve it from the user query.


This is a short-term memory. In most cases, it’s what defines the state of a conversation. For example, if you have created a set of intents following each other in a conversation, the context is what will allow you to chain one intent to the other. You’ll also be able to keep in this memory the entities fetched from the intents.


There you are, now you know everything you need to start designing and crafting your own chatbot. So what are you waiting for… go and get started!


Please remember that all comments are moderated and any links you paste in your comment will remain as plain text. If your comment looks like spam it will be deleted. We're looking forward to answering your questions and hearing your comments and opinions!

Got a question? Explore our Support Database. Start a live chat*.
Or log in to raise a ticket for support.
*Please note: you will need to accept cookies to see and use our live chat service