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.

Auto remove inactive managers from active groups and inactive users from active groups

Sai Santhosh Ch
Tera Contributor

When a user goes inactive we need to check if that user was a manager of a group or if that user was a member of   a group. If the user is a member of a group we will remove them from that group. If they were a manager of that group we need to replace that user with their manager and notify the manager that they have been assigned the group manager.

1 ACCEPTED SOLUTION

Mike Allen
Mega Sage

A business rule on sys_user that says:



before Insert


condition current.active.changesTo('false')



var group = new GlideRecord('sys_user_group');


group.addQuery('manager', current.sys_id);


group.query();


while(group.next()){



group.manager = current.manager;


group.update();


gs.eventQueue('group.manager.changed', group, group.manager, current.name);



}



var grmember = new GlideRecord('sys_user_grmember');


grmember.addQuery('user', current.sys_id);


grmember.query();


while(grmember.next()){



grmember.deleteRecord();



}


View solution in original post

10 REPLIES 10

Thanks!  That was the route we went.