Building Blocks of the Chatbot

Action blocks are the building blocks for the bot. Consider them as an action that the bot performs, like sending a message, collecting an input, etc.

The Bot Builder has a collection of over 21 action blocks from which you can use to make the flow of your chatbot.


By default, a chatbot always starts with a trigger – something the visitor needs to start the conversation with the bot when invoked. The bot is triggered to appear without any conditions defined. There are 3 conditions that you can trigger the bot with:

  • Date Range: If you want the bot to trigger only on a specific date range.

  • Browser Language: If the browser language of the visitor meets the language you defined.

  • URL: If the bot is to be triggered on specific URLs. You can include/exclude a list of URLs.

Send Message:

During a conversation, the bot may send informative messages to the user and does not expect a response back from them. These messages help build up the conversation rather than having a monotonous job of collecting input from the visitor.

With this action block, you can send a series of informative messages that can be either text or rich media (images, gifs).

Collect Input:

A conversation takes place only if both parties send and receive messages. With this action block, the bot will ask the visitors questions and will only move forward with the conversation flow after it receives a response from the visitor.

To make the bot smarter in collecting responses from the visitors, you can use validations:

  • Text: Simple text responses will be accepted by the bot

  • Email: Valid email format is allowed as a response

  • Phone: Only numeric inputs are allowed. The bot will also display the country code of the visitor automatically using the IP location of the visitor

  • Custom: If you want to specify a custom validation for the input response, you can add the regex validation

If the input does not match any of the above validations, then the bot shows the Error Message defined by you. The conversation flow will only move forward with the flow if a valid input is provided by the user.

All responses captured by the bot can be stored on a Variable. The response stored in this variable can be used again within the flow by invoking it using # in the text editor field.

As a good practice, always use distinct variable names to store inputs, else the values may be overwritten.


The conversation flow can be branched out using intuitive buttons. Visitor can simply choose any button to go down its path. Each button can either have same path or different paths moving from it.

Buttons can do one of two things:

  • Branch: Move to a different path of the conversation flow

  • URL: Open a web page and end the flow

The maximum buttons you can add are 10 The buttons won't disappear after they were clicked on so, the visitor can return to them at any moment during a conversation


In channels like WhatsApp & SMS, where buttons are not compatible or permitted, we need to rely on only inputs to branch out the conversation flow. Each option is denoted with the number i.e 1,2,3..

The experience is similar to an IVR call but in a chat-format. And in case an incorrect number or an invalid response is received an error message will be displayed.

To choose an option, you can type the number as a word like one, two, three or write down the option name itself.

Have any items or products to show? Use carousels to show your items is a more eye-catchy format. The carousels are made up of:

  • Cover image - An image for the card.

  • Title - the title of the card.

  • Subtitle - More details of the card.

  • CTA Buttons - Buttons to continue the conversation.

Similar to carousel, if you just want to show a set of images as a carousel, you can use this block. The bot will show this carousel and move forward to next action block, as it does not require any input.

You can click on any image to have a bigger view of the image pop-up

Send Email:

To notify yourself about an event occurring within a conversation flow like lead generated, someone showing an interest in a product; you can use this block to send an email to the recipients.

You can configure the following in this action block:

  • TO: Whom this email should be addressed to.

  • CC: Who should be copied to this email.

  • BCC: Whom you want to copy invisibly on this email.

  • Subject: The subject of this email.

  • Include Chat Transcript: Whether you want the chat history till this point of the conversation to be attached in the email.

  • Email Markup: The body of the email.


If you're using Salesforce and want to create a lead on your account when a lead is generated, simply map the details of your Salesforce account along with the fields that you want to send. We achieve this using Salesforce's web-to lead API.

The contents of this action block are:

  • Salesforce Organization ID

  • Environment - Sandbox or Production.

  • Salesforce fields with whom you wanted to map the variables.

Human Handover:

Not always will a chatbot complete all the tasks that you want it to. You may want a human agent to jump into conversation at just the right time. When a conversation reaches this block, the chat will be transferred to a live chat in the 'Unassigned' tab.

If auto-assign is enabled for the account, the chat will automatically be transferred to any available human agent.

Before the human handover is triggered, the bot will send a success or a failure message. Failure messages can occur in 3 ways:

  • When human handover is disabled

  • When no agent is available

  • When human handover occurs beyond operational hours

On success, the conversational flow in the bot ends and its up to the human to take forward the conversation well, that's why you transferred the conversation to them right?


Booking an appointment? Great, use this block to collect dates the right way

The calendar action block has two main sections;

  • Date Selection:

    • You define the question and store the response in variable

    • Select type of date i.e., Single Date or Date Range

    • You can also choose whether to show the past dates or not

  • Exclude Dates:

    • Excluding days like weekends i.e., Saturday or Sundays

    • Excluding specific dates like Christmas or any public holiday

File Upload:

In order to collect files from the visitors, you can use the file upload dialog type. With this you can define which type of files are to be accepted like PDF, CSV etc.. or also specify the permissible number of files and size of file.

Between each action block ReplyCX will smartly give a dynamic delay (based on the time it would take to read the number of words). If you want to add an additional delay on top of what ReplyCX adds, you can use this action block.

Service Call:

We may not have an integration to tool that you are using, yet. But in order to be able to send or receive data from your system using APIs, you can use this action block.

If you are a developer, you will feel at home with the contents of this action block.

In this action block, there are 2 scenarios that can occur i.e., SUCCESS or FAILURE. To branch out these paths we have 2 separate nodes each denoted by Green or Red.

If you want to receive multiple responses from service call, then this variable can be referenced anywhere in the flow to branch conversation based on type of response received from service call


Slider is another unique way of capturing input. Here, in this case, we make use of a slider where the visitor can slide and choose their value.

The contents of the block are:

  • Question - The question for asking this input.

  • Min & Max - The range of values in this slider.

  • Variable - Storing the response on this variable.

  • Enable movement using step count - If active, every movement of the slider will be based on the step count. Else, it will be a dynamic slider where you can move the slider freely.

  • Unit - The slider values can have a unit i.e., $, ‎€, ₹, £, °C.

  • Count of steps - How many steps are to be displayed in the slider scale.

Last updated