Analyze and Design the Conversational Flow for a Chatbot
Using a decision tree, draft a chatbot structure and chatbot paths including user choices, decision points, and outcomes while following the lean principles
Author: Tom and Angela Hathaway
Video Duration: 9.09 minutes
This KnowledgeKnugget™ is part of this eCourse
Figuring out how to show the flow or the conversation is not easy. Turns out that it is often a personal preference that makes the difference. We are going to introduce three methods that have worked for us.
In this video, we will introduce Lucidchart, a free online tool for drawing diagrams of all kinds and a great tool for thinking your way through the logical paths of a chatbot before you start creating it. This is powerful regardless which chatbot platform you choose.
You will learn how to evolve a decision tree that represents the flow of a conversation without considering the wording of each element. In addition, you need to present the logic of capturing user choices and determining when to turn the chat over to a human.
The video also demonstrates how to structure and design a complex condition that simplifies the entire conversation flow.
Udemy Course: Build, Publish, and Monitor Chatbots
Define Chatbot Interactions with Conversational Flow Analysis
To design the conversation in a logical and structured way you need to define conversation paths. Each path will lead the user from the beginning of the chatbot to the best outcome for them based on their individual goals. Each of the user goals that your chatbot needs to satisfy has one or more corresponding deliverables.
In an earlier video, we discussed how to define the decisions along the way that are necessary to guide the user to a goal or deliverable. Summarizing the result of our Case Study, we identified that BAXBY, our lead generation bot, has the following user goals that our company wants to satisfy.
- Training and Services
- Workshop or Coaching
- Inquiry, Callback, Life Chat
- Books, Courses, Coaching
The outcomes or deliverables of these user goals fall into two main categories – Services and Training. Our main goal is to satisfy the user’s goal of either learning how to do business analysis or helping them to get a business analysis task completed.
Chatbot Outcomes Determine Chatbot Paths
If the user is looking for services such as workshop or coaching, we want the bot to offer live chat or a contact request. If they are looking for training, we want to recommend lean or agile business analysis books, self-paced online courses, and instructor-led live classroom programs for their preferred approach (Waterfall or Lean / Agile).
Armed with that information, we can now start to create a decision tree. I like to use a tool called Lucidchart which is available online. They have a free version that gives you access to a lot of different diagramming types but the one that we are interested in is the decision tree diagram.
Represent Chatbot Structure and Conversation Flow in a Decision Tree
Our goal is to create a breakdown of how we are going to help users get from their original intent to a recommended solution. We start the chatbot with a welcome message that we have already created in an earlier video.
We will use color coding to help us understand the difference between a bot message, a choice, and information that we want to provide to the visitor. Yellow means the bot is asking the user a question. Blue squares are choices or decision points for the user. At this point, we do not know or care about the look and feel of the chatbot. We care only about the logic.
Our chosen chatbot development platform, Landbot, also offers a persistent menu which I will explain in a different video.
Landbot Chatbots Support Conditional Logic (If-Then-Else)
As we know, the first user interaction after we have greeted the visitor, is whether the user is looking for training or services. That leads us to add the possible outcomes (blue boxes) for training and services. Following the training decision path, we need to know what kind of a software development methodology (SDM) they are looking for. Is it traditional (aka Waterfall) or is it a lean / agile approach? The possible responses that we decided on are:
- don’t know or unknown
We will need this information later in the chatbot conversation. Fortunately, our chatbot platform Landbot allows us to use variables to capture and remember user input. We create a variable called SDM (Software Development Methodology) and use it later to decide on which of our products are the best fit for this visitor.
Expanding the Chatbot Path to Include More User Choices
In either case, whether you said lean / agile, traditional, or unknown, our next decision point is how you prefer to learn. Do you like to learn by yourself or do you prefer to learn with a business analysis coach or mentor? The options we decided to give the user here are:
- read books
- watch video courses
- work with a coach or mentor
If the visitor chooses the coaching route, we want the chatbot to offer the “speak to a customer service representative”. The visitor should have the option to chat now or to give us contact information and we will contact them later.
If they are looking for books or video courses, we need to add some conditional logic. Conditional logic basically says that we will use the variables that we have captured such as the SDM to determine which products we want to display for this visitor. At the end of the conversational flow, we use the collected information the user has provided during the chat to satisfy both lean and agile as well as traditional software development methodologies. If the user selected “unknown” as the SDM choice, we define another condition.
Building a Chatbot Should Follow Lean Principles
When you create the first version of the chatbot, keep lean principles in mind. Create a fairly simple chatbot and later, when you have some user feedback, improve the bot. For example, if we learn that a lot of people go down a particular path, we may actually want to expand the chatbot to include more choices. This is a lean approach to creating a chatbot as opposed to trying to figure out every possible choice and option up front.
To get the biggest bang for the buck, develop the bot in a manner that it will satisfy one group of customers – ideally the most lucrative group. Then you can analyze your chatbot statistics and see how the bot is performing. This way, you can focus on improving the most used paths and not waste time improving paths that nobody is choosing anyway.