Module Connections might seem a bit complex at first glance! But, assuming you've already gained some initial insights about Codemonkey's Platform, this article will use what we've learned from previous customers to help smoothly guide you through Module Connections. We'll show you how to:
- Access a Module's Connections
- Set up a Module Connection
- Define a Module Connection's condition(s)
- Define a Module Connection's action(s)
- Switch off Global Connections
Access a Module's Connections
You can access a Module's connections when you are in edit mode by selecting the tab Connections at the top of a Module's window. If you're not in edit mode, you can hover over the Module and choose Edit connection from the menu that appears above.
The screenshot below provides you with an overview of the Module Connections setup:
Set up a Module Connection
Before creating a connection, think about the possible end user answer to this Module's bot message. As the architect of the conversational flow, please bear in mind that end users' answers can sometimes be difficult for the bot to understand. Assuming a worst-case scenario for the end user input will help you equip the bot with the best possible connections.
To add a connection, click Add Connection. Normally, a connection consists of a condition and an action. However, a connection does not require a condition. In certain contexts, it makes sense to delete the condition, which will be explained in greater detail below.
Note that in the following screenshot, the checkbox Don’t wait for the user’s input, just evaluate the Connections is unticked. In other words, the bot waits for the end user's input before proceeding. In those cases, a connection must have some kind of input for the conversational flow to continue.
Conversely, if the Don’t wait for the user’s input, just evaluate the Connections box is ticked, the bot will act without any end user input.
All connections are draggable to change their order. The bot always reads the connections sequentially, starting from the first connection. This is why the hierarchy of the connections must be taken into account.
Define a Module Connection's condition(s)
Different types of conditions are supported. However, the majority of conditions break down to the following simple If-clauses for the Module Connection, which we will review below:
Create a connection based on keywords or Suggested Replies.
Define a connection based on intents from your AI Manager.
Use Custom Variables as conditions for a connection. You are only able to do so if a Webhook searching for this variable was fired in a previous Module.
Using a Custom Variable for connections, the result of this Webhook action will be used. If a Custom Variable is used in a Module's Connection, the information must already exist.
A/B testing is a common tool for marketers, and you can also use it for your chatbot's messages. Test how different messages work on your end users to find out which one runs best.
You prepare the A/B testing by setting it up in a connection of a Module. What comes next are the messages (Modules) you would like to compare with each other. Namely, you can compare the performance of the connection to Module A to the connection to Module B to the connection to Module C, and so on.
In theory, you can compare 101 connections to each other. This is possible because each A/B connection is assigned a newly created, random ID between 0 and 100 (101 possibilities in total).
Define the condition further by selecting if the ID for that specific selection must equal, must be greater than, or less than the ID selected by using the slider.
By using a filter as part of a connection, you can target a connection based on user segmentation that was previously defined by using the Filter feature.
Send your chatbot visitors to a specific Module based on what channel they have entered the chatbot from. These are the channels you can select for this Module Connection condition:
Each condition requires an action. Set up the action(s) depending on the previously defined conditions, the conversational context, and the assumed worst-case scenario in terms of end user input for this Module's bot message. We'll explore the possible actions in the next section.
Define a Module Connection's action(s)
An action can be to Go to another Module (default action), fire a webhook, or Set a variable. Change an action by activating the drop-down menu embedded in the action field.
Explanations of each action are as follows:
This action simply requires a Module ID or a Module's name to be inserted in the following Set module text field. Clicking in the text field will activate a drop-down menu where you can scroll through all existing Modules. You can type the name or ID number of the desired Module directly into the field.
You are also able to connect to a Module that does not yet exist. Create this new Module directly in the Set module text field by clicking on Create New Module.
Inserting a Webhook does not require a condition to be defined. You may delete the condition by clicking on the trash bin icon next to the condition.
Select or insert the desired webhook in the Select Webhook text field next to the action field.
Lastly, you are able to create custom variables in the edit mode of a Module's connections. Add as many variables as desired in addition to the value reflecting the end user's (potential) input to that Module.
Two aspects are important to consider when using the Set variable action:
- the custom variable must be already defined previously, and
- an end user's input or information can be reflected in more than one variable, but the end user input or information is not divisible. Thus, even if the user inserted more than one piece of information as an answer to this Module's bot message, it can only be interpreted as one single piece of information in the connections.
Switch off Global Connections
Global Connections are all the conditions defined for your entire bot. You may understand Global Connections as a book of instructions that stores your bot's overall responses and connections.
In contrast, Module Connections only hold for the specific module you are working on. Here, the bot's actions and/or responses for the next step within the conversational flow are defined.
If your bot's setup follows the rule to always read Global Connections before Module Connections, it can be useful to deactivate this rule for certain Modules. This is why the Skip Global Connection feature can be very valuable.
Switch off Global Connections by ticking the checkbox Skip Global Connection at the bottom of the Module window.