Approver Getting Multiple Email Notifications

WP2
Kilo Guru

Hello,

I have an "Approver" receiving two approval request email notifications for the same ticket which also generates two approver requests. I checked the workflow and notification to see why this might be happening but didn't see anything in particular. Has anyone experienced a similar issue and able to guide me in finding the root cause?

This issue seems to occur ONLY when there is a request via the request button on the case, not for automatic request.

find_real_file.png.

The workflow screenshot below:

find_real_file.png

Thank you.

1 ACCEPTED SOLUTION

WP2
Kilo Guru

It turned out that the request for approval button was being clicked twice. This was not a system problem but rather the requestor requesting multiple approvals

View solution in original post

16 REPLIES 16

VigneshMC
Mega Sage

Adding additional approval record for the same user and same record is the root cause for notifications.

There is a considerable time difference between two approvals. So validate your workflow, check if multiple workflows are added to the same record, check business rules.

Thanks

Actually, this issue seems to occur ONLY when there is a request via the request button on the case, not for automatic request.

Can you check the request button code ?

 

Hello Vignesh,

Below is the code. I also noticed this is happening to ONLY ONE approver.

Onclick: addApprover()

Condition: current.state!=4 && current.state!=3 && current.state!=7

function addApprover(){
//Open a dialog window to select Approval Groups
var sysId = typeof rowSysId == 'undefined' || rowSysId == null ?
g_form.getUniqueValue() : rowSysId;
var dialogClass = GlideModal ? GlideModal : GlideDialogWindow;
// Original
// var dialog = new dialogClass('sn_hr_core_HR Suspend Dialog');
var dialog = new dialogClass('sn_hr_core_add_approver');

dialog.setTitle(getMessage('Select Approver'));
dialog.setPreference('sysparm_order_sys_id', sysId);
dialog.setPreference('sysparm_ok_button_name', getMessage('Suspend'));
dialog.on('suspendSuccess', function() {
dialog.destroy();
// Just to be safe, let's set the state to 24 (suspended) before saving
gsftSubmit(null, g_form.getFormElement(), 'sysverb_update_and_stay');
});
dialog.render();
}