Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Dynamic Groups

sharukh
Tera Contributor

Is it possible dynamically to add or remove members based on the Role from the Groups.

For Example: I have created a group called Test and added a role "it_demand_manager" to the group. when a new user is created and added a role "it_demand_manager" to that user. Then that user is automatically should be added to the "test" Group.is it possible for that type of configuration or if u have any reference documents.please share this now.

Thanks in Advance

1 ACCEPTED SOLUTION

Sandeep Rajput
Tera Patron
Tera Patron

@sharukh Create following business rule on sys_user_has_role table.

 

Replace role with your custom role it_demand_manager in filter conditions

Screenshot 2023-06-21 at 8.19.32 PM.png

Replace sys_id of the role mentioned on line number 5 with your own role.

Screenshot 2023-06-21 at 8.20.23 PM.png

 

Here is the script for the business rule.

 

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

	// Add your code here
	var groupRole = new GlideRecord('sys_group_has_role');
	groupRole.addQuery('role','2831a114c611228501d4ea6c309d626d');//Replace with sys_id of your role
	groupRole.query();
	if(groupRole.next()){
		var groupMember = new GlideRecord('sys_user_grmember');
		groupMember.initialize();
		groupMember.setValue('group',groupRole.getValue('group'));
		groupMember.setValue('user',current.user);
		groupMember.insert();
	}

})(current, previous);

Hope this helps,

View solution in original post

2 REPLIES 2

Sandeep Rajput
Tera Patron
Tera Patron

@sharukh Create following business rule on sys_user_has_role table.

 

Replace role with your custom role it_demand_manager in filter conditions

Screenshot 2023-06-21 at 8.19.32 PM.png

Replace sys_id of the role mentioned on line number 5 with your own role.

Screenshot 2023-06-21 at 8.20.23 PM.png

 

Here is the script for the business rule.

 

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

	// Add your code here
	var groupRole = new GlideRecord('sys_group_has_role');
	groupRole.addQuery('role','2831a114c611228501d4ea6c309d626d');//Replace with sys_id of your role
	groupRole.query();
	if(groupRole.next()){
		var groupMember = new GlideRecord('sys_user_grmember');
		groupMember.initialize();
		groupMember.setValue('group',groupRole.getValue('group'));
		groupMember.setValue('user',current.user);
		groupMember.insert();
	}

})(current, previous);

Hope this helps,

Thank you so much @Sandeep Rajput .It was helpful