SFDC Developers
0
  • Home
  • Apex
    • Integration
  • Visualforce
  • Lightning
    • Aura Component
    • Web Component
  • Interview Questions
  • DMCA
  • Terms & Conditions
  • Privacy Policy
  • About Us
  • Contact Us

Archives

  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • April 2023
  • December 2020
  • November 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019

Categories

  • Agentforce
  • Apex
  • AppExchange
  • Architects
  • Architecture
  • Artificial Intelligence
  • Artificial Intelligence (AI)
  • Aura Component
  • Community Cloud
  • Configs
  • CRM Analytics
  • Data Cloud
  • Deployment
  • Developers
  • DevOps
  • Experience Cloud
  • Flow Automation
  • Ideas
  • Integration
  • Interview Q&A
  • Interview Questions
  • Lightning
  • Lightning Web Component
  • News
  • Other
  • Process Builder
  • Recommandations
  • Release Notes
  • Salesforce
  • Salesforce Admin
  • Salesforce Architect Guide
  • Salesforce Automation
  • Salesforce Basics
  • Salesforce CPQ
  • Salesforce Events
  • Salesforce Flow
  • Salesforce Integration
  • Salesforce Integrations
  • Salesforce Interview Questions
  • Salesforce Tips
  • Salesforce Tips and Tricks
  • Salesforce Updates
  • Solution
  • Step-by-Step Guides
  • Uncategorised
  • Visualforce
  • Web Component

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
[email protected]
  • Disclaimer
  • DMCA
  • Terms & Conditions
  • About Us
  • Contact Us
SFDCDevelopers Mobile Logo
SFDCDevelopers Mobile Logo
SFDC Developers
  • Home
  • Categories
    • Apex
    • Integration
    • Configs
    • News
    • Flow Automation
    • Ideas
    • Interview Questions
    • Aura Component
    • Salesforce Tips
SFDC Developers
  • Home
  • Categories
    • Apex
    • Integration
    • Configs
    • News
    • Flow Automation
    • Ideas
    • Interview Questions
    • Aura Component
    • Salesforce Tips
SFDC Developers > Interview Questions > What is Manual Sharing in Salesforce?
Interview Questions

What is Manual Sharing in Salesforce?

Posted by Vinay Vernekar 24th October 2025

Understanding Manual Sharing

Manual Sharing in Salesforce is a record-level sharing mechanism that lets users explicitly share a single record with another user, a group, or a role. It provides fine-grained control beyond org-wide defaults (OWD), role hierarchy, and sharing rules, allowing ad-hoc access to particular records when automated sharing doesn’t meet business needs.

When to use Manual Sharing

Use Manual Sharing when you need to grant access to a specific record for a limited time or to a limited audience, for example:

  • One-off collaborations where a user outside the normal sharing model needs access to a record.
  • Temporary access for contractors or consultants without changing role or profile settings.
  • Exceptions to automated sharing rules where business policy requires manual approval.

How Manual Sharing works

Manual Sharing creates a separate share entry for the record in a dedicated share table for each object. For standard and custom objects the share tables are named <ObjectName>Share (for example, AccountShare or CustomObject__Share), and each row contains:

  • ParentId — the record being shared
  • UserOrGroupId — the recipient (user, group, or role)
  • AccessLevel — level of access (Read, Edit)
  • RowCause — reason for sharing (“Manual” for user-created shares; other values for rule-based shares)

When a manual share is added, Salesforce evaluates sharing for that record and grants access accordingly. Manual shares are independent of profile permissions and only grant access if the user already has object-level access.

Creating Manual Shares

There are three common ways to create manual shares:

  1. User Interface — On a record page (if ‘Sharing’ button is enabled), owners or users with full access can click “Share” and add users, roles, or groups with Read or Edit access.
  2. Apex — Programmatic creation by inserting a row into the object’s share table. Example for a custom object:
// Apex example: programmatically share a CustomObject__c record
CustomObject__Share shareRow = new CustomObject__Share();
shareRow.ParentId = 'a0Bxxxxxxxxxxxx'; // record Id
shareRow.UserOrGroupId = '005xxxxxxxxxxxx'; // user or group Id
shareRow.AccessLevel = 'Read';
shareRow.RowCause = Schema.CustomObject__Share.RowCause.Manual; // Manual share
insert shareRow;

Note: For standard objects, use the standard <Object>Share sObject (e.g., AccountShare), and for some objects the share object may be read-only (for example, certain standard objects like Case or Opportunity may have constraints based on org configuration).

Limitations and Considerations

  • Manual shares are record-specific and do not cascade to related records automatically.
  • Only users with the appropriate privileges (record owner, users with Full Access via sharing, or users with the “Modify All” object permission) can create manual shares through the UI; Apex code may require the running user to have appropriate permissions or use “without sharing” cautiously.
  • Manual sharing bypasses role hierarchy only for the explicit recipient; it does not change a user’s profile or role.
  • Excessive manual shares can become difficult to maintain — consider using sharing rules or territory management for scalable solutions.

Best Practices

  • Prefer declarative sharing (sharing rules, criteria-based sharing, or sharing sets) for recurring scenarios.
  • Limit manual sharing to exceptions and temporary cases.
  • Document manual shares and periodically review or audit them (use reports on the <Object>Share tables).
  • Use Apex sharing reasons and meaningful RowCause values for custom objects where available to distinguish automated shares from manual ones.

Quick Reference

Key terms: Manual Sharing, <Object>Share, RowCause = Manual, UserOrGroupId, AccessLevel.

Tags: Manual Sharing
Shares
Share on Facebook Share on Twitter Share on Pinterest Share on Email
Previous Article How to Scale Apex Platform Event Triggers with Parallel Subscribers in Salesforce — Performance & Best Practices
Next Article Dreamforce 2025: Product Highlights for Admins

Leave a Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Popular Posts

Use Apex Cursors to Stream Large Datasets in Lightning Web Components

15th January 2026

What is the difference between SOAP and REST?

15th January 2026

Enterprise WSDL vs Partner WSDL — Key Differences (Salesforce)

15th January 2026

8 Practical Agentforce Vibes Use Cases for Salesforce Developers

14th January 2026

You Might Also Enjoy

Interview Questions

SOAP vs REST — Key differences every Salesforce developer should know

14th January 2026
Interview Questions

Enterprise WSDL vs Partner WSDL: Key Differences Explained

14th January 2026
Interview Questions

What is JWT flow in Salesforce?

13th January 2026
Interview Questions

What is the difference between SOAP and REST?

13th January 2026
Load More
  • Disclaimer
  • DMCA
  • Terms & Conditions
  • About Us
  • Contact Us
©2026 SFDCDevelopers.com

Our website uses cookies to improve your experience. Learn more about: cookie policy

Accept