Shortcuts: Important to know before you start, Bot messages and the timer, Response feature, Custom feature, Media elements – Images, GIFs, videos, and audio, Use emojis, Change the font, Insert a domain name, Suggested Replies, Generic Cards and Dynamic Cards
Our bot message editor features many possibilities to create engaging chatbot messages. In this article, we will prepare you for the process of setting up conversational messages that are more than monotonous information.
Important to know before you start
Before explaining the bot's message features, here is a quick reminder of how to enter the edit mode of a bot message. You can either double click on the module, or click the Edit button when hovering over the module.
Be aware of certain limitations impacting some functionalities explained in the following depending on which channel you are using for your bot.
Read more about channel limitations in the article Channel limitations.
This is an overview of the bot message and the given features.
A module's ID and name
At the top of the module, you can see the module's ID and name.
You can easily change the name but not the ID. Both identifiers will not be visible to the end user, but they are crucial for finding modules on your platform, connecting modules to each other, and organizing your bot.
Bot messages and the timer
This is the place where you create chatbot messages. Add more speech bubbles by clicking the plus in the top right corner.
The timer indicated by a clock icon below a speech bubble can be used to create a delay in-between messages, which will give end users time to read a message before the next message is shown. It defines the delay after the message illustrated above the typing field for the timer.
The time unit is milliseconds and as a rule of thumb, we recommend calculating 1000 milliseconds per text line. If the message is rather complex, it might be useful to estimate 1500 milliseconds per text line.
Within a bot message, there are four features: Response, Custom, Media, and Emojis, and each of these will be explained below. Bear in mind that your cursor has to be in the message field to view those features.
The Response feature is valuable to retrieve an end user’s input from a previous message.
For example, if the bot asked an end user for specific information in the previous message, you can retrieve this information in the module you are working on by selecting Previous Module (previous). This is a helpful feature because it allows you to edit the previous connections in a more flexible manner.
Next to that, you can select the end user's answer to all other modules you are using on your platform. Look for a desired module's answer by typing in the module's ID or name in the search field.
After selecting a module or the Previous Module (previous), a code written in square brackets appears as illustrated below.
[responseTo module=321321 fallback="sample text"]
The first information within the brackets indicates the module you like to retrieve the answer from, and the second information defines a fallback message.
The fallback message is shown if the end user has not responded to the selected module (yet). Here you can, for example, define a placeholder that indicates the end user's missing answer within the quotation marks. Everything that is written within those marks will be printed and visible to the end user if the fallback must be shown.
Take a look at this example.
[responseTo module=321321 fallback="There has not been an answer to that question yet."]
The Response functionality can be valuable if you would like to make the end user confirm the information before it is used further.
Bear in mind that the Response feature will retrieve the entire previous message of the end user.
Using the Custom feature you can choose between two options: Variable and Variation.
The first option, Variable, allows you to enter a function into your bot message.
This function makes use of a custom variable that you have previously defined, and whose value you would like to show in this message. A variable is a value that can change depending on the information provided by you, the end user, or a third-party API.
Take a look at the default custom variable code.
[customVariable key=add_key_here fallback="sample text"]
In the first part of the code, you write down the name of the previously defined variable. The second part refers to a fallback as explained before in the Response feature section.
To give you an example, you might have collected the end user's name before. By choosing Custom and using the following code, you can create a more personalized bot message.
Hi [customVariable key=user_name fallback="mate"]!
Frontend (if the saved end user's name is Paul):
Frontend (if no end user's name has been saved):
Hungry for more? Read the article Storing the end user reply in a Custom Variable.
The Variation option can be used if you need to create independent alternatives for your bot's messages. The code looks like the following.
[variation="first variation", "second variation", "third variation"]
Variation is chosen for bot messages that are likely to be shown more than once. With this, a more human-like conversation is presented since it prevents the bot from repeating itself. Often, this feature is used for general modules such as the offer to help from the bot. You may also create variations for the way the bot says hello.
Take a look at this example.
[variation="How can I help you?", "What is your question?", "What can I help you with?"]
The different variations will be chosen randomly. Therefore, make sure that all variations contain the same meaning and, of course, work independently from each other since only one variation is shown each time the module is activated.
Media elements – Images, GIFs, videos, and audio
Media elements are a great feature to increase the customer engagement and visual experience of your chatbot visitors.
You can add images, audio, videos, and GIFs to a message by inserting the media file's URL.
In the editing mode for the specific bot message you will only find the pasted link of the media file. Therefore, you must always test the module or conversational flow to see how the media item is illustrated for the end user.
Our platform supports the following range of media formats.
|Media type||Supported format|
|Image||.bmp, .gif, .png, .jpg, .jpeg, .svg|
|Video||.mp4, .webm, Youtube, Vimeo, OGG (.ogv)|
Please note that some chatbot channels do not support all media items.
Learn more about supported and unsupported media formats in Supported media elements across channels.
What would a human conversation be without emotions?
Certainly, less exciting. The chatbot can use emojis to simulate human emotions and to ease the conversational flow. The usage of emojis is depending on your organization's preferences. However, based on our experience, the end user experience benefits from using emojis within the conversation. Select the right emoji from the panel that appears once you hover over the emoji icon.
Change the font
You can change the font of text sections or entire messages by marking the desired text.
A window will pop-up showing you the options bold, italic, and strike-through.
Take a look at how the pop-up looks like.
Using the BotXO widget, you are able to adjust the typeface in line with your organization's corporate identity. Go to the sidebar menu on your bot platform and click on Bot Settings. Enter the tab Channels and select the BotXO Widget.
Insert a domain name
When you insert a domain name, it will automatically be rendered as a hyperlink. Use square brackets around the domain name to circumvent this behaviour. The square brackets will be visible to the end user, but it will ensure that the link is not clickable.
Here is an example.
If the desired URL contains special characters such as ampersand (&), you must convert the characters into a valid ASCII format.
Up to this point, you have learned how to change the text message of your bot. Next, two advanced features namely Suggested Replies and Cards will be presented.
This feature allows you to add answer options for end users. Those suggestions appear as buttons in the conversation and support your chatbot visitors to navigate through available options or topics.
Suggested Replies can brake a natural conversational flow. However, especially at the beginning of a chatbot conversation, or in situations where the end user appears to be lost, Suggested Replies have proven to be very helpful.
To add Suggested Replies type in the response option and click enter after each. You define the conversational journey after clicking on a button in the module's connections, which is further explained in another article.
Learn more about connecting Suggested Replies in How to connect modules.
By using the Suggested Replies feature, you enable a click-based conversational flow. The alternative is Natural Language Understanding (NLU).
Suggested Replies and NLU can be activated in parallel within a module. With this, the end user has the freedom to choose between typing in a new message or clicking on one of the bot's suggestions.
For more information read Implementing NLU and using the NLU Training Dashboard.
Generic Cards and Dynamic Cards
By using Generic and Dynamic cards you can add visual menus to your bot's conversational flow.
This feature is especially useful if you would like to add buttons with images. For example, if your organization promotes different brands you can use the logo next to the brand’s name to ease the end user’s navigation.
Press the "Add Cards" button to add a Generic or Dynamic card.
The difference between the two card types lies is the source of information used for the cards' content.
Generic Cards depend on your input.
You define the image to be illustrated, the title, subtitle, and a URL to which the end user is guided to after clicking the card. Images will be cropped automatically to fit the Card as long as the content is centered vertically.
Find more instructions for how to create Generic Cards.
On the other hand, Dynamic Cards use external information embracing a URL, a data script (JSON structure), and a webhook response.
Learn more about how to set up Dynamic Cards.