Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to send reminder notification before 30 days based on End Date

chanikya
Kilo Sage

Hi,

 

in catalog items, i have one filed, documents submit "Last  End Date"  (variable in catalog item)

ex: Last End Date=20/08/2018  19:50:20  then notification trigger one month before means on 20/07/2018.

So how can we do it.

my Br script is not working...

if(gs.dateDiff(gs.nowDateTime(), current.variables.ex_date.getDisplayValue(),true)/3600>=720)
{
var gdt = new GlideDateTime(current.variables.ex_date.getDisplayValue());
gdt.addDaysLocalTime(-30);
gs.eventQueueScheduled ( "thirty" , current, gs. getUserID ( ) , gs. getUserName ( ) , gdt) ;

}

1 ACCEPTED SOLUTION

Hi Chanikya,

You need to use your variable instead of my column name. Also I think you need to run this only for specific catalog item so if yes then add that query as well.

try this:

send1streminder();
function send1streminder() {
var task = new GlideRecord('sc_req_item');
task.addQuery('active', 'true');

var encodedQuery = task.variables.ex_date + 'RELATIVEGE@dayofweek@ahead@30^' + task.variables.ex_date + 'RELATIVELE@dayofweek@ahead@31';

task.addEncodedQuery(encodedQuery);
task.query();
while(task.next()){
gs.eventQueue('last_date', task, gs.getUserID(), gs.username());
}
}

Mark Correct if this solves your issue and also hit Like and Helpful if you find my response worthy based on the impact.
Thanks
Ankur

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

View solution in original post

20 REPLIES 20

Ct111
Tera Sage

Hi chanikya,

 

If you are writing this script for workflow then let it be ,  because in Workflow you can attach a Timer activity in which there is option of  setting field based on a date type.  And then after the timer you can

attach Notification , as a result notification will directly be trigger 30 days before that . See the screenshot

 

 

 

find_real_file.png

Mark my ANSWER as CORRECT if it served your purpose.

 

but here End Date is Variable

So how can i  do it?

 

find_real_file.png

Ankur Bawiskar
Tera Patron
Tera Patron

Hi Chanikya,

So before 30days from the end date you need to trigger the email.

following query you can use:

my field u_sample_date you can replace with yours

u_sample_dateRELATIVEGE@dayofweek@ahead@30^u_sample_dateRELATIVELE@dayofweek@ahead@31

Mark Correct if this solves your issue and also hit Like and Helpful if you find my response worthy based on the impact.
Thanks
Ankur

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

shall i have to write Schedule job for this?

end Date is Variable in RITM

find_real_file.png