Hello,
I have been assisting a colleague with a flow they've built and are needing to request approval of checked-out documents where there are 1 or more people added to the 'ProcessOwner' people column in a SharePoint document library.
The flow is as below:
At this point in the flow I have created an 'Initialize variable' action named 'Approvers' with the type of 'String'.
Next I am appending the 'ProcessOwner Email' value as an input into the Value of the 'Append to string variable' action, followed by a semi-colon.
Next the file properties are updated and the 'Status Value' is set to 'Approval Requested'.
Next we use the 'Start and wait for an approval' action where we add the 'Approvers' value to the 'Assigned to' section of the approvals action - we are using the approval type "Approve/Reject - Everyone must approve.
At this point, both parties receive an Approval email and once one has been approved, this seems to approve the item before the second approver managed to add their approval (rather than waiting). It's also noted that once one user has approved, the other user is removed from the 'ProcessOwner' column and only leaves the person who approved first.
After item is approved, the 'Status Value' is updated to either 'Approved' or 'Approval Rejected' and the Completion date and Responses Comments are appended to the item.
Lastly if the item was approved, then it is then checked in. Lastly the user who created the file is sent an email confirming whether their file was approved or rejected. Annoyingly we cannot enter the name of the person who approved/rejected as theres not a way of showing both approvers names (however this isn't working as the flow seems to go through with only one person approving as mentioned above rather than waiting for both people to approve.
Would appreciate some assistance with this one.
Thanks!
Hiya, @sudosaurus , good to see you back and about!
I'm not entirely sure of what the issue is, but I think there's a small issue that you can resolve in your flow that might help future breakages. That's around the ProcessOwner field.
I don't think that any part of this requires that you update that field, so you can probably get away with leaving it empty.
However if you have to update that, then you could create a processOwnerClaimsArrVAR array variable. Then in your append each email to the approvers loop you can add an action to append each process owner claim to the array variable.
Then just switch those update actions to 'text view' on that field and input the processOwnerClaimsArrVAR variable value. 🙂
---
Separately, and I'm not sure if this was a problem ... The reason why the actual item is being set to approve is because you are running your actions on every response to the approval. So as soon as one of them has responded then it is running on that.
If you just wait until the approval is done, then you will be able to approve the item based on 'full' approval.
You may wish to run a 'Do until' / 'Until' action to check the status of the Approval with a suitable delay in there. However you should just be able to leave the flow to wait until the Approval is done, as it will not run the next action until that is true. You could also run the Until in parallel to run reminders after a period of time.
The field that you're most interested in would be the 'Outcome' field from the Approval. 👍
@{outputs('Start_and_wait_for_an_approval')?['body/outcome']}
Hi @sudosaurus ,
Can you please share a full screenshot of your flow that shows all actions inside the loops? You seem to have a lot them in your flow and this may cause what you describe.
Michael E. Gernaey
497
Super User 2025 Season 2
David_MA
436
Super User 2025 Season 2
Riyaz_riz11
244
Super User 2025 Season 2