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

Send Email Notification when Incidents created after hours

etobia
Kilo Expert

Hello,

Looking for some guidance on how to do this. The goal is to send a different email notification to incidents created after hours. The notification will basically say we will review incident next business day. Hoping to get some help on scripting this.

I would probably need to create the following. Unless if can recommend other way of doing it. Best practice???

Event to trigger notification

Business Rule

Notificaition

Thank You,

Edwin

1 ACCEPTED SOLUTION

You will have to change this to send when an event is fired. Register a new event and change this notification to go out when that event is fired. In your existing business rule add an else condition


var sched = new GlideSchedule('sys_id of your schedule goes here');


    var d = new GlideDateTime(current.opened_at);


    if (sched.isInSchedule(d)) {


        gs.eventQueue('event name',current,current.caller_id);


}


else{


gs.eventQueue('event name 1',current,current.caller_id);


}


View solution in original post

39 REPLIES 39

Will do Abhi.



Thank you.


Hi Abhi,



The normal notification did not work, creating a new event and business rule. What happened was it just stop sending email notification during business hours. I am currently troubleshooting this.



Edwin


Abhinay Erra
Giga Sage

You do not need a new business rule. You can add else condition to the existing business rule.


Here's the updated BR.



(function executeRule(current, previous /*null when async*/) {


     


      // Add your code here


     


      var sched = new GlideSchedule('8b65551c6fae8500b3a2f941be3ee419');


     


      var d = new GlideDateTime(current.opened_at);


     


      if (sched.isInSchedule(d)) {


             


              gs.eventQueue('incident.created.offhours',current,current.caller_id);


      }


      else


                     


      if (sched.isInSchedule(d)) {


             


              gs.eventQueue('Incident.Created.BusHours',current,current.caller_id);


      }


})(current, previous);


Abhinay Erra
Giga Sage

use this


(function executeRule(current, previous /*null when async*/) {



  // Add your code here



  var sched = new GlideSchedule('8b65551c6fae8500b3a2f941be3ee419');



  var d = new GlideDateTime(current.opened_at);



  if (sched.isInSchedule(d)) {



  gs.eventQueue('incident.created.offhours',current,current.caller_id);


  }


  else


  {



  gs.eventQueue('Incident.Created.BusHours',current,current.caller_id);


  }


})(current, previous);




Did you create a new event with name "Incident.Created.BusHours" and used that in the notification?