cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
mboonie
Level 8

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
Highlighted
Community Support Team
Community Support Team

Re: Use Flow to Remove User from Permissions Group

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

mboonie
Level 8

Re: Use Flow to Remove User from Permissions Group

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

14 REPLIES 14
Highlighted
Community Support Team
Community Support Team

Re: Use Flow to Remove User from Permissions Group

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

mboonie
Level 8

Re: Use Flow to Remove User from Permissions Group

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.)

mboonie
Level 8

Re: Use Flow to Remove User from Permissions Group

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

BR1984
Level: Powered On

Re: Use Flow to Remove User from Permissions Group

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
 
mboonie
Level 8

Re: Use Flow to Remove User from Permissions 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

babz88
Level: Powered On

Re: Use Flow to Remove User from Permissions Group

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.

brypabs
Level: Powered On

Re: Use Flow to Remove User from Permissions Group

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.

brypabs
Level: Powered On

Re: Use Flow to Remove User from Permissions Group

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.

mboonie
Level 8

Re: Use Flow to Remove User from Permissions Group

Hi, @brypabs, 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!

mboonie
Level 8

Re: Use Flow to Remove User from Permissions Group

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!

mboonie
Level 8

Re: Use Flow to Remove User from Permissions Group

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

 

brypabs
Level: Powered On

Re: Use Flow to Remove User from Permissions Group

Wow. Thank you very much for this. I really appreciate it. Will check and will follow your instructions. Again, THANK YOU! 🙂
brypabs
Level: Powered On

Re: Use Flow to Remove User from Permissions Group

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

brypabs
Level: Powered On

Re: Use Flow to Remove User from Permissions Group

@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! 🙂

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

firstImage

Incoming: New and improved badges!

We've given our badges an overhaul and also added some brand new ones!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Power Automate Community Video Gallery!

Top Kudoed Authors
Users Online
Currently online: 131 members 5,102 guests
Please welcome our newest community members: