function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
kelly.lu1.3940702104676975E12kelly.lu1.3940702104676975E12 

How I can use trigger to update user's public group?

I want to update user's public group when account changed or user profile changed.How can I dynamatic update it through trigger?
Best Answer chosen by kelly.lu1.3940702104676975E12
~Onkar~Onkar
Ohh No Need to delete the GROUP. Need to delete UserEntry from GroupMember Object

EX:
GroupMember GM  = [Select Id from GroupMember where UserOrGroupID = <<USERID>> and Group.Name = '<<GroupName>>>'];
Delete GM

Onkar Kumar

All Answers

~Onkar~Onkar
You Can not update the user Public Goup. You need to Delete the old group and insert new Record in GroupMember Object with new GroupID. As Group Member is not updatedable.

~Thanks,
Onkar Kumar
kelly.lu1.3940702104676975E12kelly.lu1.3940702104676975E12
If there are other users in this group,i donot want to delete this group,i just want to update this user to different group,how can i do that?

Thanks

~Onkar~Onkar
Ohh No Need to delete the GROUP. Need to delete UserEntry from GroupMember Object

EX:
GroupMember GM  = [Select Id from GroupMember where UserOrGroupID = <<USERID>> and Group.Name = '<<GroupName>>>'];
Delete GM

Onkar Kumar
This was selected as the best answer
kelly.lu1.3940702104676975E12kelly.lu1.3940702104676975E12
thank you
PrasanntaPrasannta (Salesforce Developers) 
Hi,

Please try using this sample code to users to Public Group using trigger in Salesforce-


trigger AddToPG on User (after insert, after update) {
    List<GroupMember> GMlist = new List<GroupMember>();
    for(User U : Trigger.New) {
        if(U.isActive) {
            GroupMember GM = new GroupMember();
            GM.GroupId = '00GU0000001Zjeq';
            GM.UserOrGroupId = U.Id;
            GMList.add(GM);        
        }
    }
    if(!GMList.isEmpty()) {
        System.debug('Group Member List is ' + GMList);
        insert GMList;
    }
}

Hope this helps.