Javascript
This action block allows you to trigger custom functions of your preference within the flow
Last updated
This action block allows you to trigger custom functions of your preference within the flow
Last updated
Some of the cases where Javascript action block can be used;
Performing Maths Calculations
Dynamically rendering the values of the variables
String Modification
Firing & Tracking events in Google Analytics
Triggering day based flow
Here are few of the snippets that you can use to perform the maths calculations within the chatbot flow:
Parameter | Snippet | Description |
---|---|---|
Here are few of the snippets that you can use to render values in variables.
Parameter | Snippet | Example |
---|---|---|
Here are few of the snippets that you can use to calculate the length of the variable or get part of the variable.
Here is the snippet that you can use to push or record events into Google Analytics or any other analytics tool
Here is the snippet that you can use to trigger the flow based on specific day
You can follow the following steps to set up the JS action block in Buraq;
Add the action block on canvas by clicking on '+'
Choose 'Javascript'
Double click on 'Javascript' to configure it on the right panel
Select 'Execute at' 'Server/Client' based on your preference
Define or write the code in the space provided
You can define the variable in the code using '#' at the start and the end of the variable name.
EG: '#name#'
Parameter | Snippet | Example |
---|---|---|
Tool | Snippet | Example |
---|---|---|
Parameter | Snippet | Description |
---|---|---|
Summation (Addition)
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
Subtraction (Minus)
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
Division (Divide)
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
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
Set Variable (Conversation)
wn.setConversationVariable(“variable_name”,”variable_value”);
Or
Buraq.setConversationVariables({“variable_name”:”variable_value”})
wn.setConversationVariable(“name_wn”,”ABC”);
Or
Buraq.setConversationVariables({“t1”:”123”})
Set Variable (Contact)
wn.setContactVariable(“variable_name”,”variable_value”);
Or
Buraq.setContactVariables({“variable_name”:”variable_value”})
wn.setContactVariable(“name_wn”,”ABC”);
Or
Buraq.setContactVariables({“t1”:”123”})
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
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", "WotNot_Test", {
"send_to": "123",
"name": "Test",
"phone": "123456789",
});
Get current date
const currentDate = new Date();
Helps to get the today’s date
Check if Fromdate should be more than Todate
isFromDateBeforeToDate(fromDate, toDate) {
const fromDateObj = new Date(fromDate);
const toDateObj = new Date(toDate);
return fromDateObj < toDateObj;
}
Helps to trigger the flow the day specific flow