- 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:10 AM
Hi,
make use of flow designer. In there you can attached the flow when you want and send notification from there.
Thanks,
Ashutosh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-31-2020 12:13 AM
Can i get some reference or tested wf for this ?
To get an idea.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-31-2020 12:18 AM
Hi,
Yes i created that for other issue.
https://community.servicenow.com/community?id=community_blog&sys_id=1fe969a71b9c1010fff162c4bd4bcb45
https://community.servicenow.com/community?id=community_article&sys_id=d3a48469dba454101cd8a345ca9619c2
You have to use a action in this to calculate the business day:
https://community.servicenow.com/community?id=community_article&sys_id=79f51f7bdbc2109066f1d9d968961980
Thanks,
Ashutosh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-09-2020 02:57 PM
By using flow designer, can we send email with customized template - instead of blank template?