How to Continue Sending Email Notifications for Breached SLAs

spaceyjacey
Kilo Contributor

We've already reached the final escalation intervals (which is "Overdue") for SLAs and we have an email notification firing on each of the other intervals (Moderate, High, and Overdue). We want to continue sending email notifications weekly for Incidents and Problems that are Overdue. Rather than creating a large number of escalation intervals, is there any easier way to do this?

8 REPLIES 8

kcaldwell
Kilo Expert

Rather than ending the workflow immediately after setting the SLA to Breached. Put a Timer after the Breach Event for the time frame to send the event off again 7 days and loop back to fire the SLA Breach Event again.

The SLA should stop after it meets the SLA conditions for stopping but you could always put an IF in place so that if the Task is Closed the the workflow will go to End and IF Task not Closed fire the Event again.


Hello Everyone,


I am relatively new to the SN world, we just went live replacing our ticketing system with SN.


I am trying to achieve a repeat notification for breached sla's as is being discussed here.



I have the following setup in my visual workflow and was curious if I am correct in assuming that since I do not have an 'end' set at the back of the workflow that it will just repeat the 1 day 'timer'? So all breached sla tickets will receive the notification every day?


find_real_file.png


I have this in our test environment and I am trying it out but if anyone has any input, it would be appreciated.


Try like the below,


You will get success


Dont link the SLA Percentage Timers one by one.


find_real_file.png


Not applicable

You'd achieve this by scheduling a weekly job to fire a business rule. The BR would then fire a custom event on the outstanding tickets. The event then fires off the email notifications you require (geez.. sounds like the Mousetrap boardgame..)

The following is a suggestion, but not tested:


// Email reminderer for overdue incidents
// When: Job
var gr = new GlideRecord('incident');
gr.addQuery('escalation', '=', '3'); // Overdue incident
gr.addQuery('incident_state', '<', '6'); // Not resolved or closed
gr.query();

while(gr.next()){

gs.eventQueue('incident.escalated.job', gr, gs.getUserID(),gs.getUserName());

}


You could fire one of the existing events, but you get more control firing a custom, thus event "incident.escalated.job" needs to be created.