Assuming that you have gained first insights about BotXO's platform, module connections might seem a little bit complex at first glance.
We share our learnings from previous customers with you and guide you through Module Connections.
The screenshot below provides you with an overview of the Module Connections setup.
You can access a module's connections by either selecting the tab Connections at the top of a module's window in the edit mode. If not in edit mode, hover over the module and choose Edit connection to directly view and edit the module's connections.
How to set up a Module Connection
Before creating a connection, think about the possible end user answer to this module's bot message. Since you are the architect of the conversational flow, bear in mind that end users' answers can potentially be more or less difficult to be understood by the bot. Assuming a worst-case scenario for the end user input helps you to equip the bot with the right variety of connections.
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 further explained in what follows.
Note that in the screenshot below 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 and in those cases, a connection must have some kind of input for the conversational flow to continue.
On the other hand, if the box is ticked, the bot acts without any end user input.
To add a connection press on Add connection.
All connections are draggable to change their order. The bot reads the connections sequentially starting from the first connection, which 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 breaks down to simple If-clauses for the Module Connection.
Create a connection based on keywords or suggested replies.
Define a connection based on intents from your Natural Language Understanding (NLU) Dashboard.
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.
Bear in mind that 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 with each other.
This is possible because each A/B connection is assigned a newly created, random ID between 0 and 100 (in total 101 possibilities). 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.
Here is an example of how a simple A/B test can look like.
By using a filter as part of a connection, you can target a connection based on user segmentation which 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.
Those are the channels you can select for this Module Connection condition:
Each condition requires an action. For the latter named element of Module Connections choose one of the following options.
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.
Define a Module Connection's action(s)
An action can be to either 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.
In what follows, each action will be explained in brief.
Go to action
This action simply requires a module ID or a module's name to be inserted in the following Set module text field.
You can also go to a not yet existing module. 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.
Create variable action
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 Create variable action.
First, the custom variable must be already defined previously.
Second, 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 information as an answer to this module's bot message, it can only be interpreted as one single information in the connections.
How to switch off Global Connections
Global Connections are all 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 comparison, Module Connections only hold for the 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 this feature can be very valuable.
Switch off Global Connections by ticking the checkbox Skip Global Connection at the bottom of the module window.