Share Records Using Salesforce Flow

You can absolutely use Salesforce Flow to share records in a clean, repeatable way, without relying on users to click “Sharing” or on developers to write Apex.

I work as a system administrator in a company that uses Salesforce to manage its business. Recently, we conducted a campaign and got many new leads.

These leads were assigned to the marketing team for follow-up. However, the sales team also required access to some of these leads to contact the high-potential leads.

Now, instead of sharing or assigning high-potential leads one by one to the sales team, I created a Flow that automatically shares the records based on set criteria.

In this article, we will learn about how to share records using Salesforce Flow. So that we don’t need to share each record manually, and can give access to users automatically based on rules.

What “sharing records using Flow” really means

Before we jump into Flow, it helps to be clear on what we’re actually doing when we “share” a record.

In Salesforce, record access comes mainly from:

  • Organization‑Wide Defaults (OWD)
  • Role hierarchy
  • Sharing rules
  • Teams (Account Teams, Opportunity Teams, etc.)
  • Manual sharing (via the Sharing button)
  • Apex‑managed sharing

Flow comes into play when you want to automate what manual sharing or Apex would otherwise do, usually by creating a row in the object’s Share table (for example,  AccountShare, CaseShare, CustomObject__Share).

Typical use cases I see:

  • Share a record automatically with someone (a manager, a specific user, a queue, or a role) whenever it’s created or updated.
  • Share a record with a group of people based on business rules (for example, all members of a “Deal Desk” public group).
  • Re-apply the sharing logic after ownership changes.
  • Clean up sharing records when certain conditions are no longer true.

Different Ways to Share Records In Salesforce

In Salesforce, there are three types of sharing rules to share records.

  • Owner-Based Sharing: In this type, we can share records owned by a specific user and determine the access level.
  • Criteria-Based Sharing: In this sharing, we can set criteria, and when the records meet those criteria, they will be shared with another user.
  • Manual Sharing: We can share records manually in public groups, roles, and individual users. While sharing the records manually, we can grant read-only or read/write access to whom we want.

Now, let’s take an example of sharing case records with the Salesforce Queue. The company currently operates in California, Florida, and Georgia.

Here, cases raised from any of these regions will be assigned to the queue specifically created to handle cases from that region. The following prerequisites are required to create an auto-launched flow in Salesforce:

Then we need three different Queues to assign cases, named California Queue, Florida Queue, and Georgia Queue.

We need a Custom Picklist FieldRegion” on the Standard Case Object with the following values: California, Florida, and Georgia.

Share Records Using Salesforce Flows

Below, I will explain, step by step, how to create a Flow to automatically share records in Salesforce.

Click on the Setup. -> Home Page-> In the Quick Find box, search for Flows. You will see an option under Process Automation. -> Click on Flows.

Sharing Records Using Salesforce Flow

Click on the New Flow button to create a new flow.

Sharing Records Using a Salesforce Flow

We want to create a flow for creating the records, so we have to select the Record-Trigger flow. Then, click on the Create button.

Sharing record by Salesforce Flow

In the Object field, select the object for which we want to create a flow. In our scenario, we need to create a flow on the Case Object. 

In the Configure Trigger option, we need to select when we want to invoke this flow.

Sharing Records Using Salesforce Classic Flow

When we select the Case Region value, the Case raised from any of these regions will be assigned to the queue specifically created to handle that region’s cases.

So we have to select Fast Field Update, which is used to execute the flow before the record is saved to the database.

Sharing Records Using Salesforce Lightning Flow

First, we need to get the queue details in the flow. For that, we use the Get Records element; when we click it, we need to enter the following details.

  • Label: This label will display on the canvas where the Get Records element is. Here, I have entered the Get Queue Details displayed on the Get Records element.
  • API Name: It will automatically populate as we click the text box.
  • Description: Description is optional; we can enter a short intro about our flow.
  • Object: We need to select an object to fetch records from. In this field, we must choose either the Queue object or the Group object, depending on whether we’re referring to the Queue object in Salesforce or the underlying queue.
How to Share Records Using Salesforce Flow

Now, to assign a record, we have DeveloperName from the group object to relate to the Region from the Case Object.

That means whenever we select a region from the case object, it will find a queue by using DeveloperName.

Share records using the salesforce flow in Lightning

Now, we need to assign a case owner to the queue based on the value selected in the region.

Sharing Records Using a Salesforce Flow example

After setting up all labels and conditions, click the Save button to save the flow. For that, we need to enter the Flow Label; here, I have entered “Share Records using Salesforce Flow”.

The API Name will automatically populate as we click the text box. The Description is optional; we can enter a short intro about our flow. Then click on the Save button.

Sharing Records Using a Salesforce Flow in Lightning

It is best practice in the flow to debug it before activating it, and then, if no errors occur, activate it.

Sharing records from flow in Salesforce Classic

To check whether the flow is working properly, go to the object on which you have created a flow. If you have selected trigger flow when the record is created, then create the record.

As per our scenario, the company currently operates in California, Florida, and Georgia. A case raised from any of these regions will be assigned to the queue specifically created to handle cases from that region.

Sharing records from flow in Salesforce Lightning

On the Details Page, you can see that the Case Owner has changed to vale and queue based on the Region field.

Sharing records from flow in Salesforce

This is how we can use Flow to automatically share records in Salesforce.

Handle Error Conditions When Sharing Fails in Salesforce Flow

Sharing can fail if:

  • The UserOrGroupId is invalid or inactive.
  • You try to set an AccessLevel that’s not allowed.
  • You try to create a duplicate share, and you have unique constraints.

Simple approaches:

  • Add checks for IsActive on User when you query them.
  • Use a Decision to skip creating a share if a matching Share record already exists.
  • Consider a simple Fault path in your Create Records element that logs an error to a custom object or sends an alert.

Keep the logic in one place

Try not to scatter record‑sharing logic across:

  • Multiple Flows
  • Workflow Rules
  • Process Builder
  • Apex triggers

Pick Flow as your main automation tool and consolidate your sharing logic there, so you and future admins can find and update it easily.

Name your RowCause clearly

If you use Apex‑managed sharing reasons (custom RowCause values), give them labels that make sense to admins and users, such as:

  • “Shared with Owner’s Manager”
  • “Shared with Deal Desk Group”
  • “Shared via Access Request”

This makes it much easier to troubleshoot from the record’s Sharing detail page.

Conclusion

I hope you have an idea of how to share records in Salesforce using a flow. We have seen what sharing records means, their types, and when we can use them.

Additionally, we have also seen how to create sharing records in Salesforce Flow with a scenario and explanation.

You may like to read:

Agentforce in Salesforce

DOWNLOAD FREE AGENTFORCE EBOOK

Start with AgentForce in Salesforce. Create your first agent and deploy to your Salesforce Org.

Salesforce flows complete guide

FREE SALESFORCE FLOW EBOOK

Learn how to work with flows in Salesforce with 5 different real time examples.