How to send emails to multiple persons using workflow run script activity and gs.event queue.

gspriya
Kilo Expert

 I have a requirement to send email notifications to a list of people configured in our custom form when the SLA configured exceeds 50%. This is achieved via workflow Run Script activity. 

 I have a field called Team Lead List which is a Glide List field in our custom form Location Based Assignments. 

 Now I need to send the emails to all the members in the team lead list field when sla exceeds 50%.   My script is as follows: 

 try

var arrayEmail = [];

var incLocation=current.task.location;

var incSupportGrp=current.task.assignment_group;

var usys_id=gs.getProperty('corporate.office.SDM.sysID'); 

var uname=gs.getProperty('corporate.office.SDM.name'); 

 var gr=new GlideRecord('u_location_based_assignment'); 

gr.addQuery('u_location',incLocation); 

gr.addQuery('u_support_group',incSupportGrp); 

gr.query(); 

if(gr.next()) 

var arrayUtil = new ArrayUtil(); 

var leads = gr.u_team_lead_list.toString(); 

var arrayList =leads.split(","); 

temp = arrayList.length; 

//gs.print("Array Value: " + temp);  /

//gs.print("Array.length:" + temp.length);   

for(i=0;i<temp;i++)  {     

var usr = new GlideRecord('sys_user'); 

usr.addQuery('sys_id', 'IN', arrayList[i]);  usr.query(); 

while(usr.next()){ 

arrayEmail.push(usr.getValue[i]('email')); 

}   

 gs.eventQueue('inc.50.SDM.event',current,arrayList.toString());   

}

}

catch(e)

gs.log('in side catch:'+e,'w123'); }       But when I execute it I am not getting the sysid's of the user instead it setting some value like 'Created on <time>'   Please tell me how to fix this       

Regards,   

Priya        

1 ACCEPTED SOLUTION

Okay, great.

Could you mark my answer as correct/helpful if this helps.

View solution in original post

23 REPLIES 23

Ankur Bawiskar
Tera Patron
Tera Patron

Hi Priya,

What values you are getting in the array? print that first arrayList

Regards

Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

gspriya
Kilo Expert

Hi Ankur,

 

I am getting some "Created  Date Value" as the output when check in event log.

 

Regards,

Priya

Try replacing your entire block of code inside the query with this single line.

 

gs.eventQueue('inc.50.SDM.event',current,gr.u_team_lead_list.toString());   

Hi Kalai,

 

Kindly tell me where exactly I need to replace this line. 

 

Regards,

Priya