Javascript
Executes a javascript code on the client side
JavaScript is a script that runs in the browser to execute various actions. Some common use cases for a JavaScript action block include:
Performing mathematical calculations.
Dynamically updating variable values.
Modifying strings.
Triggering and tracking events in Google Analytics.
Select Javascript action block in Replycx bot flow.

Maths Calculations:
Here are some code snippets you can use to perform mathematical calculations within the chatbot flow:
Parameter
Snippets
Description
Summation (Addition)
const additionResult = num1 + num2;
Num 1 and Num 2 can be any number or a variable containing a numeric value.
The result will be stored in the additionResult variable.
Subtraction (Minus)
const additionResult = num1 - num2;
Num 1 and Num 2 can be any numeric value or a variable containing a number.
The result will be saved in the additionResult variable.
Division (Divide)
const additionResult = num1 / num2;
Num 1 and Num 2 can be any numeric value or a variable containing a stored number.
The result will be stored in the additionResult variable.
Multiplication (Multiple)
const additionResult = num1 * num2;
Num 1 & Num 2 can be any number or variable which has a number stored in it
The result will be stored in additionResult variable
Rendering values into variables:
Here are some snippets you can use to dynamically render values in variables.
Parameter
Snippet
Example
Set Variable (Conversation)
cx.setConversationVariable(“variable_name”,”variable_value”);
Or
replycx.setConversationVariables({“variable_name”:”variable_value”})
cx.setConversationVariable(“name_wn”,”ABC”);
Or
replycx.setConversationVariables({“t1”:”123”})
Set Variable (Contact)
cx.setContactVariable(“variable_name”,”variable_value”);
Or
replycx.setContactVariables({“variable_name”:”variable_value”})
cx.setContactVariable(“name_wn”,”ABC”);
Or
replycx.setContactVariables({“t1”:”123”})
String Modification:
Here are some snippets you can use to determine the length of a string or extract a portion of its value.
Parameter
Snippet
Example
Length of String
const lengthOfString = “variable_name”.length();
const lengthOfString = “some_string_content”.length();
//Output: 19
Calculates the number of characters passed/present in the value
Get part of a string
const partOfString = “variable_name”.slice();
const partOfString = “some_string_content”.slice(5);
Note: We need to pass the starting index from where we need to get the sub-string. The index starts from 0.
//Output: string_content
Commonly used to pass the phone number without country code
Triggering day-based flow:
Here is a snippet you can use to trigger the flow based on a specific day.
Parameter
Snippet
Description
Get current date
const currentDate = new Date();
Helps retrieve today's date.
Check if From date should be more than To date
isFromDateBeforeToDate(fromDate, toDate) {
const fromDateObj = new Date(fromDate);
const toDateObj = new Date(toDate);
return fromDateObj < toDateObj;
}
Helps to trigger the day-specific flow.
Triggering and monitoring events in Google Analytics or any other analytics tool:
Here is a snippet you can use to log or track events in Google Analytics or any other analytics tool.
Tool
Snippet
Example
Google Analytics 4
window.dataLayer = window.dataLayer || [];
function gtag() {
window.dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", "YOUR-MEASUREMENT-ID");
gtag("event", "YOUR-EVENT-NAME", {
"send_to": "YOUR-MEASUREMENT-ID"
// Additional parameters that you may want to pass
});
window.dataLayer = window.dataLayer || [];
function gtag() {
window.dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", "123");
gtag("event", "Replycx_Test", {
"send_to": "123",
"name": "Test",
"phone": "123456789",
});
JS execution in async
JavaScript can be run asynchronously, allowing the bot to continue the conversation without waiting for the script to complete. This results in a smoother and faster chat experience.
How to enable: Go to JavaScript block → Enable "Execute asynchronously".

Last updated
Was this helpful?