Break Permission Inheritance SharePoint Online Using Power Automate

In SharePoint Online, every list or library item usually inherits permissions from its parent. But what if you want to give specific people access to just one item? In this post, I’ll show you how to break permission inheritance using Power Automate and then set custom permissions for that item.

This can be helpful when you need tighter control, like sharing a document only with a specific team member or limiting who can see a submitted form.

Break Permission Inheritance SharePoint Online Using REST API

Suppose you have a SharePoint list called “Employee Feedback” where users submit feedback forms.

Using REST API to set permissions to folders in a SharePoint document library

However, once an Employee submits a review for a feedback item, you want to break the item’s permission and give that manager “Read” access to only that specific item.

Note:

This tutorial does not cover how to create a new SharePoint list item using Power Automate. If you’re not sure how to do that, check out my previous post, in which I explained how to Save Microsoft Forms Responses and Attachments to SharePoint Lists using Power Automate.

  1. Open Power Automate and create an Automated cloud flow that will trigger when an item is created or modified. Then, select the Site Address and the List Name where your Employee Feedback list is present.
Custom SharePoint Permissions Using Power Automate
  1. Add a Send an HTTP request to SharePoint action under the trigger and provide the below parameters:
    • Site Address: Select the SharePoint site address.
    • Method: Select POST as the method.
    • Uri: Provide the below URI:
_api/web/lists/GetByTitle('Employee Feedback')/items(@{triggerBody()?['ID']})/breakroleinheritance(copyRoleAssignments=false, clearSubscopes=true)
How to break inheritance in SharePoint online using Power Automate

Now you can save and run the flow if you only want to break permission inheritance. Follow the steps below to give the manager unique permission.

  1. Add a Send an HTTP request to SharePoint action and provide the below parameters to get the Manager principal ID:
    • Site Address: Your SharePoint site
    • Method: GET
    • URI:
_api/web/siteusers/getbyemail('@{triggerBody()?['Manager/Email']}')
  1. Click on the Show all button to display all the Advanced parameters.
    • Headers: Click the Switch to text mode button to input the json. Copy and paste the code below in the Headers section.
{
  "Accept": "application/json;odata=verbose"
}
Power Automate break role inheritance sharepoint rest api
  1. Add another Send an HTTP request to SharePoint action and provide the below parameters to give the Read permission to the manager:
    • Site Address: Your SharePoint site
    • Method: POST
    • URI:
_api/web/lists/GetByTitle('Employee Feedback')/items(@{triggerBody()?['ID']})/roleassignments/addroleassignment(principalid=@{body('Send_an_HTTP_request_to_SharePoint_1')?['d']?['ID']}, roledefid=1073741826)
Break Permission Inheritance SharePoint Online Using REST API
  1. Now save the flow and go to the sharepoint list, add an item to it.
how to give item level permissions for sharepoint online using Power Automate
  1. Once the flow runs successfully, go to your SharePoint list:
    • Open the list item that was updated.
    • Click the three dots (•••) next to the item and select Manage Access.
    • You’ll see that Patti Fernandez (the manager in this example) now has Read permission to this specific item.
Break Permission Inheritance SharePoint Online using Power Automate

Then go to SharePoint list settings -> list permissions. You will notice that the item no longer inherits permissions from the list.

Power Automate Break Permission Inheritance SharePoint Online

This confirms that permission inheritance has been broken, and custom permissions have been applied.

The item now has its own permissions; only the people you’ve added in the flow (like the manager) can view it.

In this example, we only gave Read permission using this line. But if you want to give other types of permissions (like Edit, Contribute, or Full Control), change the roledefid number based on the permission level you want.

Permission Typeroledefid
Read1073741826
Contribute1073741827
Edit1073741830
Design1073741828
Full Control1073741829
View Only1073741924
Limited Access1073741825

So, for example, if you want to give someone Edit permission instead of Read, use:

roledefid=1073741830

You may also like the following Power Automate tutorials:

Power Apps functions free pdf

30 Power Apps Functions

This free guide walks you through the 30 most-used Power Apps functions with real business examples, exact syntax, and results you can see.

Download User registration canvas app

DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

Download a fully functional Power Apps Canvas App (with Power Automate): User Registration App