Below is my requirement: There are multiple programs within the org and I have this requirement.

Part 1: Profile A should only be able to see Program A data (Accounts, Customers, etc..) Part 2: Profile B should be able to see all client's data except Program A data.

I have been able to complete Part 1 by marking the OWD of all the required objects private and creating a new sharing rule on each of those objects to extend access to a group of users who are part of Profile A. The criteria filters only Program A data and extends access to Group A.

For Part 2, I am not sure which Salesforce feature I can use to restrict access in the same way I extended access using sharing settings in Part 1.

Any thoughts or suggestions would be much appreciated. I have been struggling on this for a while now.

1 Answer 1


You can't share "all but this group's" data. You would need to build a group for profile A records, then a second group for all records except profile A's data, and share it with profile B via another group. This means you probably need three groups altogether.

  • Correct me if I'm wrong but this is what I would have to do from what you are saying: There are 11 objects I need to create new sharing settings for and 3 programs. So 3 public groups and 33 new sharing settings. Mar 25, 2021 at 5:06
  • @BabbarSiddiq If that's what you need to do, yes.
    – sfdcfox
    Mar 25, 2021 at 5:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .