Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Add newly added watchlist member to "TO" address of a notification.

Atchutaram
Tera Contributor

I have a requirement to send a notification on incident to  newly added user of watchlist. the newly added user email should be the to address. How can i achieve this? 

 

 

Thanks in advance.

 

3 REPLIES 3

James Chun
Kilo Patron

Hi @Atchutaram,

 

You can trigger an event via a BR when a new user is added to the watchlist.

Include the 'new' user in the event's parameter and you can use it for the notification's recipient.

 

Cheers

Hi @James Chun 

I have done that it is working for one user, but when we add new user its not working here is the code

 

function onBefore(current, previous) {

    // Add your code here
    var array = new ArrayUtil();
    var currArr = current.watch_list.split(',');
    var prevArr = previous.watch_list(',');
    if (array.diff(currArr, prevArr).length > 0) {
        gs.eventQueue('watchlist_add', current, array.diff(currArr, prevArr).toString());
    }

}(current, previous);

Hi @Atchutaram,

 

I would advise using the 'after' Business Rule instead of 'before'.

Below is the modified script:

 

(function executeRule(current, previous /*null when async*/ ) {

    var arrayUtil = new ArrayUtil();
    var currArr = current.watch_list.split(',');
    var prevArr = previous.watch_list.split(',');

    //Find difference bewteen current and previous lists
    var diffArr = arrayUtil.diff(currArr, prevArr);

    //Find 'new' added users only
    var newArr = arrayUtil.intersect(currArr, diffArr);

    if (newArr.length > 0) {
        gs.eventQueue('watchlist_add', current, newArr.join(','));
    }

})(current, previous);