- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 01:29 AM
Create a Group and add members(we should able add more than two users) to the group through workflow.
I am able to create group but unable to add members to that group. Can anybody help me with script.
var gr = new GlideRecord('sys_user_group');
gr.initialize();
gr.name = current.variables.user_group_name;
gr.insert();
var userArr = user.toString().split(',');
for(var i=0; i<userArr.length; i++)
gr.approvers = current.variables.user_group_approvers;
var grmem = new GlideRecord('sys_user_grmember');
grmem.addQuery('user', userArr[i]);
grmem.addQuery('group', gr.name);
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 01:49 AM
Hi @Akshata5
Try this:
// Get the group name from the catalog item
var groupName = current.variables.user_group_name;
// Create the group
var group = new GlideRecord('sys_user_group');
group.name = groupName;
group.description = 'Group created from catalog item';
var groupID = group.insert();
// Get the group members from the catalog item
var groupMembers = current.variables.user_group_approvers.split(',');
// Add the group members to the group
for (var i = 0; i < groupMembers.length; i++) {
var groupMember = new GlideRecord('sys_user_grmember');
groupMember.user = groupMembers[i];
groupMember.group = groupID;
groupMember.insert();
}
Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 01:49 AM
Please see my comments on the code below
var gr = new GlideRecord('sys_user_group');
gr.initialize();
gr.name = current.variables.user_group_name;
var grp_id = gr.insert();
//gr.approvers = current.variables.user_group_approvers; //Not sure what you are trying to do in thsi line. ythere is no oob field calle dapprovers on group or group member
var userArr = user.toString().split(','); //What is user ? this libe wil not work unless you define user and take its value form a variable
for(var i=0; i<userArr.length; i++)
{
var grmem = new GlideRecord('sys_user_grmember');
grmem.initialize();
grmem.addQuery('user', userArr[i]);
grmem.addQuery('group', grp_id );
grmem.insert();
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 01:49 AM
Hi @Akshata5
Try this:
// Get the group name from the catalog item
var groupName = current.variables.user_group_name;
// Create the group
var group = new GlideRecord('sys_user_group');
group.name = groupName;
group.description = 'Group created from catalog item';
var groupID = group.insert();
// Get the group members from the catalog item
var groupMembers = current.variables.user_group_approvers.split(',');
// Add the group members to the group
for (var i = 0; i < groupMembers.length; i++) {
var groupMember = new GlideRecord('sys_user_grmember');
groupMember.user = groupMembers[i];
groupMember.group = groupID;
groupMember.insert();
}
Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 02:53 AM
I just had to add .tostring() in below line of code to work. Thank you so much for your help.
var groupMembers = current.variables.user_group_approvers.toString().split(',');

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 03:06 AM
Hi @Akshata5,
That would mean that it was already an array. So I guess, you could do without .toString().split(',') completely 🙂
Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.