- > The below script would detect if the description contains a 16 digit number or more than one 16 digit number and check if that 16 digit number starts with 1,3,4,6 etc., It can be modified as per requirement.
- > Based on the above check, a notification would be triggered to the assigned technician that the description has 16 digit numbers starting with a given integer.
Steps to execute:
1. Create a Business rule as attached.
2. Under Actions, choose custom function and save the script. So whenever a request is created, the Business rule checks the above criteria and sends the notification.
3. Screenshots of the request where the rule was applied is attached.
Script:
toAddress = requestObj.get("technician").get("email_id");
fromAddress = "MentionTheFromAddress";
descWordList = ["CARD", "PAN", "TARJETA", "CLIENTE"];
description = requestObj.get("description");
if(description != ""){
description = description.replaceAll("<(.|\n)*?>" , "").replaceAll(" " , "").replaceAll("&" , "");
}
subArray = requestObj.get("subject").toList(" ");
description_array = description.toList(" ");
description_array.addAll(subArray);
returnObj = Map();
criteria1 = False;
criteria2 = False;
for each word in description_array {
if( word.isNumber() && word.length()==16 && (word.toString().startsWithIgnoreCase("1") || word.toString().startsWithIgnoreCase("2") || word.toString().startsWithIgnoreCase("4") || word.toString().startsWithIgnoreCase("5") || word.toString().startsWithIgnoreCase("6") || word.toString().startsWithIgnoreCase("0")) ){
criteria1 = True;
break;
}
}
for each word in descWordList{
if(description_array.contains(word)){
criteria2 = True;
break;
}
}
if( criteria1 ){
mail_description = "The request subject or description has a 16 digit number";
if( criteria2 ){
mail_description = "The request subject or description contains keywords 'CARD', 'PAN', 'TARJETA', 'CLIENTE' and a 16 digit number";
}
//info mail_description;
sendmail
[
from: fromAddress
to: toAddress
subject: "Notification Mail"
message: mail_description
]
returnObj.insert("result":"success", "message":"Request Mail sent successfully");
}
else{
returnObj.insert("result":"success", "message":"Criteria does not match!");
}
return returnObj;