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

Archives

  • February 2026
  • 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

  • Apex
  • AppExchange
  • Architecture
  • Artificial Intelligence
  • Aura Component
  • Career Advice
  • Career Development
  • Community Cloud
  • Configs
  • CRM Analytics
  • Data Cloud
  • Deployment
  • DevOps
  • Flow Automation
  • Ideas
  • Integration
  • Interview Preparation
  • Interview Questions
  • Lightning
  • Lightning Web Components
  • News
  • Other
  • Process Builder
  • Recommandations
  • Sales Cloud
  • Salesforce
  • Salesforce Administration
  • Salesforce CPQ
  • Salesforce Development
  • Salesforce Events
  • Salesforce Flow
  • Salesforce Integration
  • Salesforce Integrations
  • Salesforce Tips
  • Step-by-Step Guides
  • Tech Industry
  • 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 > Salesforce > Salesforce manual sharing – Granting surgical record access
Salesforce

Salesforce manual sharing – Granting surgical record access

Posted by Vinay Vernekar 24th October 2025

Why you’ll need Salesforce manual sharing

If you’ve ever had a frustrated user ping you because they can’t see a specific record, you’ve probably looked into Salesforce manual sharing as a quick fix. It’s one of those tools that feels like a safety valve. When your Org-Wide Defaults (OWD) and hierarchy are locked down tight, manual sharing lets you grant access to a single record without overhauling your entire security model. It’s about being surgical rather than using a sledgehammer.

Look, we’ve all been there. A sales rep needs to help out on a deal that’s technically owned by another team. You don’t want to change your Salesforce roles vs profiles setup just for one-off collaboration. That’s where this feature shines. It lets owners or admins pick a user, a group, or a role and say, “Hey, you get to see this specific record, and here’s the level of access you get.”

A professional UI mockup showing the Salesforce manual sharing dialog where specific users are granted individual access levels to a record.
A professional UI mockup showing the Salesforce manual sharing dialog where specific users are granted individual access levels to a record.

Common scenarios for Salesforce manual sharing

So when should you actually use it? In my experience, it’s best for the exceptions to the rule. If you find yourself manually sharing every single record, your sharing rules are probably broken. But for these situations, it’s perfect:

  • One-off collaborations where a user needs to jump into a record they don’t normally touch.
  • Temporary access for a contractor who just needs to update a few specific accounts.
  • Executive overrides where a leader needs visibility into a sensitive record that’s otherwise hidden.

But here’s the thing: manual sharing is “manual” for a reason. It doesn’t scale well. If you’re doing this 50 times a day, you need to look at automation. I’ve seen teams try to manage thousands of manual shares and it always ends in a messy audit trail that nobody wants to touch.

How Salesforce manual sharing works under the hood

If you’re a dev or a curious admin, you should know that Salesforce doesn’t just “remember” these shares in thin air. It uses something called a Share table. Every object has one. If you have a custom object called Project__c, there’s a hidden table called Project__Share. For accounts, it’s AccountShare.

Each row in that table is like a permission slip. It tells the system who gets access (UserOrGroupId), which record they get (ParentId), and what they can do with it (AccessLevel). The most important part for us is the RowCause. When you share something through the UI, the RowCause is set to “Manual”. This is how Salesforce knows to keep that share separate from the ones created by your automated rules.

Pro Tip: If you change the owner of a record, Salesforce wipes out all the manual shares for that record. I’ve seen this trip up so many admins during data migrations. Always back up your share tables if you’re doing a big owner shuffle!

Creating shares: UI vs Apex

Most of your users will just use the “Sharing” button on the record page. It’s simple and it works. But sometimes you need to get fancy with code. When you’re weighing Apex vs Flow for sharing, Apex gives you the most control over those share tables.

Here’s a quick look at how you’d do this in Apex for a custom object:

// Quick example of sharing a record via code
CustomObject__Share jobShare = new CustomObject__Share();
jobShare.ParentId = 'a0Bxxxxxxxxxxxx'; // The record ID
jobShare.UserOrGroupId = '005xxxxxxxxxxxx'; // The User ID
jobShare.AccessLevel = 'Edit'; // Give them edit rights
jobShare.RowCause = Schema.CustomObject__Share.RowCause.Manual;
insert jobShare;

The limits of Salesforce manual sharing

Before you go all-in, you need to know the catches. First, manual shares don’t cascade. If you share an Account, it doesn’t automatically mean the user gets access to every related custom object record unless those are controlled by parent. You have to be intentional about what you’re opening up.

Second, permissions still matter. You can’t share a record with someone if they don’t even have “Read” access to that object on their profile. Manual sharing only handles the record-level access, not the object-level security. And honestly, it’s a bit of a pain to report on. You can’t just run a standard report to see every manual share in the system; you usually have to query the share tables directly or use a specialized tool.

Key Takeaways

  • Salesforce manual sharing is for exceptions, not for your main security strategy.
  • Shares are stored in object-specific tables like AccountShare or CustomObject__Share.
  • Manual shares are deleted automatically if the record owner changes.
  • Users still need object-level permissions (Profile/Permission Set) to see the records you share.
  • Always prefer automated sharing rules if the logic is predictable and repeatable.

At the end of the day, manual sharing is a great tool to have in your back pocket. It’s the quickest way to solve “I can’t see this” problems without breaking your wider security architecture. Just make sure you aren’t using it as a crutch for a poorly designed role hierarchy. Keep it simple, document why you’re doing it, and your future self will thank you during the next security audit.

Tags: Cloud Manual Sharing Org-Wide Defaults Salesforce Roles Salesforce Security Security Share tables
Shares
Share on Facebook Share on Twitter Share on Pinterest Share on Email
Previous Article Scale Platform Event Triggers with Parallel Subscribers
Next Article Dreamforce 2025 for Admins – New Setup and Flow Tools

Leave a Reply

Leave a Reply Cancel reply

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

Popular Posts

Salesforce for Beginners: A Free Udemy Course to Kickstart Your CRM Career in 2026

Salesforce for Beginners: A Free Udemy Course to Kickstart Your CRM Career in 2026

12th February 2026
Salesforce Layoffs 2026: The Truth Behind the AI Revolution

Salesforce Layoffs 2026: AI Impact and Future Outlook

11th February 2026
Salesforce Spring '26 Release: Flow Kanban & File Triggers

Salesforce Spring ’26 Release: Flow Kanban & File Triggers

11th February 2026

Agentforce RAG Grounding: Build Custom Retrievers & Agents

30th January 2026

You Might Also Enjoy

Salesforce Spring '26 - Apex Cursors and LWC Expressions - Featured Image
ApexLightning Web ComponentsSalesforce

Salesforce Spring ’26 – Apex Cursors and LWC Expressions

I've been testing the Salesforce Spring '26 preview and the new Apex Cursors are a total game changer for large data volumes. We also finally get LWC Expressions to help clean up those messy HTML templates.

25th January 2026
Architecting for Scale with the Atlas Reasoning Engine - Featured Image
SalesforceSalesforce Flow

Architecting for Scale with the Atlas Reasoning Engine

I used to spend all my time building rigid if-then logic, but this engine changes everything. It is less about mapping every step and more about giving your agents the right tools to solve problems on their own.

25th January 2026
Mastering the Apex Approval Process for Complex Logic - Featured Image
ApexSalesforce

Mastering the Apex Approval Process for Complex Logic

Standard approval tools are great, but sometimes you need more control. I'm breaking down how to use Apex to handle complex routing and bulk requests that Flow just can't touch.

25th January 2026
Guide to the Apex Zip Namespace in Salesforce Spring '25 - Featured Image
ApexSalesforceSalesforce Integration

Guide to the Apex Zip Namespace in Salesforce Spring ’25

Salesforce finally added a native way to handle zip files without needing AWS or external libraries. I will show you how to use ZipWriter and ZipReader to manage your documents directly in Apex.

24th 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