Start tracking your progress
Trailhead Home
Trailhead Home

Use Community-Specific Sharing

Sharing Records with High-Volume Portals and Communities

So far, for our partners, we’ve used various sharing capabilities available for all Salesforce users. However, there are specific sharing capabilities available only for external users. Let’s start with sharing sets.

Let’s take a quick look at a video that describes how community-specific sharing works.

We create sharing sets specifically for high-volume portals and communities to make it easier for a large number of external users to see records they need to access. Sharing sets use profiles to give record access to a group of users, unlike sharing rules, which use roles and public groups.

The sharing mechanism used in sharing sets is called access mapping. A sharing set is essentially a container of access mappings.

An access mapping can be defined in two ways.
  • Using a direct lookup on the record you want to share, such as an account associated to a case.
  • Using an indirect lookup on the record you want to share, such as the account associated to an asset which is associated to a case.

Let’s take a look at these sharing sets and access mappings in action.

Working with Sharing Sets

In addition to setting up a partner portal, Ursa Major has plans to set up a customer-facing help center in the future. They plan to have several thousand members in the next couple of years.

A big part of the help center will be case creation: customers can create cases for issues they’re having with their solar panel system.

If you remember, in an earlier step we set the external org-wide default on cases to private. That means every case owner can see only his or her own case.

But Ursa Major wants to give customer users belonging to the same account access to all cases in the account. To share case data, Maria creates a sharing set with access mapping on the case object. The access mapping grants read access to case records where the user account matches the case account. As a result, users within the same account can see each other’s cases.

Let’s follow along as Maria makes this magic happen.
  1. From Setup, enter Communities Settings in the Quick Find box, then select Communities Settings.
  2. In the Sharing Sets related list, click New.
    1. Label: Share Customer Cases
    2. Sharing Set Name: [autopopulates]
  3. Select Customer Community User profile (this is the profile you share cases with).
  4. Select Case. The Available Objects list excludes:
    • Objects with an org-wide sharing setting of Public Read/Write
    • Custom objects that don’t have an account or contact lookup field
  5. In the Configure Access section, click Set Up next to Case to configure access for the selected profiles.
  6. Grant access based on an account lookup:
    1. Select Account from the User dropdown menu.
    2. Select Account from the Target Object dropdown menu field to determine lookup on the target object.
  7. Select Read Only for access.
  8. Click Update.
  9. Click Save.

Now, anytime you add customer users to the account, they automagically have access to all other customer cases within the same account.

Let’s create a customer user in our org. (We’re asking you to take this extra step so we can check to make sure you’ve done the access mapping correctly.)

  1. From the App Launcher, select Accounts.
  2. Select the All Accounts list view.
  3. Click Burlington Textiles Corp of America.
  4. Click Jack Rogers from the contact related list.
  5. Click Dropdown menu and select Enable Customer User.
  6. Change the following in the New User detail page.
    1. Email: [Enter your email address so you can get login information for your newly created users.]
    2. Username: [unique username in an email format]
    3. User License: Customer Community
    4. Profile: Customer Community User
    5. Select the Generate new password and notify user immediately checkbox.
    6. Click Save.