web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Use Flow to Remove Use...
Power Automate
Unanswered

Use Flow to Remove User from Permissions Group

(1) ShareShare
ReportReport
Posted on by 164

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

Categories:
I have the same question (0)
  • Verified answer
    v-yamao-msft Profile Picture
    on at

    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-framework-spfx

     

    Best regards,

    Mabel

  • mboonie Profile Picture
    164 on at

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

  • Verified answer
    mboonie Profile Picture
    164 on at

    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

  • BR1984 Profile Picture
    53 on at

    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 Profile Picture
    164 on at

    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

  • Community Power Platform Member Profile Picture
    on at

    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.

  • Community Power Platform Member Profile Picture
    on at

    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.

  • Community Power Platform Member Profile Picture
    on at

    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 Profile Picture
    164 on at

    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!

  • mboonie Profile Picture
    164 on at

    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!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Automate

#1
Michael E. Gernaey Profile Picture

Michael E. Gernaey 538 Super User 2025 Season 2

#2
Tomac Profile Picture

Tomac 405 Moderator

#3
abm abm Profile Picture

abm abm 252 Most Valuable Professional

Last 30 days Overall leaderboard