Accepting payments and sending invoices
Sending order updates
Sample Messenger store assistant
Intents and Entities
Building Dialogflow agent and connecting to Activechat
Sending user input to NLP engine
Triggering bot skills by intents and events
Working with entities
NLP best practices
First and foremost task of every chat bot is communication, and we have plenty of blocks to achieve this.
Each block in the TALK group has “delay” setting on top. This is used to control “typing…” time to make bot communication more human-like. If “auto” setting is selected, the bot will calculate delay time automatically, based on the length of previous and current message.dsd
This block is used to send text messages with buttons attached.
Currently we support two types of buttons – link to another block and URL button. Button type can be selected when you click “+” sign in the block editor. Facebook Messenger supports only three buttons with each text message, while Telegram can have more. Is you are adding more than 3 buttons, on Facebook Messenger channel only first three will be rendered.
Please note that any input field can contain both text and variables. Variables will be rendered into actual values in real time. Using variables as button labels is useful to create dynamic buttons that can change depending on user input or other criteria. In the example below we’re using $_first_name system variable to add name of the user to our message.
And this is how it will be rendered in messenger:
This block is used to send images with (optional) buttons attached. You can both upload images to Architect or use URLs, and URL can be taken from a variable.
Maximum image size is 1 Mb.
Here is resulting message in Facebook Messenger:
Use this block to get user input into the bot. When this block gets control it starts “listening” to user input and saves it to specified user variable (default is $_last_user_input).
To avoid situations when user presses “Send” (or “Enter”) before he/she completes the reply, there’s an option of “polite delay”. When you set this option to anything but zero, the bot keeps “listening” to user during specified time in seconds. If the user starts typing again during this delay, his/her next input will be appended to the input variable. Otherwise, the bot will trigger next block in the flow.
Also, you can add so-called “quick replies” – these are pre-defined answers that user can click in reply to the bot message. These replies can be connected with lines to other blocks, and if user clicks one of connected replies or types exactly the same text, control will be given to the connected block. Otherwise, control will go to default exit at the bottom of the block.
In the example above there are three quick replies – “Morning”, “Afternoon” and “Evening”, each triggering TEXT block with specific text. If user types anything else (for example, “12pm”), TEXT block below will be triggered, sending “OK, your choice is 12pm” back to the user.
You can use variables as quick replies. This will render actual variable value at run time as quick reply.
NB Please note – for quick replies to work your LISTEN block should immediately follow TEXT or IMAGE blocks, since quick replies have to be preceded by text or images.
There are four types of quick replies that we support currently:
Phone and email quick replies will be pre-populated with actual values from Facebook Messenger so that your bot user can share these in one click and do not have to type it in.
Currently we do not support complex Telegram keyboards. This will be added in the future releases.
Currently we support only text messages (with emojis 😁) and links as input. More rich content (pictures, files, locations etc) will be added soon.
IMPORTANT HINT: if you do not have any LISTEN block active during conversation with your user (this can happen if all your skills have finished and bot is just sitting there, not expecting any specific input from the user), system “default” event will be triggered every time user is sending message to the bot. There is specific “DEFAULT” skill that is catching this event, so don’t forget to add some meaningful blocks there also.
This is popular message type in Facebook Messenger, providing user with scrollable horizontal gallery of images with titles, descriptions and buttons. You can have up to 10 cards in each gallery with up to 3 buttons each. Galleries are often used for complex bot menus and displaying lists of similar items (shop products, restaurant menus etc).
You can upload images or use URLs exactly the same way as in IMAGE block, the only difference is that you can add card titles and descriptions. Gallery cards are expanded in the visual builder so that you are able to connect each button to different blocks.
Activechat Visual Bot Architect also supports dynamic galleries, which can be used for product listings and shopping carts in e-commerce. We will describe these in much more detail in our “Advanced bots for e-commerce” course.
As in every other block, you can use variables in card titles, descriptions and buttons.