Javascript
This action block allows you to trigger custom functions of your preference within the flow
Usecase:
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
Maths Calculations:
Here are few of the snippets that you can use to perform the maths calculations within the chatbot flow:
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
Rendering values into variables:
Here are few of the snippets that you can use to render values in variables.
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ā})
String Modification:
Here are few of the snippets that you can use to calculate the length of the variable or get part of the variable.
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
Firing & Tracking events in Google Analytics or any Analytics tool:
Here is the snippet that you can use to push or record events into Google Analytics or any other analytics tool
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",
});
Triggering day based flow:
Here is the snippet that you can use to trigger the flow based on specific day
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
How do I set it up?
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
Last updated