- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-07-2016 02:48 PM
Can I get the list of recipients in a email notification script which I am using the email, before it is sent out. I know we can get if it is a field in the form, but from the
whom to fields?
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-18-2016 10:46 AM
Ravali,
Here is your complete email script. I have tested this and it should work for you as well.
var userArr=[];
var count=0;
var fieldsArr1=email_action.recipient_users.toString().split(',');
var fieldsArr2=email_action.recipient_groups.toString().split(',');
var fieldsArr3 = email_action.recipient_fields.toString().split(',');
if(fieldsArr1)
{
for(var i=0; i<fieldsArr1.length; i++){
userArr.push(fieldsArr1[i]);
}
}
if(fieldsArr2)
{
for(var i=0; i<fieldsArr2.length; i++){
var gr= new GlideRecord('sys_user_grmember');
gr.addQuery('group',fieldsArr2[i]);
gr.query();
while(gr.next()){
userArr.push(gr.getValue('user'));
}
}
}
if(fieldsArr3)
{
for(var i=0; i<fieldsArr3.length; i++){
var inc_field = fieldsArr3[i].toString();
userArr.push(current.getValue(inc_field));
}
}
if(email_action.event_parm_1!='')
{
userArr.push(event.parm1);
}
if(email_action.event_parm_2!='')
{
userArr.push(event.parm2);
}
var arrayUtil = new ArrayUtil();
var gr1= new GlideRecord("sys_user_has_role");
gr1.addQuery('user','IN',arrayUtil.unique(userArr).toString());
gr1.addQuery('role.name','itil');
gr1.query();
if(gr1.getRowCount()==arrayUtil.unique(userArr).length){
template.print("Click here to View: "+'${URI_REF}');
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-13-2016 08:14 AM
var userArr=[];
var count=0;
var fieldsArr = email_action.recipient_fields.toString().split(',');
gs.log("Field Array ==" +fieldsArr);
if(fieldsArr)
{
for(var i=0; i<fieldsArr.length; i++){
var inc_field = fieldsArr[i].toString();
userArr.push(current.getValue(inc_field));
}
}
gs.log("Final List =="+userArr);
var gr= new GlideRecord("sys_user_has_role");
gr.addQuery('user','IN',userArr.toString());
gr.addQuery('role.name','itil');
gr.query();
while(gr.next()){
template.print("Click here to view: "+${URI_REF});
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-13-2016 08:31 AM
oops this is the one :
var userArr=[];
var count=0;
var fieldsArr = email_action.recipient_fields.toString().split(',');
gs.log("Field Array ==" +fieldsArr);
if(fieldsArr)
{
for(var i=0; i<fieldsArr.length; i++){
var inc_field = fieldsArr[i].toString();
userArr.push(current.getValue(inc_field));
}
}
if(event.parm1)
{
userArr.push(event.parm1);
}
if(event.parm2)
{
userArr.push(event.parm2);
}
gs.log("Final List =="+userArr);
var gr= new GlideRecord("sys_user_has_role");
gr.addQuery('user','IN',userArr.toString());
gr.addQuery('role.name','itil');
gr.query();
while(gr.next()){
template.print("Click here to view: "+${URI_REF});
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-13-2016 10:05 AM
When I get time today, I will try this on my instance and update you. Other than the link, is everything working as expected?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-13-2016 10:10 AM
Thanks Abhinay. The last line gave me an error when I put it in the email script.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-14-2016 08:24 AM
Hey Abhinay,
Please let me know if you got same error when used the template.print(), did you get chance to check this? Thanks for your time.