I am struggling to get the concept of sharing rules vs sharing sets when it comes to sharing records owned by an internal user to a community user which has a license of Customer Community Login User.

Current Scenario:

  • Custom Object - My_Object__c
  • Owner - Internal User
  • Target shared with Community portal users
  • Sharing rules setup on My_Object__c: All internal users records shared with All Customer Portal Users

My question is, why is it if I use sharing rules, the data doesn't show in community for the users. And if I use sharing sets, it displays.

1 Answer 1


The problem is that the Customer Community license doesn't support advanced sharing. Ref (at the bottom of this document).

Advanced sharing is things like User-based, Criteria-base sharing territories and more. Your only option is a sharing set for this user license.

Given you want everyone to be able to see ALL records, have you considered making the org-wide-defaults for the object public read-only?

  • Hi Caspar! I guess sharing set is the way to go. I appreciate the explanation. I understand it now thanks to this document. Yes we have considered making it to public read-only but there was a requirement from client for the internal users to make it restrictive.
    – malacdon
    Mar 13, 2022 at 23:07

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.