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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.