Chatbot education

👉 Chatbot videos

👩🏼‍🎓 Bot Academy

Activechat Essentials

Platform Basics

Messaging Channels

Visual builder

Bot settings


Grow Tools

Bot examples

E-commerce Chatbots

E-commerce Basics

E-commerce Integrations

Displaying Products

Shopping cart


Accepting payments and sending invoices

Order updated

Sending order updates

Bot example

Sample Messenger store assistant

Advanced Chatbot Tools

Tracking site visits

Tracking code installation

Tracking page visits

Natural Language Chatbots

NLP Basics

Intents and Entities

NLP contexts

Building Dialogflow agent and connecting to Activechat

Sending user input to NLP engine

Triggering bot skills by intents and events

Working with entities

Slot filling

Using contexts

NLP best practices

Video tutorial

E-commerce Chatbots

Advanced Chatbot Tools

Tracking code installation Tracking page visits

Natural Language Chatbots

Intents and Entities NLP contexts Building Dialogflow agent and connecting to Activechat Sending user input to NLP engine Triggering bot skills by intents and events Working with entities Slot filling Using contexts NLP best practices

TALK blocks – Interaction with bot users

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. 

Quick replies

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.  

Types of quick relpies

There are four types of quick replies that we support currently:

  • text replies, sending back the text that is pre-defined in block editor
  • location replies, offering user to share his/her location – these send location as latitude/longitude
  • email replies, inviting user to share his/her email address
  • phone number replies, inviting user to share his/her phone number

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.