BR

RoshaniB
Tera Expert

want to create a BR script to add approvers to the group  if an approval record has been created in requested state for them or an approval record has been updated to requested state for the approver if they are not already part of the group.

1 REPLY 1

Tanushree Maiti
Giga Patron

Hi @RoshaniB 

 

Try with this After update BR:

 

  • Table: sysapproval_approver 
  • When: After
  • Insert & Update: Checked
  • Condition: State is Requested AND Group is not empty

BR Script

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

    var approverSysId = current.getValue('approver');

    var groupSysId = current.getValue('group');

    if (!approverSysId || !groupSysId) {

        return;

    }

    var grMember = new GlideRecord('sys_user_grmember');

    grMember.addQuery('group', groupSysId);

    grMember.addQuery('user', approverSysId);

    grMember.query();

    if (!grMember.next()) {

        var memberToAdd = new GlideRecord('sys_user_grmember');

        memberToAdd.initialize();

        memberToAdd.setValue('group', groupSysId);

        memberToAdd.setValue('user', approverSysId);

        memberToAdd.insert();       

        gs.info('Added user ' + approverSysId + ' to group ' + groupSysId + ' via Approval Business Rule.');

    }

})(current, previous);

 

Please mark this response as Helpful & Accept it as solution if it assisted you with your question.
Regards
Tanushree Maiti
ServiceNow Technical Architect
Linkedin: