- 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
Hi @Akshata5
Can you try below code ...!!!
/*1. Create group */
var gr = new GlideRecord('sys_user_group');
gr.initialize();
gr.name = current.variables.user_group_name;
var grSysId = gr.insert(); //get the sys_id of newly created group in variable
var userArr = user.toString().split(','); // assuming you are getting sys_id's here
for(var i=0; i<userArr.length; i++) {
/*Check if user is member of group*/
var grmem = new GlideRecord('sys_user_grmember');
grmem.addEncodedQuery('user=' + userArr[i] + '^group=' + grSysId);
grmem.query();
if(!grmem.next()){
/*Add user to group */
var grAddMem = new GlideRecord('sys_user_grmember');
grAddMem.initialize();
grAddMem.setValue('group',grSysId);
grAddMem.setValue('user',userArr[i]);
grAddMem.insert();
}else {
//user is laready member of group
}
}
ServiceNow Developer
I know one thing, and that is that I know nothing.
- Socrates
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 02:07 AM
Thank you. I tried below. Now it even stopped creating group.
var gr = new GlideRecord('sys_user_group');
gr.initialize();
gr.name = current.variables.user_group_name;
var grSysId = gr.insert();
var userArr = current.variables.user_group_approvers.toString().split(',');
for(var i=0; i<userArr.length; i++) {
/*Check if user is member of group*/
var grmem = new GlideRecord('sys_user_grmember');
grmem.addEncodedQuery('user=' + userArr[i] + '^group=' + grSysId);
grmem.query();
if(!grmem.next()){
/*Add user to group */
var grAddMem = new GlideRecord('sys_user_grmember');
grAddMem.initialize();
grAddMem.setValue('group',grSysId);
grAddMem.setValue('user',userArr[i]);
grAddMem.insert();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 02:23 AM
Hi @Akshata5
Strange...!!
Can you add some logs and check....!!
For me it's working...
ServiceNow Developer
I know one thing, and that is that I know nothing.
- Socrates
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2023 01:50 AM
Hi @Akshata5 ,
In order to add Members to the Group via script u need to create a script on "sys_user_grmember" table.
Sharing a sample script with u. Kindly modify it as per requirement.
var gr = new GlideRecord('sys_user_grmember');
gr.initialize();
gr.group = "<Group SYs ID>";//Please enter Group Sys ID
gr.user = "<User Sys ID>"; //Please enter User Sys ID
gr.insert();
Thanks,
Danish