Notify when request is set on hold
- Create you Multiple Notification Macro



- Create your Event
There should be no repeat and the action on true is the marco you just created






- Use the Schema Desinger to add the rigger to the cr table.
POST_VALIDATE zcr_attach_onhold_events() 90 FILTER(status { -> 'HOLD'});
- Create your spl file
cr::zcr_attach_onhold_events(...) {
object group_leader;
object attached_events_table_record;
send_wait(0, top_object(), "get_co_group");
if (msg_error()) {
logf(ERROR, "%s - %s", ref_num, msg[0]);
}
group_leader = msg[0];
send_wait( 0, top_object(), "call_attr", "atev", "get_new_dob", NULL, NULL, group_leader);
if (msg_error()) {
logf(ERROR, "%s - %s", ref_num, msg[0]);
}
attached_events_table_record = msg[0];
attached_events_table_record.obj_id = persistent_id;
attached_events_table_record.event_tmpl = "evt:NNNNNNN";
send_wait(0, group_leader, "checkin");
if (msg_error()) {
logf(ERROR, "%s - failed to attach event 'NNNNNNN' via the zcr_attach_onhold_events script", ref_num);
} else {
logf(SIGNIFICANT, "%s - successfully attached event 'NNNNNNN' via the zcr_attach_onhold_events script", ref_num);
}
}
Note: Replace NNNNNNN with the ID of the event you created. This is the ID found in the database, not the name of the event.
- Bounce the service
This method stays internal to Service Desk and requires no external applications or scripts. Much better approach in my opinion.