We have created a community for end users to be able to add, update and see their own cases.

The end user is able to create their cases just fine however when one of the agents takes ownership of the case, the end user looses visibility of it.

Does anyone have experience with communities and cases visbility?

Thnxs in advance!!!

  • 3
    What licenses are your end users using? You should consider adding that key piece of information to your question. – greenstork Oct 2 '13 at 16:48

You want to create a sharing set. (taken you're using customer community)

Organisation Wide-Defaults

In theory, you could provide Public access for either Cases or Contacts. However, doing that would almost never make sense for an organization. Think about it — you would be providing each of your customers visibility into all Contact and Case records for all of your other customers. Assume your Organization-Wide Default for both objects is Private.

enter image description here

Sharing Sets

To mitigate the deliberate, but potentially debilitating, gap in the sharing functionality between Customer and Partner Communities, you can create one or more Sharing Sets here: Build > Customize > Communities > Settings > Sharing Sets. Scroll down to the “Sharing Sets” section and click “New”:

enter image description here

The first key piece to understand about how Sharing Sets work is that no more than one Sharing Set can be created for each available profile. You cannot create multiple Sharing Sets that provide different access and apply both to the same profile. Go ahead and set your label and description for your Sharing Set. Next, select one or more profiles for this Sharing Set to apply to.

enter image description here

On to the fun part. Here, you’ll need to select the applicable object. In this case, you’ll want to select Case and move it to “Selected Objects”. Go ahead and click on “Set Up” next to Case and the Access Mapping for that object will appear:

enter image description here

As I stated before, the going assumption is that you want to provide Read/Write access to all of the submitting Contact’s colleagues. To do this, you will want to share the Cases to which all Contacts on the submitting User’s Account has access. In other words, provide access to all Contacts where his/her Account = Case.Account. Here is the configuration:

enter image description here

Say for example you wouldn't want to share all cases logged on the account of the user which is currently logged in in the community, but just the cases who have the contact lookup filled in, and the chosen contact has the same account of the logged in user, this would be your configuration.

enter image description here

Credit to Phil Weinmeister of EDL Consulting for the nice blogpost

| improve this answer | |

You'll need a sharing set on Cases in the community settings to enable the community user to view a case associated with his/her contact record.

EDIT: more information about configuring Sharing Sets here: https://help.salesforce.com/apex/HTViewHelpDoc?id=customer_portal_setting_light_users.htm&language=en

| improve this answer | |

I got the same problem recently, my case had to be assigned to a Queue. What you can do is :

1) To Use CaseTeam/CaseTeamMember/CaseTeamRole, if your community user is a portal user, you add his contact id as a Member of the case, otherwise user id. It's actually really usefull for sharing case with different users/contacts.

CaseTeamMember UserTeamMember   = new CaseTeamMember();
UserTeamMember.MemberId     = usr.ContactId;
UserTeamMember.ParentId     = myCase.Id;
UserTeamMember.TeamRoleId   = myCaseTeamRole.Id
insert UserTeamMember;

2) Make your controller "global", but in that case you will need a little bit of security to be sure the current user can have access to the case, i.e : case.CreatedBy = CurrentUser.Id or case.ContactId = currentUser.ContactId.

There is probably a lot of different options.

| improve this answer | |

Greenstork's answer links to solution for Customer Portal, not Customer Community. It took me a while googling to find proper answer, so I'm posting proper link:


| improve this answer | |

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.