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
tonantetonante 

Making certain object Record Posts private for some Private Chatter Group Members

HI, we have a private chatter group based on Account Feed Tracking with a few members added. However we would like to be able to make any Account  records posted to the group invisible to all members except the Account Owner.

Is there any way to do this?   (I have the triggers doing feed posts to the group already with FeedItem object. I just need to direct them to the Account Owner only).

 Thanks much for any advice or suggestions.
Best Answer chosen by tonante
ChristinaRallChristinaRall

Hmm. That is an interesting problem. Based on how I understand your issue, FLS is not going to be your best bet. Field level security (FLS) applies to a profile not a user. The more you describe, the less this sounds like what you want. You can watch the video in the link I provided on FLS to get a bettter idea of how they work. 

I assume by account record feed posts you mean the FTC (feed track change) that are generated when a field has been chaged. For these, if a user does not have access to a field, they will not see the FTC.

I'm not sure what your best option is going to be here, but it sounds like you have a group that contains a lot more information than any individual in the group would want. What may work better is having account owners collect their own accounts into streams so that they can keep track of their own accounts seperately from the group. The group would then only be used for the @mentions and polls, etc that you described. It is a less centralized solution, but since you want each member of the group to see different data, a less centralized solution may be a good option.

Info on streams: https://help.salesforce.com/articleView?id=collab_chatter_streams_overview.htm&language=en_US&type=0 

All Answers

ChristinaRallChristinaRall
You can use FLS to only allow a user access to a field, then they would be the only ones to see Feed Track Changes for that field.
Link to info on FLS: https://help.salesforce.com/articleView?id=admin_fls.htm&type=0
tonantetonante
So can we do the settings of FLS for specific users  dynamically once the feed for the account record has been posted? Thanks Christina.
ChristinaRallChristinaRall

Hi I'm not sure I understand your question. FLS applies to a Field on an Object. If a user has read access to a field and the field is being tracked then the user can see the Feed Tracked Change post.  

Is this what you are asking about or am I trying to solve the wrong problem? If this is not what you need, can you explain more specifically what you are trying to do? 

tonantetonante
Well we're trying to automate the FLS process. We may have about 20+ private members of this Private group and they all generally have access to the two fields we have being tracked and each of these members are Account Owners but the problem seems to be that we would need to dynamically (using code) restrict (remove visibility or access) the other 19 members in the group from being able to view the 20th member's Account Record feed post to the group when either of those two fields are updated. Does this make sense? So in other words we can have group members @memo each other and us Polls etc but when it comes to certain record fields we need to restrict the other 19 from having field visibility or access using code so that the record owner would be the only one to view that post. I don't think that process can be done manually because as soon as another account record has its fields updated then whoever the owner is for that record (It could be a different member of the private group) will be the only one to see the post. Thanks.
ChristinaRallChristinaRall

Hmm. That is an interesting problem. Based on how I understand your issue, FLS is not going to be your best bet. Field level security (FLS) applies to a profile not a user. The more you describe, the less this sounds like what you want. You can watch the video in the link I provided on FLS to get a bettter idea of how they work. 

I assume by account record feed posts you mean the FTC (feed track change) that are generated when a field has been chaged. For these, if a user does not have access to a field, they will not see the FTC.

I'm not sure what your best option is going to be here, but it sounds like you have a group that contains a lot more information than any individual in the group would want. What may work better is having account owners collect their own accounts into streams so that they can keep track of their own accounts seperately from the group. The group would then only be used for the @mentions and polls, etc that you described. It is a less centralized solution, but since you want each member of the group to see different data, a less centralized solution may be a good option.

Info on streams: https://help.salesforce.com/articleView?id=collab_chatter_streams_overview.htm&language=en_US&type=0 

This was selected as the best answer
tonantetonante
Yep Thanks ChristinaRall:  I bleiev that is exactly what I want: "What may work better is having account owners collect their own accounts into streams so that they can keep track of their own accounts seperately from the group."

After reviewing the Chatter Streams link you sent me, this may be the best bet because although the Account and Affiliation feed tracking will be the same for every field rep user, we want to make sure that each of these users get notified only when their acocunts that they own are updated by field updates that are tracked by feed tracking. A good example of how to do this dynamically is here:https://salesforce.stackexchange.com/questions/177928/create-a-custom-chatter-stream-from-apex-connectapi
tonantetonante
Another way to do this is to AutoFollow acocunt records via code.  You can do this with  the Entity Subscription object giving it  both the Acocunt Owner and the Account Id.  Now I just need to know how to filter on feed tracked fields so as not to display certain feeds if the value of the field doesn't match the desired criteria for displaying the feed.