Notify when request is set on hold

  1. Create you Multiple Notification Macro







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














  3. Use the Schema Desinger to add the rigger to the cr table.
    POST_VALIDATE zcr_attach_onhold_events() 90 FILTER(status { -> 'HOLD'});
  4. 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.
  5. Bounce the service
    This method stays internal to Service Desk and requires no external applications or scripts. Much better approach in my opinion.