In this guide, you’ll learn how to answer your customer’s questions promptly creating a FAQ Bot with Flow Builder. We are going to set-up and make use of the Answer FAQ step on top of an existing communication flow (the one in our Recognition Intent guide). Consider using the FAQ Bot Solution if you want to get to a quick result, just keep in mind that this will be less configurable.
- A MessageBird account
- WhatsApp for Business account or any other channel from MessageBird's offering
- A workflow to handle the messages—Flow Builder
- An Inbox account
- A published Intent dataset—Intent recognition is one of the building blocks for a chatbot functionality as it helps to categorize a message based on its content. You can follow our step-by-step guide if you don’t have one. Although this step is not mandatory for a simple FAQ bot, this guide will be based on it so we highly recommend using it for better results.
How is it possible to automatically answer frequently asked questions?
To automatically find the answer to frequently occurring questions, we’ll use machine learning. We’ll also take away all the complexity involved in building and deploying a machine learning model and make this work perfectly just by providing examples that describe the use case. The only thing required from you is to create and publish a dataset containing examples of the question-answer pairs.
Step by step
We’ll set up a flow for the fictional online t-shirt selling store and automate the responses for common questions—even if they’re asked in slightly different ways.
Step 1: Create a dataset
1. Log in to your MessageBird Dashboard and go to Knowledge Bases.
2. Click Create new data set
3. Select FAQ dataset type and name it General
4. Select English
5. Hit Next and choose Input manually
Step 2: Populate and publish our dataset
1. Our goal here is to define a dataset containing answers to commonly asked questions. For each answer, we want to have multiple questions that can lead to it. We’ll define 2 answers and 5 example questions for each.
- Have at least 2 answers per dataset
- Try to come up with example phrases that are mutually exclusive (don’t strongly overlap).
- The more example questions per answer, the better
This is how a populated data set looks like:
2. Did you fill in the intent examples? Awesome! Time to publish the dataset. Press the Publish dataset button in the upper-right corner.
Keep in mind that depending on the size of the Knowledge Base, it can take a few minutes for the algorithm to learn the data. After 5-15 minutes, the published changes will be updated and your new dataset will be available and ready to use!
You can see an indicator of that process in the Datasets overview page. Once your dataset Available, the publishing process has been completed!
Pro-tip: You can update an existing dataset by clicking View & Edit. After you make your changes, don’t forget to publish your dataset again. The older version will be active until a new version is published.
Step 3: Connect it all in the MessageBird Dashboard
1. Log in to your MessageBird Dashboard and go to Flow Builder.
2. Select a flow (or create a new one). For this example, we are going to build on top of a communication flow that we built in the Intent Recognition guide.
3. In our flow, we receive messages from an Omnichannel trigger (WhatsApp in our case). This message goes through a Recognize Intent step which categorizes the incoming messages based on their content. We then use the Branch step on the detected intent and check if it is “sales” or “finance”-related. If that is the case, we directly notify the respective team. Otherwise, messages fall under the “general” fallback intent and we want to automate the responses to as many of them as possible. Therefore, in the else branch we’ll add an Answer FAQ step with the following options:
- Knowledge Base - “General”
- Question - drag and drop the “incoming message” variable
- Fallback text - set it to “fallback”
- Output variable - set to “answer”
After that, add a Branch step and put it after the Answer FAQ step we just made. From the options, create one branch that checks for the value of our answer variable.
- If the answer variable is equal to “fallback”, we want to make a support ticket, so we add the Create Inbox ticket step there.
- For the else case, we add a Reply to channel message and set that to return the content of our answer variable.
Done? Awesome! The final flow should look like this:
4. Publish your flow in the top-right corner of your screen, and you're good to go!
5. To try the flow, initiate a conversation with your WhatsApp or chosen channel. Check out this demo video to see them in action!
And that’s it! 🎉 Now you know how to answer your customer’s questions promptly creating a FAQ Bot with Flow Builder.
Improving FAQ answers
Once the FAQ answers workflow is live, you can optimize how well it is able to recognize questions by adding more examples to the knowledge base. You will have the most impact by adding feedback, if questions are not recognized or incorrect, you can check the incoming messages and add them to the examples in your knowledge base or manually correct the question that was predicted.