cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
mboonie
Resolver I
Resolver I

Use Flow to Remove User from Permissions Group

Hi. I am relatively new to using REST operations, and I am at a loss as to how to remove a user from a SharePoint permissions group by using the Flow action "Send an HTTP Request to SharePoint."

 

I have a list of users--who are already provisioned in our SharePoint Online collection--that will be updated monthly with names of those requiring access and those leaving the department.

 

The list already exists, and I have been able to handle ADDING new users to the necessary groups; but I can't figure out how to (or even whether I can) remove users. Everything I've tried so far has ended with a "Missing required query string: @target..." error, or a more-basic JSON formatting error.

 

Here is my untrained attempt at configuring the REST action from Flow:

11-26-2018 12-09-34 PM.png

 

Help, please!!

(Thanks!)

2 ACCEPTED SOLUTIONS

Accepted Solutions
v-yamao-msft
Community Support
Community Support

Hi @mboonie,

 

May you try to use the Plumsail action Remove user from SharePoint Group to remove user from a group.

https://plumsail.com/docs/actions/v1.x/flow/how-tos/sharepoint/create-sp-group-add-users.html

Besides, I have seen a blog on how to remove users from a SharePoint Group in SPFx, please check the following link for more details:

https://blog.hubfly.com/sharepoint/how-to-manage-sharepoint-groups-using-rest-api-in-sharepoint-fram...

 

Best regards,

Mabel

Community Support Team _ Mabel Mao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

Got it!

I took a hard look at the "How to manage SharePoint Groups..." link above and was (apparently!) finally able to map the correct bits to the HTTP REST action. (Adding a user was much simpler, but that was probably because there was an explicit example of the correct Flow action elsewhere that I was able to leverage.)

So, to possibly save others from the same stress, here is a simplified version of the way I set up my Onboarding and Off-boarding flow:

11-27-2018 10-31-26 AM.png

View solution in original post

29 REPLIES 29
v-yamao-msft
Community Support
Community Support

Hi @mboonie,

 

May you try to use the Plumsail action Remove user from SharePoint Group to remove user from a group.

https://plumsail.com/docs/actions/v1.x/flow/how-tos/sharepoint/create-sp-group-add-users.html

Besides, I have seen a blog on how to remove users from a SharePoint Group in SPFx, please check the following link for more details:

https://blog.hubfly.com/sharepoint/how-to-manage-sharepoint-groups-using-rest-api-in-sharepoint-fram...

 

Best regards,

Mabel

Community Support Team _ Mabel Mao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Unfortunately, my company has restricted the connectors/actions that we are allowed to use, and I am unable to register Plumsail apps and features.

 

I saw the other link earlier, but I had trouble understanding how to map the information in the article to the "Send HTTP to SharePoint" action. In particular, I'm not sure what to do with the content beginning with "let dataToPost = JSON.stringify(..." Do I put the whole thing in the "Body"? (I just tried that--substituting my userID variable for the login name--and received the all-too-familiar "Not well formatted JSON stream." message.)

Got it!

I took a hard look at the "How to manage SharePoint Groups..." link above and was (apparently!) finally able to map the correct bits to the HTTP REST action. (Adding a user was much simpler, but that was probably because there was an explicit example of the correct Flow action elsewhere that I was able to leverage.)

So, to possibly save others from the same stress, here is a simplified version of the way I set up my Onboarding and Off-boarding flow:

11-27-2018 10-31-26 AM.png

Hi Mboonie

 

I have try to do the same but i get error on removeByLoginName

Status code
 500
 
{
"error": {
"code": 500,
"source": "flow-apim-europe-001-francecentral-01.azure-apim.net",
"clientRequestId": "2625e643-33cc-46a5-afa0-862a9f5569ab",
"message": "BadGateway",
"innerError": {
"status": 500,
"message": "The format of value 'application/json;\nodata=verbose' is invalid.\r\nclientRequestId: 2625e643-33cc-46a5-afa0-862a9f5569ab",
"source": "sharepointonline-ne.azconn-ne.p.azurewebsites.net"
}
}
}2019_01_29_14_48_24_Window.png
 
Can you please spot what is missing ? the user are member of that group
 

If you look at either the "Headers" section of the INPUTS results (or the "Message" information in the output, which you pasted below), you'll see that there is a carriage-return getting encoded, resulting in a poorly-formed Headers input. (The carriage return is encoded as "\n" and ends up being sent as part of the header.) Thus, the header being sent is literally "application/json;\nodata=verbose", when it should be "application/json;odata=verbose".

HTTPRequestRemoveUser.png

Remove the carriage-returns and you'll likely resolve the problem.

 

-Boonie

Anonymous
Not applicable

Hi All,

 

just a note. I tried using the solution but kept on getting errors similar to previous highlighted. Found out if i was copy pasting any of the code parts then i would get an error. When i typed out the parts then the flow would work.

 

hope this helps.

Anonymous
Not applicable

Hello - Newbie here. I just wanted to know how to get the ID# in GetbyID in your Uri.

 

I don't know where in SharePoint site I will get the ID. Thanks in advance.

Anonymous
Not applicable

Please help. I got an error.

 

{
"message": "{\"odata.error\":{\"code\":\"-2130575276, Microsoft.SharePoint.SPException\",\"message\":{\"lang\":\"en-US\",\"value\":\"The user does not exist or is not unique.\"}}}\r\nclientRequestId: 31b44b28-73e5-4128-b224-620da891c1a9\r\nserviceRequestId: 59a2ea9e-f03d-0000-3fd8-97d38820f7fb",
"status": 404,
"source": "siteaddress/_api/Web/SiteGroups/GetByID(3)/Users/removeByLoginName",
"errors": []
}

 

not sure what is the format of loginName.

Hi, @Anonymous, and welcome.

You can get the ID/GUID of anything (lists, libraries, views, etc.) by going to it's Settings and checking the URL.

For example, if I select a list from my Site Contents and go to "List Settings" (click on the gear in the upper-right corner), you can find the list's ID in the URL that appears. For example: https://mycompany.sharepoint.com/teams/mySite/Outsourcing/_layouts/15/listedit.aspx?List=%7Bb91078c8-03ae-4289-be1d-2ecd29b3167d%7D

The ID itself is found after "List=". Some menus--and some browsers--display it differently. For example, it may appear encoded as "List=%7Bb91078c8%2D03ae%2D4289%2Dbe1d%2D2ecd29b3167d%7D" or decoded, as "List={B91078C8-03AE-4289-BE1D-2ECD29B3167D}" or even in-between, as "List=b91078c8%2D03ae%2D4289%2Dbe1d%2D2ecd29b3167d".

If it is encoded, you can certainly convert it manually (once you remember things like "%2D" is a hyphen, "%7B" is an opening curly brace, "%7D" is a closing curly brace, etc.). Or, you can use free online utilities like https://www.urlencoder.org/

Generally, when providing an ID, you include the hyphens but not the surrounding curly braces. Thus, when prompted for an ID, the acceptable format is "B91078C8-03AE-4289-BE1D-2ECD29B3167D" (decoded, but without the curly braces.)

Note that there are some connectors where using the ID in place of selecting from the drop-down list of SharePoint Lists is a necessary "workaround." For example, the Get Items action displays your site's lists but not calendars. In these instances, selecting "Custom value" and then providing the item's ID is the only recourse.

Good luck... I hope this helps!

Ahh, I hate when that happens. That means that it was not able to resolve the email address. Usually this is because they aren't in the group from which you are trying to remove them.

A if/then simple check worked for me. I first set a variable to the email property of the user I'm working with. Then I check the length of the variable to determine whether the email of the user in question exists in the list. If there is no email, I stop the process. So, you can check with something like "if length(triggerBody()?['JBIOEmployee']?['Email']) > 0..." If it is false (i.e. there was no email), then I know not to bother with trying to remove them.

CheckEmail.png

 

Good luck!

I must clarify the answer about checking the length of the email to see if there actually is one. That logic simply determines whether there IS an email, not whether it's legit (although usually it can't be one without the other!)

To actually determine whether the email is legitimate, you should use the action "Resolve Person." You supply the name of the list against which you want to validate it; the name of a Person column in that list; and the actual email of the user. If that email is an acceptable value for the list/column that you specified, the action will return legit user credentials. More importanly, if the user is not legit, it will return an error, which you can check for by using an action that will only run if that function returned an error. In this example, if the user isn't legit, I send an email to that effect and stop the workflow.

Resolve Person.png

 

Of course, just because the user is legit does NOT mean that they are actually in a Permissions Group (which is significant if you are trying to remove them!) To handle THAT issue, you must use "error handling." I can establish whether the HTTP call was successful by adding an action immediately after it which sets a flag/variable to "TRUE", but I configure tht action so that it executes only if the HTTP call was successful. Next (and this is VERY important) I configure the action after THAT to run regardless of whether the action preceeding it (the one that sets the flag) was successful, failed, was skipped, or timed out, otherwise the whole workflow would end right there becuase of the error. This way, I have a flag/variable that is only TRUE  if the HTTP call succeeded; otherwise, it's not TRUE.

FWIW, this is pretty much the basic way to handle errors: set some actions to run only if something was successful, and other actions to run only if it failed, timed out, or was skipped.

 

I hope that cleared things up.

 

-Boonie

 

Anonymous
Not applicable

Wow. Thank you very much for this. I really appreciate it. Will check and will follow your instructions. Again, THANK YOU! 🙂
Anonymous
Not applicable

THANK YOU VERY MUCH! I have now able to remove user from the SharePoint Group. 🙂

Anonymous
Not applicable

@mboonie - I have another question, hope you know it as well 🙂

 

Currently, I know how to remove the user in the SharePoint Group. However, I still manually getting the GroupID for each SharePoint Group, do you also have a process wherein i can extract all the SharePoint Group ID of a certain person?

 

Thank You! 🙂

Hi

I try to user this, but I get Bad Request?

 

{"odata.error":{"code":"-1, Microsoft.Data.OData.ODataException","message":{"lang":"en-US","value":"The parameter 'LoginName' in the request payload is not a valid parameter for the function import 'RemoveByLoginName'."}}}
clientRequestId: ff0b3b5d-23a4-45fd-9c06-57df465777fb
serviceRequestId: 86eb429f-50a6-2000-6c47-690b77b8b028

 

bad2.png

 

bad.png

 

 

 

Try with a lowercase 'l', 'loginName' instead of 'LoginName'.

@jri Thank you for pointing that one out. It cost me an hour of my life.

 

These little inconsistencies are what makes working with these tools so cumbersome. 

 

Adding a new user with "_api/web/SiteGroups/GetById(xxx)/Users" you need LoginName with a capital "L".

Removing a user with "_api/web/SiteGroups/GetById(xxx)/Users/RemoveByLoginName" you need loginName with a lower case letter "l".

 

No wonder I have grey hair.

 

 

 

 

Anonymous
Not applicable

Hi,

 

is struserid is the email of the users?

MrEdward
Helper II
Helper II

Has anyone got this error?Untitled.png

 

I looked at the group members and I do see test1 user on it, so I'm not sure why it keeps saying it doesn't exist or is not unique.

Helpful resources

Announcements

Calling all User Group Leaders and Super Users! Mark Your Calendars for the next Community Ambassador Call on May 9th!

This month's Community Ambassador call is on May 9th at 9a & 3p PDT. Please keep an eye out in your private messages and Teams channels for your invitation. There are lots of exciting updates coming to the Community, and we have some exclusive opportunities to share with you! As always, we'll also review regular updates for User Groups, Super Users, and share general information about what's going on in the Community.     Be sure to register & we hope to see all of you there!

April 2024 Community Newsletter

We're pleased to share the April Community Newsletter, where we highlight the latest news, product releases, upcoming events, and the amazing work of our outstanding Community members.   If you're new to the Community, please make sure to follow the latest News & Announcements and check out the Community on LinkedIn as well! It's the best way to stay up-to-date with all the news from across Microsoft Power Platform and beyond.    COMMUNITY HIGHLIGHTS   Check out the most active community members of the last month! These hardworking members are posting regularly, answering questions, kudos, and providing top solutions in their communities. We are so thankful for each of you--keep up the great work! If you hope to see your name here next month, follow these awesome community members to see what they do!   Power AppsPower AutomateCopilot StudioPower PagesWarrenBelzDeenujialexander2523ragavanrajanLaurensMManishSolankiMattJimisonLucas001AmikcapuanodanilostephenrobertOliverRodriguestimlAndrewJManikandanSFubarmmbr1606VishnuReddy1997theMacResolutionsVishalJhaveriVictorIvanidzejsrandhawahagrua33ikExpiscornovusFGuerrero1PowerAddictgulshankhuranaANBExpiscornovusprathyooSpongYeNived_Nambiardeeksha15795apangelesGochixgrantjenkinsvasu24Mfon   LATEST NEWS   Business Applications Launch Event - On Demand In case you missed the Business Applications Launch Event, you can now catch up on all the announcements and watch the entire event on-demand inside Charles Lamanna's latest cloud blog.   This is your one stop shop for all the latest Copilot features across Power Platform and #Dynamics365, including first-hand looks at how companies such as Lenovo, Sonepar, Ford Motor Company, Omnicom and more are using these new capabilities in transformative ways. Click the image below to watch today!   Power Platform Community Conference 2024 is here! It's time to look forward to the next installment of the Power Platform Community Conference, which takes place this year on 18-20th September 2024 at the MGM Grand in Las Vegas!   Come and be inspired by Microsoft senior thought leaders and the engineers behind the #PowerPlatform, with Charles Lamanna, Sangya Singh, Ryan Cunningham, Kim Manis, Nirav Shah, Omar Aftab and Leon Welicki already confirmed to speak. You'll also be able to learn from industry experts and Microsoft MVPs who are dedicated to bridging the gap between humanity and technology. These include the likes of Lisa Crosbie, Victor Dantas, Kristine Kolodziejski, David Yack, Daniel Christian, Miguel Félix, and Mats Necker, with many more to be announced over the coming weeks.   Click here to watch our brand-new sizzle reel for #PPCC24 or click the image below to find out more about registration. See you in Vegas!       Power Up Program Announces New Video-Based Learning Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram. These include a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the image below to find out more!   UPCOMING EVENTS Microsoft Build - Seattle and Online - 21-23rd May 2024 Taking place on 21-23rd May 2024 both online and in Seattle, this is the perfect event to learn more about low code development, creating copilots, cloud platforms, and so much more to help you unleash the power of AI.   There's a serious wealth of talent speaking across the three days, including the likes of Satya Nadella, Amanda K. Silver, Scott Guthrie, Sarah Bird, Charles Lamanna, Miti J., Kevin Scott, Asha Sharma, Rajesh Jha, Arun Ulag, Clay Wesener, and many more.   And don't worry if you can't make it to Seattle, the event will be online and totally free to join. Click the image below to register for #MSBuild today!   European Collab Summit - Germany - 14-16th May 2024 The clock is counting down to the amazing European Collaboration Summit, which takes place in Germany May 14-16, 2024. #CollabSummit2024 is designed to provide cutting-edge insights and best practices into Power Platform, Microsoft 365, Teams, Viva, and so much more. There's a whole host of experts speakers across the three-day event, including the likes of Vesa Juvonen, Laurie Pottmeyer, Dan Holme, Mark Kashman, Dona Sarkar, Gavin Barron, Emily Mancini, Martina Grom, Ahmad Najjar, Liz Sundet, Nikki Chapple, Sara Fennah, Seb Matthews, Tobias Martin, Zoe Wilson, Fabian Williams, and many more.   Click the image below to find out more about #ECS2024 and register today!     Microsoft 365 & Power Platform Conference - Seattle - 3-7th June If you're looking to turbo boost your Power Platform skills this year, why not take a look at everything TechCon365 has to offer at the Seattle Convention Center on June 3-7, 2024.   This amazing 3-day conference (with 2 optional days of workshops) offers over 130 sessions across multiple tracks, alongside 25 workshops presented by Power Platform, Microsoft 365, Microsoft Teams, Viva, Azure, Copilot and AI experts. There's a great array of speakers, including the likes of Nirav Shah, Naomi Moneypenny, Jason Himmelstein, Heather Cook, Karuana Gatimu, Mark Kashman, Michelle Gilbert, Taiki Y., Kristi K., Nate Chamberlain, Julie Koesmarno, Daniel Glenn, Sarah Haase, Marc Windle, Amit Vasu, Joanne C Klein, Agnes Molnar, and many more.   Click the image below for more #Techcon365 intel and register today!     For more events, click the image below to visit the Microsoft Community Days website.      

Tuesday Tip | Update Your Community Profile Today!

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   We're excited to announce that updating your community profile has never been easier! Keeping your profile up to date is essential for staying connected and engaged with the community.   Check out the following Support Articles with these topics: Accessing Your Community ProfileRetrieving Your Profile URLUpdating Your Community Profile Time ZoneChanging Your Community Profile Picture (Avatar)Setting Your Date Display Preferences Click on your community link for more information: Power Apps, Power Automate, Power Pages, Copilot Studio   Thank you for being an active part of our community. Your contributions make a difference! Best Regards, The Community Management Team

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Super User of the Month | Ahmed Salih

We're thrilled to announce that Ahmed Salih is our Super User of the Month for April 2024. Ahmed has been one of our most active Super Users this year--in fact, he kicked off the year in our Community with this great video reminder of why being a Super User has been so important to him!   Ahmed is the Senior Power Platform Architect at Saint Jude's Children's Research Hospital in Memphis. He's been a Super User for two seasons and is also a Microsoft MVP! He's celebrating his 3rd year being active in the Community--and he's received more than 500 kudos while authoring nearly 300 solutions. Ahmed's contributions to the Super User in Training program has been invaluable, with his most recent session with SUIT highlighting an incredible amount of best practices and tips that have helped him achieve his success.   Ahmed's infectious enthusiasm and boundless energy are a key reason why so many Community members appreciate how he brings his personality--and expertise--to every interaction. With all the solutions he provides, his willingness to help the Community learn more about Power Platform, and his sheer joy in life, we are pleased to celebrate Ahmed and all his contributions! You can find him in the Community and on LinkedIn. Congratulations, Ahmed--thank you for being a SUPER user!

Tuesday Tip: Getting Started with Private Messages & Macros

Welcome to TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   This Week's Tip: Private Messaging & Macros in Power Apps Community   Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member!   Our Knowledge Base article about private messaging and macros is the best place to find out more. Check it out today and discover some key tips and tricks when it comes to messages and macros:   Private Messaging: Learn how to enable private messages in your community profile and ensure you’re connected with other community membersMacros Explained: Discover the convenience of macros—prewritten text snippets that save time when posting in forums or sending private messagesCreating Macros: Follow simple steps to create your own macros for efficient communication within the Power Apps CommunityUsage Guide: Understand how to apply macros in posts and private messages, enhancing your interaction with the Community For detailed instructions and more information, visit the full page in your community today:Power Apps: Enabling Private Messaging & How to Use Macros (Power Apps)Power Automate: Enabling Private Messaging & How to Use Macros (Power Automate)  Copilot Studio: Enabling Private Messaging &How to Use Macros (Copilot Studio) Power Pages: Enabling Private Messaging & How to Use Macros (Power Pages)

Users online (7,047)