Bot Building

How I Built My First Chatbot with SentiOne Automate. A Step-by-Step Guide by a Bot Designer

In March 2023, after having spent a few years in the SentiOne Product team, I decided to transition to the Bot Design team. As a Bot Designer, my primary responsibility entails the creation of demo bots – encompassing both chatbots and voice bots – to provide the necessary support to our Sales team.

So, how did I – someone with no prior bot building experience or any technical experience for that matter – learn to build bots? Practice, practice, practice. Of course, you need some basic knowledge to get you started (SentiOne Knowledge Center is a great place to go) but other than that you need to simply work on the bots. Luckily for me, SentiOne Automate (our conversational AI platform for building chatbots and voicebots) is a low-code/no-code tool, so it doesn’t require bot designers to have very advanced technical skills or development background.

In this article, I’m going to walk you through my first bot building experience with SentiOne Automate, as well as share some lessons learnt and practical tips. I wrote this step-by-step guide with professionals like me in mind – beginner bot designers who are new to the AI game, have little to no development experience and want to create great chabots. I truly hope this article will help shed some light on the bot building process and prepare you for your new responsibilities (whether you’ll end up using Automate or another platform). Let’s begin!

A Step-by-Step Guide to Building Your First Chatbot: Use Case

My chatbot building process consisted of the following steps:

  1. Defining the chatbot’s goal
  2. Creating the chatbot persona
  3. Training the NLU model
  4. Building conversation flow
  5. Integrating the bot
  6. Running tests

Let’s go through them one by one.

1. Defining the Chatbot’s Goal

For my first bot development project, I wanted to start with something simple, something I could iterate as I go. At the same time, I wanted to learn as much as possible and so I opted for a bot that could cover many use cases and features. As it’s usually easier to build bots when you’re familiar with the topic, I drew inspiration from my last dentist appointment.

I decided to build a dental clinic assistant that could help patients and support the Customer Care team with the following use cases:

  1. Scheduling appointments
  2. Tooth pain
  3. Broken tooth
  4. Canal treatment
  5. Dental checkup
  6. Diagnostics
  7. Orthodontics
  8. Teeth cleaning
  9. Tooth extraction

2. Creating the Chatbot Persona

Now that I knew the purpose of my chatbot and its industry, I had to establish the persona. I started by creating a fake dental company (SentiDental Clinic). In the image below you can read a short description of what the company does, what is their target group and what they want to achieve by implementing the bot (it’s crucial to know your target group before identifying the bot persona). 

Next, I thought of a name for my bot (Timoteeth), its gender, age, profession, tone, and, finally, personality traits.

I decided that Timoteeth should be friendly, supportive, and patient, but not very serious or official. Then, I defined the scope of Timoteeth’s tasks and coined an example message that matched his tone of voice.

An overview of my chatbot’s persona and company.

An overview of my chatbot’s persona and company.

3. Training the NLU model

NLU (Natural Language Understanding) is a field in AI that allows computers to understand and process human language. For my NLU model to work, I had to implement certain crucial elements and considerations, which in SentiOne Automate include:

  • Phrases

In the phrases module, you need to consider what users may ask your bot when they want to achieve their goal, such as making an appointment. Here you can either use your imagination and experience or ask the ChatGPT plugin to generate some phrases for you.

Examples of phrases matching the “tooth pain” use case. 

Examples of phrases matching the “tooth pain” use case.

  • Intents

The role of intents is to make the bot understand the difference between user goals. Intents organise training data into distinct groups, usually referring to specific actions. Every intent should consist of 10-20 sentences that include common synonyms to teach the bot how to recognise the phrases with different keywords but with the same meaning. The number of sentences should be similar across all intents – for example, you shouldn’t create one intent with 20 phrases and the other one with 60.

Adding intents to the NLU model. 

Adding intents to the NLU model.

  • Entities

Entities offer context to an intent itself. They are often nouns (such as a product or a service), a named object or time and date. They define the goal a user has in mind when writing or speaking to the bot.

Editing entities on SentiOne Automate.

Editing entities on SentiOne Automate.

  • Variables

Variables serve as a way to capture and remember specific information obtained from the user or derived from previous interactions. They can store various types of data such as numbers, dates, names, or any other relevant information. Variables allow the chatbot to access and utilise these values at different points in the conversation to personalise responses or perform specific actions.

For example, if a user provides their name during the conversation, the chatbot can store it in a variable for later use. This stored value can then be used to personalise responses by addressing the user by name.

In summary, variables are dynamic placeholders that store and manage data throughout the conversation, enabling the chatbot to provide customised and context-aware interactions.

Using the list of use cases I defined in step 1, I created intents and entities in the NLU module so it could recognise patients’ problems.

Then, after creating phrases and variables, it was time to train my model using the training feature on SentiOne Automate, which tells the model to learn and store the new information provided to accurately detect the user’s intentions. In other words, via training, my phrases, intents, and entities were verified, compiled, and stored in the model for future use and further bot development, allowing my bot to improve and understand the users better over time.

You can learn more about SentiOne NLU on our help center. 

4. Building Conversation Flow

The Flows module on SentiOne Automate is a simple graphical tool used to create flows of dialog. Flows is a no-code (or low-code, depending on your preference), drag-and-drop user interface with a built-in chat tester. It uses modularity to divide the conversation into different contexts and allows you to see the whole client’s experience from a single perspective.

Using the Flows module, I built all the paths of the conversation by using contexts and blocks.

The Flows module on the SentiOne Automate platform. 

The Flows module on the SentiOne Automate platform.

Once my contents and entities were defined, I could start building my flow. I began with a simple introduction:

Creating an introduction flow for the chatbot.

Creating an introduction flow for the chatbot.

Then, I created the main context called router. This is where you can navigate/redirect users to the next contexts based on their first message (first intent):

Building out the conversation flow.

Building out the conversation flow.

Each time I created a new block in my conversation flow, I’d check if it was working as I intended by using the chat tester. I have to admit, it was very satisfying when it did.

Checking the flow’s functionality with the chat tester. 

Checking the flow’s functionality with the chat tester.

However, building the conversation flow was still the easy part of the bot building process. The real challenge was to create my very first integration.

5. Integrating the Bot

Integrations are used to connect your bot with an internal or external database. Without it, your bot won’t be able to perform basic tasks, such as running the authorization process, checking available dates for visits or other business-specific information for the user.

To do the integration, I used the Knowledge Base on SentiOne Automate as well as asked for some help from the SentiOne Bot Design team which offers workshops and tutorials to our clients. In the Knowledge Base, you can import files (datasets) and use them in your flow. You can also use connectors to download data from different sources (screenshots below).

In the Knowledge Base, you can import files (datasets) and use them in your flow. 

In the Knowledge Base, you can import files (datasets) and use them in your flow.

In the Knowledge Base, use connectors to download data from different sources.

In the Knowledge Base, use connectors to download data from different sources.

Thanks to my first integration, Timoteeth could verify users by asking for their name and contact information (email and a phone number, which I added as optional).

6. Running Tests

Once I was satisfied with the first version of Timoteeth, I introduced him to my colleagues and gathered some feedback and ideas for future development (e.g. creating a confirmation email, tips on how to optimize a number of blocks).

I also had the option to use the Test Suites module to run a few tests there. You can generate Test Suites in the chat tester by talking to the bot and exporting the conversation. When your test is ready, you can run it in the Test Suites module and see the results within seconds. This feature is especially helpful when you want to change or build something new in the bot and you want to ensure you don’t break anything in the process.

Test Suites module on the SentiOne Automate platform.

Test Suites module on the SentiOne Automate platform.

Final Thoughts and Lessons Learnt

Personally, I’ve found the bot building process to be very interesting, engaging, and satisfying. I think the biggest challenge for me was to learn how to integrate my bot with an external API and how to use expression language.

I think SentiOne Automate is a perfect tool for both beginner and advanced bot designers as it offers low-code/no-code capabilities and a lot of automations that make your daily work easier and faster.

For more information about building chatbots, get our introductory ebook. And if you have some bot building questions, feel free to book a demo with our team.

____

Article Summary

SentiOne’s Bot Designer shares her experience of building her first chatbot using SentiOne Automate, a low-code/no-code platform. She provides a step-by-step guide for beginner bot designers, starting with defining the chatbot’s goal and creating a persona. She explains the process of training the Natural Language Understanding (NLU) model by defining phrases, intents, entities, and variables. She then discusses building the conversation flow using the Flows module, testing the bot’s functionality, and integrating it with an external database. She highlights the importance of iterations, gathering feedback, and using test suites for quality assurance.