Sharing a detail object with external users

master-detailsharing

Issue

I have a detail object "License" that functions as a junction object between "Software product" and "Account". "Software product" and "Account" are in a many-to-many relationship. Therefore as indicated on this salesforce page I used "License" with two master-detail relationships to couple the two. This makes sense as a license should be deleted when the software product is deleted or when the account is deleted (as licenses are account specific).

I have an external customer community plus user that should be able to see all licenses connected to his account. How can I make the customer community plus user see all licenses?

Settings

  • The organization wide default external sharing settings are set to Private for account & software product. For License they are set to "controlled by parent" as this is obligatory for detail objects.
  • The customer community plus user has a profile that can read accounts and read/write to license objects

Research

I tried using a sharing set but this is not possible for detail objects. The license object does not appear in the list of objects. Sharing rules are also not available for detail objects. I don't know any other way of sharing this object then a sharing set/sharing rules.

I still tried to use a sharing set to share the account of the user with the user again (thinking that as the sharing settings for licenses are set to controlled by parent this might help), to no avail. The licenses remain invisible to the user.

Best Answer

Sharing is controlled by both parent objects of a junction object. See documentation

Sharing access to a junction object record is determined by a user's sharing access to both associated master records and the Sharing Setting option on the relationship field.

Either you have to set Public Read-Only on Software Product for external users, or you'll have to build automation to create/delete manual sharing rules on software product records as needed for each account's community user role.

Related Topic