cancel
Showing results for 
Search instead for 
Did you mean: 

SharePoint Group Operations in Microsoft Flow

In this article, we will learn how to perform various SharePoint Group operations like create group, assign permissions to group, and add users to a group in Microsoft Flow.
As there is no SharePoint connector available to perform group operations in Microsoft Flow, we will be using different REST APIs. 
Step 1 - Create a flow
  • Visit here
  • Click My Flows from the left pane
  • Click on New flow on the right blade
  • Select instant blank as the template

1.png

 
 
Step 2
Name your flow and select trigger point as Manual trigger flow.
 
Step 3 - Create a group
  • Add action as 'Send HTTP request to SharePoint'. 
  • Select all configurable options as below.
URL
_api/web/SiteGroups  
Headers
1. accept
2. content-type 
application/json;odata=verbose  
Body
{  
"__metadata": {  
"type":"SP.Group"  
},  
"Title": "FlowGroup",  
"Description":"Group created from flow"  
} 
4.png
Step 4 
Before going to the next step, we would apply a simple trick for using data returned from the above request. Save this Flow and Run it once. Once the workflow has run successfully, go to flow history and copy the JSON response received in the above action (refer to the screenshot below). Go to the output section of the above action and copy the JSON. Keep it copied somewhere in the notepad; we will use it in the next step.
Also make sure you delete the group created, as we won't be checking condition if group exists or not. 
 
Step 5 
Add a new action, Parse JSON,
Content - Add body from dynamic content of above action
Schema - Click on 'Use sample payload to generate schema', paste the JSON copied in the previous step. 
4.png
Step 6
Add a new action 'Send HTTP request to SharePoint' and configure the action as below.
We would be using the below REST API to assign permissions to group.
/_api/web/roleassignments/addroleassignment(principalid=<GROUPID>, roledefid=1073741827)
roledefid for Permission Levels are as follows,
1073741829 - Full Control || 073741827 - Contribute || 1073741826 - Read
GroupID is the id of the group which we created from the step above. We will use dynamic content to form this URL by referencing group id.
 
Step 7
Add a new action 'Send HTTP request to SharePoint'; configure the action as below.
URI
_api/web/SiteGroups(<GroupID>)/users  
Headers - as mentioned in the below screenshot
Body
{  
   "__metadata": {  
   "type":"SP.User"  
   },  
"LoginName":"i:0#.f|membership|batman@dccomics.com"  
} 
Please note that the Login name should be in the exact format as above. You can always use dynamic content attribute which holds email id of a valid user (like I did in the below screenshot). Here, I am using dynamic content user email which will hold email id of the person who has triggered flow. You can modify this based on your requirements.
6.png
So, we are now done with our design; let us test the flow. Save it and test it from flow design.
7.png
Now let us go to Site collection-> Site Settings->People and Group, we can find FlowGroup named group in list.
8.png
Let us check what permission is assigned to this group, Click Settings-> View Group Permission (from above page)
We can see Permission level contribute is assigned to FlowGroup. 
9.png
In this article, we have learned and implemented the below 3 use cases.
  • Create a SharePoint Group
  • Assign Permission to SharePoint Group
  • Add user to SharePoint Group
Hope you enjoyed reading... Happy Flowing..!!!
P.S - This post was orginally published at this link.

 

Meet Our Blog Authors
  • Working daily with Microsoft Cloud to deliver the needs of my company, my customers and various Microsoft communities and forums. | Office 365 | Flow | PowerShell | PowerApps | SharePoint |
  • Co-founder of https://plumsail.com, Office 365 and SharePoint expert. Passionate about design and development of easy to use, convenient and flexible products.
  • Microsoft Business Apps MVP. Owner of ThriveFast, an Office 365 consulting company.
  • 7x Microsoft Business Solutions MVP (CRM)
  • I'm keen in MS technologies, SharePoint, Office 365 and development for them
  • Daniel is a Business Productivity Consultant & Microsoft Business Solutions MVP who is very enthusiastic about all things Office 365, Microsoft Flow, PowerApps, Azure & SharePoint (Online). Since the preview, Daniel has been working with Microsoft Flow and later on with Microsoft PowerApps. That led to him being awarded an MVP Award for Business Solutions. He loves to blog, present and evangelize about improving productivity in the modern workspace with these amazing tools!
  • Michelle is an Office 365 solution architect in Twin Cities, MN. She has been delivering business collaboration solutions for years with her focus on SharePoint and Office 365. Michelle is a recent board member of the Minnesota Office 365 User Group and has been a member of the SharePoint community since 2009. She is a frequent speaker at MNSPUG and SharePoint Saturday and co-chaired the Legal SharePoint User Group for 4 years. Her most frequent projects have involved rolling out a large deployment of Office 365, SharePoint Online intranet, build of a "CHAMPS" Office 365 user adoption program and most recently, SharePoint On-Premise to Online Migration. Michelle is very excited about cloud technology as it is shifting her IT Pro focus to collaboration strategy and technical adoption.
  • I'm a Microsoft Office Servers and Services MVP with a special interest in SharePoint, Office 365, Microsoft Flow, Microsoft Teams and PowerApps. I work at Triad Group Plc ( https://triad.co.uk)
  • Passionate #Programmer #SharePoint #SPFx #Office365 #MSFlow | C-sharpCorner MVP | SharePoint StackOverflow, Github, PnP contributor