- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-31-2020 12:06 AM
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.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-01-2020 12:22 AM
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
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-31-2020 12:15 AM
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
Notification to caller as reminder in business days.
using flow designer check below link
Approval Reminder for Approval Records using flow designer
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-31-2020 12:38 AM
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-31-2020 01:00 AM
You want it via script only?
Thanks,
Ashutosh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-31-2020 09:22 AM
Will try both and hope any one of these works.
We never used flow designer yet.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2020 01:27 AM
This is easy way to do.
Thanks,
Ashutosh