Newer Version Available

This content describes an older version of this product. View Latest

ContactShare

Represents a list of access levels to a Contact along with an explanation of the access level. For example, if you have access to a record because you own it, the ContactAccessLevel is All and RowCause is Owner.

Supported Calls

describeSObjects(), query(), retrieve()

Special Access Rules

As of Summer ’20 and later, only users with access to the Contact object can access this object.

Fields

Field Details
ContactId
Type
reference
Properties
Filter, Group, Sort
Description
ID of the Contact associated with this sharing entry. This field can't be updated.
This is a relationship field.
Relationship Name
Contact
Relationship Type
Lookup
Refers To
Contact
ContactAccessLevel
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Level of access that the User or Group has to cases associated with the account Contact. The possible values are:
  • Read
  • Edit
  • All This value is not valid for create or update.
This field must be set to an access level that is higher than the organization’s default access level for contacts.
IsDeleted
Type
boolean
Properties
Defaulted on create, Filter
Description
Indicates whether the object has been moved to the Recycle Bin (true) or not (false). Label is Deleted.
RowCause
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Reason that this sharing entry exists. You can only write to this field when its value is either omitted or set to Manual (default). There are many possible values, including:
  • Rule—The User or Group has access via a Contact sharing rule.
  • GuestRule—The User or Group has access via a Contact guest user sharing rule.
  • ImplicitChild—The User or Group has access to the Contact via sharing access on the associated Account.

    If Salesforce enables faster account sharing recalculation for your org, sharing entries with this value aren’t returned in queries. Instead of storing implicit child shares, record access is determined dynamically.

    Note

  • ImplicitPerson—The User or Group has access to the business contact of a person account via a Contact sharing rule.
  • GuestPersonImplicit—The guest user has access to the business contact of a person account via a Contact sharing rule.
  • PortalImplicit—The Contact is associated with the portal user.
  • LpuImplicit—The User has access to records owned by high-volume Experience Cloud site users via a share group.
  • ARImplicit—The User, who belongs to a partner or customer account, has access to the Contact via an account relationship data sharing rule.
  • Manual—The User or Group has access because a User with “All” access manually shared the Contact with them.
  • Owner—The User is the owner of the Contact.
UserOrGroupId
Type
reference
Properties
Filter, Group, Sort
Description
ID of the User or Group that has been given access to the Contact. This field can't be updated.
This is a polymorphic relationship field.
Relationship Name
UserOrGroup
Relationship Type
Lookup
Refers To
Group, User

Usage

This object allows you to determine which users and groups can view or edit Contact records owned by other users.

If Salesforce enables faster account sharing recalculation for your org, we no longer store implicit share records between accounts and their child contact records. Sharing entries that have a value of ImplicitChild in the RowCause field aren’t returned when you query this object. Instead, the system dynamically determines whether users can access child contact records when they try to access them. This change speeds up ownership and sharing rule recalculation for accounts.

For more information, see the Faster Account Sharing Recalculation knowledge article.

Note