How to add multiple users to multiple groups through catalog item.

Anil Kumar25
Tera Contributor

Here I'm using List collector variables to add users to multiple groups by using flow designer action (script)

I'm using below mentioned script in flow designer to add multiple multiple users to single group, It is working fine. But Now I want to add multiple users to multiple groups. 

find_real_file.png

find_real_file.png

(function execute(inputs, outputs) {
// ... code ...

var users ; //Update users to the list collector variable name
var groupID; //Update group to the group reference variable name
users = inputs.RITM.variables.select_members_to_add_in_group;
groupID = inputs.RITM.variables.select_group_which_you_want_to_modify;
//Add users
var userArr = users.toString().split(',');
for(var i=0; i<userArr.length; i++) {
var memberRec = new GlideRecord('sys_user_grmember');
memberRec.addQuery('user', userArr[i]);
memberRec.addQuery('group', groupID);
memberRec.query();
if(!memberRec.next()) {
memberRec.initialize();
memberRec.user = userArr[i];
memberRec.group = groupID;
memberRec.insert();
}
}

})(inputs, outputs);

 

 

@Ankur Bawiskar , @Pradeep Sharma , @Sandeep Dutta , @Sourabh @sachin.namjoshi  could any please help me.

 

1 ACCEPTED SOLUTION

Ravi Peddineni
Kilo Sage

@Anil Kumar 

Use below code:

(function execute(inputs, outputs) {
// ... code ...

var users ; //Update users to the list collector variable name
var groupID; //Update group to the group reference variable name (This should be q list collector field)
users = inputs.RITM.variables.select_members_to_add_in_group;
groupID = inputs.RITM.variables.select_group_which_you_want_to_modify;
//Add users
var userArr = users.toString().split(',');
var groupArr = groupID.toString().split(',');
for(var i=0; i<userArr.length; i++) {

    for(var j=0; j<groupArr.length; j++){

        var memberRec = new GlideRecord('sys_user_grmember');
        memberRec.addQuery('user', userArr[i]);
        memberRec.addQuery('group', groupArr[j]);
        memberRec.query();

        if(!memberRec.next()) {

            memberRec.initialize();
            memberRec.user = userArr[i];
            memberRec.group = groupArr[j];
            memberRec.insert();
        }
    }
}

})(inputs, outputs);

 

You can achieve this just by using For Each loops in flow itself if you are looking for easier option.

View solution in original post

5 REPLIES 5

Ravi Peddineni
Kilo Sage

@Anil Kumar 

Use below code:

(function execute(inputs, outputs) {
// ... code ...

var users ; //Update users to the list collector variable name
var groupID; //Update group to the group reference variable name (This should be q list collector field)
users = inputs.RITM.variables.select_members_to_add_in_group;
groupID = inputs.RITM.variables.select_group_which_you_want_to_modify;
//Add users
var userArr = users.toString().split(',');
var groupArr = groupID.toString().split(',');
for(var i=0; i<userArr.length; i++) {

    for(var j=0; j<groupArr.length; j++){

        var memberRec = new GlideRecord('sys_user_grmember');
        memberRec.addQuery('user', userArr[i]);
        memberRec.addQuery('group', groupArr[j]);
        memberRec.query();

        if(!memberRec.next()) {

            memberRec.initialize();
            memberRec.user = userArr[i];
            memberRec.group = groupArr[j];
            memberRec.insert();
        }
    }
}

})(inputs, outputs);

 

You can achieve this just by using For Each loops in flow itself if you are looking for easier option.

Thanks for your quick response. It works for me.

Hello Ravindranath,

I am trying to achieve this using flow but stucked in between. Could you please help me the steps how to add multiple users in multiple groups?

Hey @Priyanshi04  Sorry for the late reply I was away from the community for a few months. Were you able to get this figured out?