Send an email 15 Minutes prior to Change planned start date/time

imran rasheed
Tera Contributor

Hi. I am trying to set up an email notification that will be sent to the assignee of a change 15 Minutes prior to the planned start date. To do this I've attempted to create a Scheduled Job that runs hourly, checks for records where the planned start date is 15 Minutes away and then creates an Event. The event should then trigger the email notification. However, I'm having trouble figuring out how to work out the '15 Minutes from now' part. When i filter it out, it shows all the upcoming changes. Not only the ones which is going to start in 15 minutes time.

 

This is my script in the Scheduled Job:

 

var gr = new GlideRecord('change_request');


gr.addActiveQuery('active', 'true'); //It will fetch all Active Records


gr.addEncodedQuery('start_dateRELATIVEGT@minute@ahead@15');


gr.query();


while(gr.next()) {


gs.eventQueue("change.remainder", gr, "", "");


}

1 ACCEPTED SOLUTION

asifnoor
Kilo Patron

Hi,

Try like this.

var gr = new GlideRecord('change_request');
gr.addActiveQuery('active', 'true'); //It will fetch all Active Records
gr.query();
while(gr.next()) {
var gdt = new GlideDateTime(gr.start_date);
gdt.addSeconds(-900);
var gdt1 = new GlideDateTime();
  if(gdt.equals(gdt1)) {
    gs.eventQueue("change.remainder", gr, "", "");
  }
}

Or , you can try another approach.

In the BR after insert, trigger a event like below.

var gdt = new GlideDateTime(current.start_date); //put actual field name
gdt.addSeconds(-900);
gs.eventQueueScheduled("change.remainder", current, "", "",gdt);

Kindly mark the comment as a correct answer and helpful if it helps to solve your problem.

Regards,
Asif
2020 ServiceNow Community MVP

View solution in original post

24 REPLIES 24

Ankur Bawiskar
Tera Patron
Tera Patron

Hi Imran,

Did you try forming the filter at table first and then copy that here in script?

Also when is the planned start date populated?

have a look at below link:

https://docs.servicenow.com/bundle/orlando-platform-administration/page/administer/task-table/concep...

Regards
Ankur

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

Hi Ankur..

I gave the filter conditions as per below, but it shows all the upcoming changes. Not only the ones which is going to start in 15 mins.

find_real_file.png

Hi Imran,

Can you try this in query; you are using after 15mins from now;

gr.addEncodedQuery('start_dateRELATIVELT@minute@ahead@15');

Regards
Ankur

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

Hi Ankur.

I tried this filter condition, but it shows not only the changes which is going to happen in 15 mins and the also the ones complete changes which is going to happen today.