Modules are the main building blocks when you design your chatbot’s conversation flow.
To add a statement module, you can either right-click and select “Add new module – statement”, or add a new statement in the right sidebar menu. There are two different types of modules: statement modules and collector modules. In this article, the focus lies on statement modules.
The statement module is the most frequently used module mainly due to its flexibility. Among others, you can:
- add free text to the module,
- make the statement responsive to end users' input,
- suggest possible user responses,
- or move forward to the next module without any end user input.
Module ID as a unique ID for conversational flows
The module ID can be found in the upper left corner of a module. When you have just created the module without saving, a negative number will be illustrated. Once you have saved, this negative number will change to the module's ID.
The module ID can be used as a unique identifier for conversational flows. For example, if you would like to train the NLU for intents that would trigger the module's answer accordingly, you can tag the ID to the name of the NLU intent. This procedure might be helpful to keep an overview, but also to organize your conversational flows internally.
Understand the basic tools and functions
Overview of a module's functions
If you hover your cursor over the chatbot, a preview of the text within the module will appear. You will also see a number of different functionalities to edit the module as explained in the following.
This button leads you to the modal where bot messages are defined and adjusted. You can also enter this edit modal by double-clicking the module.
Read more about how to edit a bot message in the article Message of your module.
Clicking on "Edit connections" leads you to the modal where a module can be connected to other modules, where webhooks can be implemented, or where custom variables can be defined. Here, you can also define this module's connection to a desired fallback message.
Learn more about how to set up a module's connections in the article Connect the module.
This function will create a copy of all marked modules. Thus, the module you are working on will be cloned plus all other modules marked in bold. You can unmark modules by making a square with the mouse in an empty space within your bot platform.
Clicking on the trash bin will lead to a deletion of the selected module(s). Again, note that all modules marked in bold will be deleted.
However, we send you a notification that shows how many modules you are about to delete. With this, you can make sure to only delete the desired module(s) by checking the indicated number.
This is how the pop-up window looks like.
Test flow from here
Clicking on this feature, you can check the conversational flow starting at this module. Compared to the test function of the top main menu, you can test from the module's specific place in the flow instead of starting from the first bot message. This is especially useful when your bot's structure is becoming bigger and more complex.
Add KPI tag
When you hover your pointer over a module, a tag option will appear underneath the module which is the Add KPI tag feature. A KPI tag helps you to track a specific module’s performance i.e. how many times it was visited by unique users. We recommend using tags for starting modules, fallback modules, and handover modules.
The gathered data can, for example, indicate how many end users have used your chatbot (tag starting module), the number of end users who needed a hand-over to customer support (tag handover module), or how many users could not find the answer they were looking for (tag fallback module).
After having set up the module, we can now look into how to connect modules.
Learn more about styling up your bot's messages in How to edit a message in a module.
Connection(s) of a statement module
You can edit the module's connections in the “Connections” tab (find more information here: module's connections). Here, you define actions that must happen after the bot's response, for example, to go to another bot answer based on the end user response.
If you would like to send the end user directly to the next bot-message without any user input provided, mark the checkbox “Don’t wait for the user’s input, just evaluate the Connections”.
This requires a connection to be defined because the end user will never be sent to a random module. The type of connection required for when the checkbox is ticked will be further explained below.
Add a new connection by clicking on the turquoise button “Add Connection”. By default, a connection is given which you must adjust in accordance with the next desired steps of the chatbot conversation.
This logic of connections is comparable to an Excel If function, and you can add more conditions by clicking on the plus button to the right of the condition. As mentioned before, you can read more about a module's connections if you require more information about that.
The last line defines the action if the condition is fulfilled, i.e. to which next module the bot should go.
If no conditions are defined, the bot will go to the next defined module without checking any conditions. Delete the condition by clicking on the trash icon on the right side of the condition. The connection will then appear as a fallback, and you can choose which module to send the end user off to.
Please note again, that you must tick the checkbox "Don’t wait for the user’s input, just evaluate the Connections” to be able to do so.
Mostly, however, conditions are defined since the flow of a human-like conversation includes the user's input.
Define a fallback
Almost all statement modules require a fallback module. A fallback is active if the end user’s input cannot be understood by the chatbot. The fallback module can be for example
- a general response explaining to the end users that their intent was misunderstood,
- as well as possible actions to try again,
- or a CTA to contact (human) support.
If you need to avoid a fallback for a certain conversational flow create an empty module the end user is guided to.
Read more about the fallback module here: fallback module.
Related articles: [all articles from Section: First steps with Certainly]