Send email reminder notification to HR case ticket.

Naveen87
Tera Guru

 Hello Guys,

I need to send a reminder notification on HR case ticket .

For example: If I was assigned a case on Monday 1st June and the State is “Ready “or “Work in Progress” .

I would receive a reminder on the 5th business day after it’s been opened (6th July) and again 2 days after that (Wednesday, 8th July).

I would continue to receive the reminder every 2 business days until the State is changed to “closed complete”, “closed incomplete” or “suspended”.

 

Someone help me here schedule job script. Please.

 

Thank you.

1 ACCEPTED SOLUTION

Hi Naveen,

Something like this; updated the script for 5, 7, 9 days

HRreminder();
function HRreminder() {

var task = new GlideRecord('hr_task');
task.addQuery('short_description', 'receive draft');
task.addQuery('active', true);
task.query();
while(task.next()){

var isToday5BusinessDays = checkBusinessDays(task.sys_created_on, 5);
if(isToday5BusinessDays){
gs.eventQueue('event.name', task, gs.getUserID(), gs.username()); // your event name for 5 days reminder email
}

var isToday7BusinessDays = checkBusinessDays(task.sys_created_on, 7);
if(isToday7BusinessDays){
gs.eventQueue('event.name', task, gs.getUserID(), gs.username()); // your event name for 7 days reminder email
}

var isToday9BusinessDays = checkBusinessDays(task.sys_created_on, 9);
if(isToday9BusinessDays){
gs.eventQueue('event.name', task, gs.getUserID(), gs.username()); // your event name for 9 days reminder email
}

}
}

function checkBusinessDays(createdTime, days){

var gdt =  new GlideDateTime(createdTime);
var dc = new DurationCalculator();
dc.setSchedule('090eecae0a0a0b260077e1dfa71da828'); // Schedule sys_id I have used 8-5 weekdays excluding holidays 
dc.setStartDateTime(gdt);
dc.calcDuration(days*9*3600); // 9 hours is the schedule time from 8 to 5

var edt = new GlideDateTime(dc.getEndDateTime());

var nowTime = new GlideDateTime();

if(nowTime.getNumericValue() == edt.getNumericValue())
return true;
else
return false;
}

Regards
Ankur

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

View solution in original post

24 REPLIES 24

Ankur Bawiskar
Tera Patron
Tera Patron

Hi Naveen,

Since you require to calculate business days you will require to use Schedule for the calculation

you will require to write schedule job which would run daily

sharing links for help

change is pending for more than 3 business days, reminder notification should be sent to Approver on...

Notification to caller as reminder in business days.

using flow designer check below link

Approval Reminder for Approval Records using flow designer

Regards
Ankur

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

Hi Ankur,

 

I tried this,

 

HRreminder();

function HRreminder() {

var task = new GlideRecord('hr_task');

task.addQuery('short_description', 'receive draft');

task.addQuery('active', 'true');

task.addQuery('sys_created_on', '=', gs.daysAgoStart(5));

task.query();

while(task.next()){

gs.eventQueue('event.name', task, gs.getUserID(), gs.username());

}

}

 

Can you help me further here?

Please

You want it via script only?


Thanks,
Ashutosh

Will try both and hope any one of these works.

We never used flow designer yet.

 

This is easy way to do.

 

Thanks,
Ashutosh