The CreatorCon Call for Content is officially open! Get started here.

How to use Assignment Rules with Schedules

chrish5
Giga Guru

I have two assignment rules set up that control the group assignment of certain incidents based on the conditions of business and non-business hours.  Assignment rule A has conditions to assign the incident to Team A during business hours.  Assignment rule B has conditions to assign the incident to Team B during non-business hours.  I would take this a step further and incorporate our holiday schedule in ServiceNow into these assignment rules so if an incident comes in during business hours that is also a holiday, the incident is assigned to Team B rather than Team A.  ServiceNow HI says this is not possible in OOB assignment rules.  So I’m reaching out to the Community to see if anyone has come up with a solution for this.   Thanks.

1 ACCEPTED SOLUTION

Hi,

Sorry for late answer.

I tried something as below with due date for testing. you can change it to creation date.

var date = new GlideDateTime(current.due_date);
var schedule = new GlideSchedule("08fcd0830a0a0b2600079f56b1adb9ae");
var flag = schedule.isInSchedule(date);
gs.log(flag,'ScheduleCheck');
if(flag == true){
current.assignment_group.setDisplayValue("Hardware");
}else{
var date = new GlideDateTime(current.due_date);
var schedule = new GlideSchedule("7b2af55ddbe814108844e1bb4b961953");
var flagNew = schedule.isInSchedule(date);
gs.log(flagNew ,'ScheduleCheck');
if(flagNew == true){
current.assignment_group.setDisplayValue("Software");
}
}

 

This are my schedule sys id and groups name please change those.


Thanks,
Ashutosh

View solution in original post

5 REPLIES 5

Gowrisankar Sat
Tera Guru

Hi Chrish,

I think on-call scheduling will fit into this requirement, can you below link:

https://docs.servicenow.com/bundle/madrid-release-notes/page/release-notes/it-service-management/on-...

Ashutosh Munot1
Kilo Patron
Kilo Patron

Hi,

We have to script in script field of the Assignment rule for this. Do you have a schedule created for this? like 8*5 weekdays and including holidays.

Thanks,
Ashutosh

Hi Ashutosh,

Yes, we have a schedule.  Can you provide an example of the script you use for this?  That would be very helpful. 

Thanks,

Chris

 

Hi,

Sorry for late answer.

I tried something as below with due date for testing. you can change it to creation date.

var date = new GlideDateTime(current.due_date);
var schedule = new GlideSchedule("08fcd0830a0a0b2600079f56b1adb9ae");
var flag = schedule.isInSchedule(date);
gs.log(flag,'ScheduleCheck');
if(flag == true){
current.assignment_group.setDisplayValue("Hardware");
}else{
var date = new GlideDateTime(current.due_date);
var schedule = new GlideSchedule("7b2af55ddbe814108844e1bb4b961953");
var flagNew = schedule.isInSchedule(date);
gs.log(flagNew ,'ScheduleCheck');
if(flagNew == true){
current.assignment_group.setDisplayValue("Software");
}
}

 

This are my schedule sys id and groups name please change those.


Thanks,
Ashutosh