We are turning on customer portal and we need new registered portal users to access custom object records already created (aka. the new portal user doesn't own this record). How do we grant access to this portal user without destroying access to internal users? Some options, but not sure which one to choose...

  • change record owner to this new portal user
  • OR add portal user role above an internal role in hierarchy (but then how do we make sure no other portal user can access this record?)
  • apex managed sharing to share record to the correct contact lookup linked to portal user (but not sure if this works with portal users or when to trigger this)

2 Answers 2


The first thing to understand is that customer portal users don't have access to the sharing model and role hierarchy so your bottom two suggestions won't work.

Customer portal users are only allowed access to objects that they own or objects that are associated via lookup to the portal user's account or contact record. This is done via Sharing Sets. Custom objects that do not have a lookup to Account or Contact, cannot be shared to a customer portal user via sharing sets.

The other option is to transfer ownership to the portal users, as you indicated as one of your options. You can then follow the instructions for configuring the portal Share Group in portal configuration settings.

Information about Sharing Sets and configuring the customer portal to share objects owned by portal users with internal users is outlined in the Customer Portal Implementation Guide.

Can you confirm though, are you talking about Customer Portal licenses, which are now deprecated for new Salesforce customers in favor of the newer Customer Community license?

  • Superb and straight answer I could not even get from premium support. Stack exchange rocks. I am talking about customer portal and authenticated sites licenses. Are you aware of any differences with communities? Jan 2, 2014 at 6:08
  • Do you know why only the authenticated website licence based profile shows up when setting a sharing set? We are using Customer Portal based licenses not Sites Jan 3, 2014 at 1:11

Actually, I have found that Apex managed sharing does work for customer portal users in certain situations. If the custom object is owned by a customer portal user, then I can insert a managed sharing record for another unrelated customer portal user.

The custom object is not linked to the account or contact of the unrelated portal user.

However, if the custom object is owned by an Authenticated Website (high volume) user, then I cannot insert a sharing record for a customer portal user. I get an error "insufficient access rights".

You must log in to answer this question.

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