If you're looking for one of the easiest solutions for your chatbot project, the Basic Support Bot is the right choice. To access the Template, please navigate to the Codemonkey Platform and select the Basic Support Bot Template from the "Create new bot" menu at the top of the Bot List page.
The bot will help solve specific problems and, by incorporating end user input such as contextual information, guide the end user through a process. Here is an overview of its capabilities:
- Answers FAQs as a smart assistant
- Understands end users' needs with the help of AI
- Links to human support
- Integrates with third-party systems to gain additional information
In this article, we will cover the following:
- Step-by-step walkthrough of building a Basic Support Bot
- Groups color framings
- KPI tag indications
- Selected Module configurations
- Global Connections configuration
Step-by-step walkthrough of building a Basic Support Bot
Here, we've provided a step-by-step walkthrough of building a Bot from the Basic Support Bot Template.
- Find the <md>Read me before getting started: Building Guide for Basic Support Bot Template Module. Hover over the Module – a menu will appear. Click on the checkbox on the right side of the menu, titled “Test flow from here”. This article is linked there - please read the other sections below to gain an overview of this Template's features. You can close the chat when you’re finished, then continue to step 2.
On the canvas, find the Module titled <md>Starting Module: Welcome. By double-clicking on it, you open the Module for editing. Change the Bot Messages to your desired greeting, and click “Ok” when you’re done. Get more information on how to edit a Message in a Module. If you feel inspired, we suggest you customize the <md>End chat and <md>‘Yes’ to end chat Modules.
Save your changes by clicking the Save button on the Navigation bar (Shortcut Ctrl + S / ⌘ Command + S also works).
Now, change the name of the Bot. Next to your Bot Avatar in the Navigation bar, there's currently a placeholder (“Basic Support Bot Template Clone”). Click in this box, delete the placeholder, then type in your desired name. The name is internal, so it will only be visible to you and your team.
Configure the list of topics your Bot should cover in the Module named <md>List of topics, paying attention to the Suggested Replies you want your customer to see. It is good practice to use numbers in Suggested Replies, but it is of course possible to type in the desired call to action instead. Try deleting some and creating new ones.
Without leaving this Module, go to the Connections tab. Note that the Suggested Replies of step 6 appear here. Click on each of them to create new Connections. Adjust them as needed (learn how to do it). Go through the other Connections as well – you may want to change them based on other Modules you create or delete, which we’ll cover next.
Create any additional Modules you need, or delete those you do not need. There are three different ways to create a new Module:
From the canvas:
- Right-click on the canvas > Statement; or
- Right sidebar menu > Add new Module > Statement
Within a Module:
When setting up the Go-to connection > Select Module to go to > Create New Module. Please disregard the “Collector” option while creating new Modules for now. This is a more advanced feature, and we will get back to it during our workshops. Don’t forget to save your changes!
- When setting up the Go-to connection > Select Module to go to > Create New Module. Please disregard the “Collector” option while creating new Modules for now. This is a more advanced feature, and we will get back to it during our workshops. Don’t forget to save your changes!
- From the canvas:
Notice the colored frames – Groups – of different Modules, and read about KPI tags. Consider the most logical way to categorize your Bot, and apply it using Groups and KPI tags. This will help you navigate your Bot more easily when it becomes more extensive and complicated.
Next, set up Global Connections. These connections evaluate the End user input and send the End user to a corresponding Module, regardless of which Module they are currently in. In other words, the Bot would be able to recognize a specific topic at any point during the conversation.
Then, decide how your Bot should react when it does not understand the End user's input. It is important to ensure a natural progression of the conversation, such as the Bot acknowledging its inability to recognize user intent. This will be handled by the Fallback Flow, which you can see on the left side of your canvas, marked with the "! Fallback" KPI tag. The reason for multiple Fallback Modules in this template is to allow the Bot to address this issue multiple times without just repeating the same message. Try editing these Modules now.
Now individualize your Chatbot in Bot Settings, found in the right sidebar menu. We suggest you also style the Codemonkey Widget to match your organization's brand guidelines.
Be sure to check out our tips about evaluating the mood of the dialogue and advice regarding the Bot’s approach toward Chatbot output and visitor’s input. Configure the “Evaluation after answer given” Flow – it can be recognized by the KPI 5 tag or Exit Group.
- You're now ready to use what you've learned to adjust the rest of your Modules. Consider all of the content your Bot must cover, and begin implementing any necessary changes. You could start by filling in the categories A, B, and/or C.
You've now worked through the key elements of the Basic Support Bot Template - great work! As you continue to customize your Bot, remember that you can always refer back to this guide for assistance.
Groups color framings
On the bot building canvas, you will find several Modules in different color framings. Each color stands for a specific Module category or group. The overview of the color framing can be found on the left sidebar. From here, you can manage the visibility of selected Groups.
|Color||Module Category (Group)||Explanation|
|Start||Introduction to the conversation with the bot.|
|Fallback||Modules that are triggered whenever the bot cannot understand the end user's input. Learn more about Fallback Modules.|
|Exit||Any Module that relates to the end of a specific conversation.|
|Handover||Linking to human support by triggering a transfer to live chat, sending an email notification, or creating a support ticket, among other methods.|
|Send message||Module category that closely relates to Handover. The Modules provide an information collection flow to gather all important input, before sending out a message to your organization's service team.|
|Domains||Modules that will contain the content that is specific to your organization. It is separated into three different Domains (1, 2, and 3) as we believe that you will have more than one group of topics that you would like the bot to cover and relay answers to.|
|Technical issue||Conversational flow that serves to understand any technical problems the chatbot visitor might face.|
KPI tag indications
You can find Key Performance Indicator (KPI) tags assigned to specific Modules.
- Webhook KPI tag: Indicates all Modules in which a Webhook must be implemented in Module Connections.
- Start KPI tag: Shows the Starting Module. It is important that the checkbox "Make bot start message" is ticked in this Module's Message tab.
- Handover KPI tag: Points to Modules in which a transfer to a real person happens. This transfer can either be connected to live chat or create a message to be received by human agents.
- Fallback KPI tag: Marks Fallback Modules triggered whenever the bot does not understand the end user's input.
- KPI tag 4: Set for Module categories that contain organization-specific content. You may cluster this content following the Domains you have defined for your bot.
- KPI tag 5: Find out how many visits lead to a feedback rating.
- KPI tag 6: Analyze how many users rated an answer as helpful (positive feedback).
- KPI tag 7: Analyze how many users rated an answer as not helpful (negative feedback).
We can now take a closer look at some Module configurations.
Selected Module configurations
To ease your platform navigation, use Ctrl+F (or ⌘ Command+F on a Mac) to look within your bot's canvas for the specific Module titles as listed below.
|Starting Module||Note that in addition to saying hi to chatbot visitors, the Starting Module also sets clear expectations. The bot can, for instance, inform the visitor that simple and short user messages are preferred.|
|Call to action to ask a question||
The chatbot visitor is asked to phrase the request or question. Note that a feature called variation is used here, as the chatbot visitor is likely to come back to this Module. By using the variation feature, you give the bot answers a more human touch.
As this Module is also triggered after providing a helpful answer, it is valuable to separate it from the Starting Module.
Note how the end user's input to the question is saved as a value for the Custom Variable searchQuery in the Module's Connection tab. This variable appears three times as the end user might have more than one query.
The Module connections are configured as such that the bot would check if a value for searchQuery already exists, and if so, save it as searchQuery2 and searchQuery3 accordingly.
|"Okay" to call to action||Bear in mind that in human conversations, people often confirm what has been said previously. In this case, after the call to action to ask a question, your bot must be ready to interpret a confirmation from the chatbot visitor.|
|"Hello" to call to action||Similar to the Module <md>'Yes' to call to action, prepare your bot to answer a "hi" from the chatbot visitor as a possible response to the welcome message of the chatbot.|
|Fallback 1/3, 2/3, and 3/3||
Note that the Fallback Modules are not showing a dotted line in between. The reason for the missing line is that each Fallback Module is connected with the following one by being part of the previous Module's Fallback:
Looking at each Fallback Module's Connections will make this configuration clearer.
|Evaluation after given answer: Was it helpful?||
This Module provides you with insights into the quality of your chatbot's answers.
You may include this Module in the conversational flow after any content-rich bot answer, which is why this Module is a predecessor of the Modules below the Categories. Remember that the Categories contain content specific to your organization.
|"No": Answer was helpful||
You'll likely want to know why a chatbot visitor has rated an answer as unhelpful. Accordingly, you ask the end user for more feedback, offer a transfer to human support, or leave it up to the end user to exit the chat.
By apologizing and creating easy next action options, you can sustain an engaging user journey and raise the understanding of the chatbot visitor.
Note the line [customVariable key=userName fallback="for that information"] in the bot message.
Here, you use the Custom Variable userName, which you have previously collected in Module <md>Collect name.
If the bot could not collect the end user's name, the fallback "for that information" would apply. For example:
If the end user's name, "Max", is collected:
If no end user name is provided (fallback):
|Do you have another question?||
If an answer was marked as helpful, the user is asked to phrase another question. Whatever their question is, it can be useful to save the input in a variable (as it is currently set to do).
Global Connections configuration
If you are in doubt about the general functionality of Global Connections, learn more about it in our article "Basic insights on Global Module Connections".
Note that in the Support Bot Template, Module Connections are preferred over Global Connections. This means that Global Connections are triggered if no Module Connection applies to the input provided by the specific end user or system (in case of third-party integrations).
The Basic Support Bot will understand the following basic Intents at any point of the conversation if Global Connections are not deactivated (Global Connections are deactivated for any Module that starts with "Collect"):
- "Speak to a Human"
- "Waiting on email" (Group Technical issue)
- "System down" (Group Technical issue)
- "Login issue" (Group Technical issue)
- "Error messages" (Group Technical issue)