Introduction
Managing access to individual SharePoint list items is a common requirement for business applications. Instead of granting access to an entire list, you may want specific users or groups to view or edit only certain items. Power Automate makes this possible by using SharePoint REST APIs to break permission inheritance and assign unique permissions.
In this article, you'll learn how to configure item-level permissions in SharePoint using Send an HTTP request to SharePoint actions in Power Automate.
Why Use Item-Level Permissions?
Item-level permissions are useful when:
Protecting confidential documents or records.
Restricting invoice access to finance teams.
Allowing managers to view only their team's records.
Creating approval workflows with controlled access.
Securing HR or legal documents.
For example, when an invoice is created, only the Finance team and the requester should have access to it, while all other users are restricted.
Solution Overview
The process involves two main steps:
Break the item's inherited permissions.
Assign unique permissions to users or SharePoint groups.
The workflow looks like this:
Trigger
│
▼
Break Permission Inheritance
│
▼
Loop Through Required Users/Groups
│
▼
Assign Permission Level
│
▼
Item Now Has Unique PermissionsPrerequisites
Before you begin, ensure you have:
A SharePoint Online site.
A SharePoint list (for example, InvoiceDetails).
Power Automate access.
Appropriate permissions (Full Control or Manage Permissions).
SharePoint Group IDs or User IDs.
Permission Level IDs (Role Definition IDs).

Step 1: Break Permission Inheritance
Add a Send an HTTP request to SharePoint action.
Configuration
| Property | Value |
|---|---|
| Site Address | Your SharePoint Site |
| Method | POST |
URI
_api/web/lists/getByTitle('InvoiceDetails')/items(ID)/breakroleinheritance(copyRoleAssignments=false,clearSubscopes=true)Replace ID with the dynamic Item ID from your trigger.
What do these parameters mean?
| Parameter | Description |
|---|---|
| copyRoleAssignments=false | Removes inherited permissions completely. |
| clearSubscopes=true | Clears unique permissions on child objects. |
Headers
Accept : application/json;odata=verbose
Content-Type : application/json;odata=verboseAfter this step, the item no longer inherits permissions from the parent list.

Step 2: Assign Unique Permissions
After breaking inheritance, add an Apply to each loop to iterate through the users or SharePoint groups that should receive access.
Inside the loop, add another Send an HTTP request to SharePoint action.
Configuration
| Property | Value |
|---|---|
| Method | POST |


Join the conversation! Your thoughts help the community grow.