Notification Delegation

KritiK
Tera Contributor

Hi @everyone,

Currently, using out-of-the-box (OOB) features in ServiceNow, all notifications can be delegated to a user's delegate. However, based on our requirement, we only want to delegate specific notifications (around five or six) to the delegate user. Is this feasible? If so, how can we implement it?

 

if anyone know please let me know quickly

6 REPLIES 6

SN_Learn
Kilo Patron
Kilo Patron

Hi @KritiK ,

 

You can try 'Exclude Delegate' feature

SN_Learn_0-1751626076570.png

 

 

----------------------------------------------------------------
Mark this as Helpful / Accept the Solution if this helps.

nityabans27
Mega Guru

Hi @KritiK,

Yes, this is feasible — but not directly through OOB configuration alone. Out of the box, ServiceNow's delegation of notifications is global: once you set a delegate, all notifications meant for the user also go to the delegate.

However, your requirement is to delegate only specific notifications, which means a custom solution is needed. Here’s how to approach it:


✅ Goal: Selectively delegate only specific notifications

🔧 Solution: Use custom scripting in the Notification(s)

Instead of relying on the global "Delegate To" behavior, modify the specific notifications you want to be delegate-aware using custom scripts in the notification's "Condition" or "Script" tab.


🔨 Steps to Implement:

1. Disable global delegate behavior

  • Under System Policy > Email > Email Properties, check that "Enable delegate for notifications" is not globally redirecting all notifications (or ignore it for selected ones).


2. Edit the notification(s) you want to support delegation

For each of the 5–6 notifications:

a. Go to System Notification > Email > Notifications
b. Open the specific notification (e.g., "Assignment Notification")
c. Scroll to "What will it contain?" → "Who will receive"

Add a custom script like:

// Primary recipient
var recipients = [current.assigned_to];

// Check if delegation is active
var delegateGR = new GlideRecord('sys_user_delegate');
delegateGR.addQuery('user', current.assigned_to);
delegateGR.addQuery('active', true);
delegateGR.addQuery('starts', '<=', gs.nowDateTime());
delegateGR.addQuery('ends', '>=', gs.nowDateTime());
delegateGR.query();

while (delegateGR.next()) {
    recipients.push(delegateGR.delegate);
}

recipients; // Return array of users

✅ This ensures only this notification gets routed to the delegate — others remain unaffected.


3. Add a custom condition (optional)

If you want to restrict delegation further (e.g., only for incidents of type X), add that logic in the condition or in the script block above.

 

If you found my answer helpful, please accept it as a solution and mark it helpful.
Thanks and regards
Nitya Bansal

Hi @nityabans27,
In first step you are saying  

  • Under System Policy > Email > Email Properties, check that "Enable delegate for notifications" is not globally redirecting all notifications (or ignore it for selected ones)."
    but it's not available this checkbox on the Email properties.



 

Hi @KritiK ,
I understand there is no such checkbox available. What you can do instead is use script in advanced condition and eliminate selecting delegates on whom to send.

// Add user directly, avoiding delegation
var gr = new GlideRecord('sys_user');
if (gr.get('<user_sys_id>')) {
    template.print(gr.email);
}