How to prevent delegate himself from approving their own .

Helan
Tera Contributor
  • Hi,  How to block delegate from approving his own request, and allow the other delegates of the manager to approve or send it to the next level manager for approval. Can anyone please suggest on this?
4 REPLIES 4

miftikhar20
Kilo Patron

Hi @Helan,

This can be achieved by using a Business Rule on the sysapproval_approver table. Since delegate approvals (UI or email) update the same approval record, this is the best place to control the behaviour.

 

There is already a community solution that explains how to block a delegate from approving their own request, while still allowing other delegates or the next-level manager to approve. It uses a Before Business Rule to detect when a user is acting as a delegate and prevents self-approval without affecting valid approvals.

 

Here is the relevant community thread that walks through the solution:

Solved: Prevent Delegate From Approving Their Own Requests - ServiceNow Community

 

If my response helped, please mark it as the accepted solution so others can benefit as well.

 

Thanks & Regards,
Muhammad Iftikhar

If my response helped, please mark it as the accepted solution so others can benefit as well.

We've tried this BR as mentioned but didn't work:(

VaishnaviK16371
Tera Contributor

Hi @Helan !!

 

Create a Before Update Business Rule on the sysapproval_approver table.

When:

  • State changes to approved

Script example (block self-approval)

var approvalRec = current.sysapproval.getRefRecord();

if (approvalRec && approvalRec.requested_for == gs.getUserID()) {
    gs.addErrorMessage('You cannot approve your own request.');
    current.setAbortAction(true);
}

 

Route to next-level manager (optional)

If you want the request to go to the next-level manager instead of blocking:

  • Use an Approval Rule with condition:

    • Requested for = Approver

  • Set approver as:

    • Requested for → Manager → Manager

OR dynamically cancel the approval and create a new approval record for the next-level manager via script.

 

Mark this as Helpful if it clarifies the issue.
Accept the solution if this answers your question.

Regards,
Vaishnavi
Associate Technical Consultant

VaishnaviK16371
Tera Contributor

Hi @Helan !!

If my solution helps you then mark it as helpful and accept as solution.

 

Regards,
Vaishnavi
Associate Technical Consultant