Add user to group automatically

Kruthik M Shiva
Tera Contributor

Hi All,
I have a requirement to add user to the group automatically whenever the user is selected as manager for the unit's table.
Scenario: I have unit's table which has two fields Name and Manager (reference field). So once any unit is created/updated then I need to add that particular user to the manager group which I have created. It's should also check that if he is already part of that group then it should not create duplicate entry in the group.
Please do provide solution for this.
Thanks in advance.

1 ACCEPTED SOLUTION

Vishal Birajdar
Giga Sage

Hi @Kruthik M Shiva 

 

Can you try below code :

 

Before or After  -  Insert/update Business rule as per your need

Condition : Manager chanages

 

//get value of manager form manager field
 
var currentManager = current.getValue('manager');
    if (currentManager) {

        /* Glide record on "sys_user_grmember" to add group member */

        var grMem = new GlideRecord('sys_user_grmember');
        grMem.addEncodedQuery('group=' + groupSysId + "^user=" + currentManager);
        grMem.query();
        if (grMem.next()) {
            //Already an member
        } else {

            // Add member to group

            grMem.initialize();

            grMem.setValue('group', groupSysId);

            grMem.setValue('user', currentManager);

            grMem.insert();

        }

 

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

View solution in original post

2 REPLIES 2

Vishal Birajdar
Giga Sage

Hi @Kruthik M Shiva 

 

Can you try below code :

 

Before or After  -  Insert/update Business rule as per your need

Condition : Manager chanages

 

//get value of manager form manager field
 
var currentManager = current.getValue('manager');
    if (currentManager) {

        /* Glide record on "sys_user_grmember" to add group member */

        var grMem = new GlideRecord('sys_user_grmember');
        grMem.addEncodedQuery('group=' + groupSysId + "^user=" + currentManager);
        grMem.query();
        if (grMem.next()) {
            //Already an member
        } else {

            // Add member to group

            grMem.initialize();

            grMem.setValue('group', groupSysId);

            grMem.setValue('user', currentManager);

            grMem.insert();

        }

 

 

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

Hi @Vishal Birajdar ,
Thanks for the help its working.