Change Permissions succeeding but not working

My setup in this situation is 3 flows:

  1. A main flow that does some things and then calls (in order) the following two flows

  1. When an HTTP Request is received - Remove all permissions

  1. When an HTTP Request is received - Grant permission

All of these are running and "succeeding" but Grant Permissions (Flow 3) is not actually granting permissions. If I resubmit flow #3 manually after the fact, it functions correctly.

What am I missing here?

Hello, @kiwi

Could you provide screenshots of all your flows with opened properties so I could reproduce the issue?

Added screenshots. Hopefully that is enough detail.

Looks like reproducing can take a while... Sorry for not mentioning it at the beginning. Could you also provide the action input and output of ostensibly and actually successful runs both to compare?

Just a guess, what if to use an intermediate action: for example, to parse the retrieved data as JSON and to use its properties in the "Change SharePoint permissions" actions - does it change anything?

Sorry - it wouldn't let me add more screenshots to the original post. Not quite sure I understand which inputs you're looking for, but this is what is in the HTTP trigger of the Grant Permissions flow (the remove permissions is similar):

    "properties": {
        "id": {
            "type": "string"
        "listname": {
            "type": "string"
        "siteurl": {
            "type": "string"
        "users": {
            "type": "string"
        "level": {
            "type": "string"
    "type": "object"

And then I parse out the ID in JSON to use in the actions screenshot above. Like I said, it works just fine running manually using the inputs from the previous run that "failed".

Please, open the "failed" run and expand the "Change SharePoint permissions" action. Inside, you will see the "Inputs" block - share it.

Could you also tell us date and time of one of the "failed" runs? We shall try to find something suspicious in logs. It would be great if at least 10 minutes before and after there would be no other runs.

See below. I'm noticing already that mine doesn't have inputs past "Body" like yours does?

This flow ran 9/12/2019 10:07:11 AM.

Thanks for the update. I've passed the data to developers for researching.

Hello, @kiwi

Recently we released an update for Actions and need fresh data for research. Could you reproduce the issue again and tell when the action have been started so we could find it in logs?

Original HTTP: Ran at 9/20/2019 1:41:09 PM

Manual Resubmit: Ran at 9/20/2019 1:58:58 PM

Thank you, and I am sorry for the delay with solving the issue.

I think I figured out the issue. In the main flow I call the "Remove Permissions" flow and then "Grant Permissions" flow one right after the other, but Grant Permissions is finishing first. I added a pause between the two so hopefully that will help, but it's in PROD so I have to wait for the user to run another item before I will know for sure.

Thank you for notifying about your idea. Please keep us in touch about the results you will get.

Can I ask you why don't you want to merge all flows in one? In this case you could provide the strict order without any pauses. Also, please note that from time to time there can be performance issue on Microsoft or our side and then the pause you have set can be not enough.

We haven't merged them because the users who manually fire the main flow do not have permissions to change permissions on the library.