How to Build a Chatbot – All You Need to Know
Michael Larsen, Head of Customer Success & Academy at BotXO.ai, takes us through the essential steps of building a chatbot. A chatbot project should be easy to carry out, easy to maintain and edit, and bring results pretty quickly. It should meet the needs of the business and potential problems to solve, proper flow and content, and integrations.
To build a chatbot, you shouldn’t need any coding skills. There are many chatbot-building platforms that you can use to develop your bot.
However, there are a few aspects that we usually discuss with customers before starting the process of building their bots. The three main elements that we focus on are the needs of the business and potential problems to solve, proper flow and content, and finally, the integrations.
Choose a Chatbot Suitable for Your Organization
The first questions I ask new customers are:
- “Why do you need a chatbot and how can this chatbot solve your problems or bring value to your organization?”,
- “What answers your customers are looking for?”,
- “Are there any repetitive questions that your customer service receives regularly?”
From experience, I can say that many questions are repetitive, and most of them can have straightforward answers. If a chatbot is built for the wrong purpose, it won’t benefit your users. Having a clear plan for a chatbot will make it functional and useful for our audience. Accordingly, knowing what you need will define the whole design.
I always advise identifying the top 5 categories and 5 sub-categories of questions. These will cover most of the questions asked.
Using historical data to get information can be very useful. However, I bet that every customer service manager or customer agent could wake up in the middle of the night and recite the most asked questions and could give a standard answer to those questions too.
Chatbots for customer service or e-commerce or internal services like HR or IT-support is a very common solution, but they can be built for any kind of organization or project. As in mentioned cases, a chatbot needs a specific purpose to be useful.
What Resources Are Needed for Building a Chatbot?
Building and maintain a chatbot should be quite easy. There should be no need for setting up a team consisting of a project manager, owner of the bot, and IT developers.
Usually, a chatbot can be handled by a single person from any line-of-business position. That is indeed the best person to be an AI-trainer or Bot Operato, because of their extensive knowledge of the questions that customers usually ask.
The experience of any customer service agent is useful because, if the company doesn’t have structured historical data, the knowledge of the customer service agent is enough. It simply needs to be uploaded to AI.
For example, the chatbot for Visma Enterprise, one of Denmark’s biggest HR and Payroll providers, was built on BotXO by a trainee with no IT background.
Think of Existing Channels and Customer Behavior Patterns
If you want to innovate your customer service, you need to always think about the behavior of your customers first.
During my career in a customer success team and as a customer service manager, I have observed that many companies already have a well- defined channel, for instance, the phone channel. Don’t change what works fine – start with that channel first. You might add a chatbot or other channels of communication in addition to it.
Creating a Good Conversation Flow
Build your chatbot based on listening and understanding the demands of your customers and knowing the reason why the customer is contacting you.
A human-to-human conversation has a natural flow. When building a chatbot, you need to replicate it. Let’s call it “conversational design”. As conversational AI should imitate human-to-human conversation, it should be using the same conversational pattern as human agents follow.
The conversation with a bot is a way to represent a company and communicate the message with customers.
It’s a good idea to make the bots’ answers similar to what a human agent would write. Customer service most likely knows the best tone of communication to use with customers.
First, welcome your customer, present yourself, or the company department- depending on what role the chatbot is going to have. The chatbot can speak as an employee, or it can be the voice of the company itself.
The first chatbots used to make users feel alienated because of the lack of personality. For that reason, giving your bot personality might save you from making a major UX mistake.
Always be service-minded by asking questions like “How can I help you?”. When you ask an open question, you will get insights about the customer’s problem.
You will get a lot of data about your business from the customer’s perspective. However, to understand an open question, you will need to use Natural Language Understanding (NLU).
Using NLU in Your Chatbot
A chatbot equipped with NLU can understand the most frequently asked questions.
The main benefit of using NLU is that the bot learns from the data input and interactions with users. Over time, the bot becomes smarter and provides better recommendations based on the customers’ preferences.
After providing the answer, add a follow-up part to the flow. Ask the customer “Was it helpful?”, or “Do you have another question?”. Finally, the conversation should be finished with a proper farewell.
If there are some particular questions, for example, related to your company, you can train the AI by providing different variations of sentences customers are writing.
When the bot operator defines the answers to the questions, you need to think about the intention (or intent) of these questions. If the answer to a question is easy and there is already content on that, perhaps in your FAQs on your website, then use it! You can adjust it to the chatbot format by making it shorter and more precise.
Creating a Fallback and Human Handover
This point is important: a fallback is a default plan to execute when the chatbot is unable to understand the visitor.
Even human agents sometimes fail to understand customers and need to ask something like “Sorry, I didn’t understand your question, could you please rephrase?”. I would recommend having a very clear and precise fallback. Focus on what the chatbot can help with – and if the chatbot isn’t able to help with a problem, hand it over to a human agent.
Your contact strategy will define which channel you want to hand over to. Often, it’s live chat if there is an agent available, but could also be an email, a phone or a web-form on your website. Just like humans would do. If they don’t know the answer to a question, they forward it to another department or colleague.
Think Integrations – and Time to Integrate
When designing your chatbot, you’ll probably want it to be connected to third-party services, to send and retrieve information behind the scenes and use them in live conversations.
Integrations are an essential aspect of building a chatbot because they make communication with your customers easier by providing richer answers.
What this means in practice is generating API requests to third party services. These types of integrations are very powerful, but often require a lot of work to be set up. That’s why choosing the right bot builder can mean lots of hours of work saved.
BotXO’s Webhook builder was conceived to address this problem. The Webhook builder allows you to connect to third-party systems on the fly using RESTful APIs and quickly maps response data. This data is then used dynamically in the conversations between the chatbot and the visitors.
Many times, new customers were telling me that they were informed by the previous vendor it would take 3 or 4 months to integrate to the third-party system. That should be a red flag.
It might take us less than one hour to do that on BotXO. It’s not difficult or expensive to use customer’s APIs. What we need to do is to connect to them and get the information or updates. Most third-party systems have open APIs. Only sometimes, companies need to build an API to get access to the necessary data.
Integrations are not only useful for finding information, but also for taking actions, like updating systems, sending an email, looking up an event in your calendar, handing over a ticket to a CRM.
Imagine a chatbot having access to whatever system, data, and information. With that access, it will be able to provide the status of a delivery, update a profile, ask RPA to take actions (Zapier, MS-flow, UliPath, etc.,). You could even send a joke from a joke dataset, have a weather forecast, traffic information. There are no limits to what you can achieve with integrations. You can check Public APIs to see examples of API.
Use a Template
To save time when building a chatbot, you can use the templates that some chatbot platforms offer. A template can help to start on the right foot, and you can always customize it according to your needs.
It’s easier, faster, and can potentially give better results than a bot built from scratch, especially if the bot operator is a beginner.
AI solutions that commit to fast time to market and fast time to value are those that might put a business ahead of the competition.
Templates can provide major help in that, by usually including the most important questions and already organized data, pre-built NLU-intents, with the possibility to add extra ones. The only thing to do is to refine it for a specific brand and use cases.
A Practical Use Case Example: Coronabot
When Denmark went into lockdown because of COVID-19, we noticed that people had difficulties in finding trustworthy and reliable information about the virus and the government’s recommendations. There was a lot of information, on prevention, treatment, and lockdown rules, sometimes untrue or confusing.
We came up with the idea of making a simple bot that we called Coronabot, to help people to get information from official sources like government and health authorities. People needed accurate and up-to-date answers to questions regarding the pandemic.
When we launched our first version of the Coronabot in Danish, we immediately saw a lot of international interest.
We decided to build the chatbot in English as well, using content from the WHO website. We located the bot on a page on our website, and depending on the user’s location, the bot would automatically serve the user in Danish or English.
Our Coronabot was created as a public initiative: we decided to give free access to everyone and let the users customize the content and add more languages if they wanted to.
The process of building the Coronabot was quick.
First, we identified different questions that people often asked about COVID-19. We used the official websites’ FAQs, but also questions often popping up in the media. We started from defining the question categories (intents), and then trained the bot with example sentences.
We then asked the public to help us with training the bot. I believe it was a very good initiative to involve others and let them contribute to the cause. We had a lot of people helping out by adding training sentences. One of our partners offered to improve the UI for the AI trainer pro bono. It was a collective effort.
Second, we build a search engine where to look up official information, to be used by the chatbot. We identified the official websites having reliable answers to different questions-categories (intents). We made a unique site-search on approximately 15 different sites.
The combination of our AI and site search allowed us to build the best content for the Coronabot.
How exactly? We used Google search API. Our Chatbot would process human language and run a reasonable search query on Google.
This means that we were not simply searching for whatever the visitor would type, but first get the chatbot to understand the underlying reason behind the question and provide results accordingly. Finally, these results, or answers, were presented as dynamic cards in the Chatbot.
Understanding business needs, building a good flow and content based on studying user demand and questions, and implementing the right integrations are key ingredients of making a great chatbot.
The time of bringing a chatbot to life can vary, it may take a few days for the simplest use cases, to a few weeks for more complex solutions. It depends on the scope of the chatbot and people involved in making strategic decisions behind the content of the bot.
The takeaway is to walk away from platforms that require too much effort, too much money, or the involvement of too many people.
A chatbot project should be easy to carry out, easy to maintain and edit, and bring results pretty quickly. The impact in terms of internal productivity, savings, and customer satisfaction should greatly outweigh the costs, for any company.