Awaiting User Info automated reminder

leslie8
Mega Expert

I have a requirement that incidents in the Awaiting User Info state for longer than 2 days must send an email notification to the Caller reminding them that their incident is awaiting a response.

I'm wondering the best way to approach this functionality.

My first thought would be to create a Workflow that has a timer and triggers an event in the registry. However this seems like it might be overly complex.

What would be a simpler method?

I was also thinking a Business Rule would trigger an event. Although, I would need to create a Date/Time field that is associated with the Awaiting User Info state and we need some sort of timer to keep track of the 2 business days duration.

Just looking for anyone who has implemented a similar feature or any ideas on the best approach.

7 REPLIES 7

Vladi
Tera Contributor

Hi,


we made a Reminder, where the date between 1 and 28 days in the future can be chosen (Business Rule). Reminder will be visible only when State is "Awaiting ..."(UI Policy). Scheduled job checks daily, if in the Table Incident is a Reminder set for Today and State "Awaiting..." If found, State will be change to "Active", Work Notes will get an update, this will trigger a message to Assignee and Reminder emptied. Feel free to comment and use. Mark helpful if it was


Business Rule:


find_real_file.png


Business Rule script:


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


  // Add your code here


var reminder = current.u_reminder;


if (reminder < gs.daysAgoStart(-1) || reminder > gs.daysAgoEnd(-28)) {


gs.addInfoMessage('Reminder should be between 1 and 28 days from today');


current.state = previous.state;        


current.setAbortAction(true);


}


})(current, previous);



UI Policy


find_real_file.png


Execute if false :


function onCondition() {


  g_form.setValue('u_reminder', '');


}



Scheduled Daily Script:



var today = 'u_reminderdONToday@javascript:gs.daysAgoStart(0)@javascript:gs.daysAgoEnd(0)';


var inc = new GlideRecord('incident');


inc.addQuery('state', 'IN', '4,5'); //Awainig User Info or Awaiting 3rd Party Info


inc.addEncodedQuery(today);


inc.query();


while (inc.next()) {


inc.state = 2;


inc.u_reminder = '';


inc.work_notes = "Incident is activated automatically based on Reminder";


inc.update();


}


vinothkumar
Tera Guru

Hi Leslie,



we have also implemented similar by creating a scheduled job, that will check the state of the incident and not updated more than two days and also created a new notification and we are triggering this notification via scheduled job and also updating the work-notes of the incident.



make sure to include gr.autoSysFields(false); so that system fields wont be updated.


Hi,

 

Would u mind to share out the step on creating schedule job for the reminder notification please/