I have a flow that askes approval from a group of people I then record all their responses. The issue is that I want to put a timeout on the approval and record all those that didnt reply. For example:
John: Approved - i like this
Sarah: Approved - happy to go ahead
Ian: Rejected - This is bad
Sally: Failed to respond
Bob: Failed to respond
To achieve this, I use a Apply to each loop on each email address, with a Start and Wait for an Approval. I was hoping this would allow me to send a separate approval to each person with a time out - that way i can record the response, but also have an individual time out for each person.
The issue is that the Start and wait only appears to go to the first person in the For each and then it waits for them to respond before sending to the next person! Ive tried the Approval with out the wait, but that didnt wait (as expected!). Ive also tried a custom Approval but still no joy.
Any Idea how i can achieve my requirements?
Solved! Go to Solution.
Hi @StevieC ,
Have you tried like this ?
Hope this will give some idea.
Please let me know, if you need further clarification.
Thanks,
Murali.
Hi @StevieC ,
Have you tried like this ?
Hope this will give some idea.
Please let me know, if you need further clarification.
Thanks,
Murali.
Hi Murali
That's great and functions as required. The only issue i have now, is that if someone doesn't reply (response times out), i dont have a response to get their name from - this means that compose 3 in your diagram cannot use the response display name to say which failed. Can i get this from the original approval using the id in a function?
Cheers
Hi @StevieC ,
Yes that's possible to get the approval related values.
Store all the Approvals into an array variable, once it is getting Timeout, use Filter Array to get the Approval details.
Hope this helps you.
Thanks,
Murali.
Thanks Murali
I cant get the filter to work - im not sure what 'output' is - im trying to filter by the Apply to each value of the array of approval IDs but this doesnt work?
Hi @StevieC
Please refer the below screenshot.
@equals(item()['name'], outputs('Compose_3'))
Please let me know, if you need any help.
Thanks,
Murali
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
Great - almost there!! Im struggling to write the function to get the display name out of the results:
[
{
"approvers": [
{
"id": "72a6b3fd-5997-4e12-8968-71924bxxxxxx",
"displayName": "Smith, Jon",
"email": "Jon.Smith@domain.co.uk",
"tenantId": "5546e75e-3be1-4813-b0ff-2665xxxxxxx",
"userPrincipalName": "Jon.Smith@domain.co.uk"
}
],
"respondLink": "https:/.....",
"adaptiveCard": ".....",
"name": "de6xxxx-6b77-4d46-a2d9-8xxxxx6a18",
"title": "AGB document approval required",
"details": "Please review",
"requestDate": "2021-05-05T13:52:39Z",
"expirationDate": "9999-12-31T23:59:59Z"
}
]
something like:
Hi @StevieC ,
Give a try something like this .
first(body('Filter_array'))?['approvers'][0]['displayName']
Thanks,
Murali.
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
Superstar!!! That worked perfectly - thanks for all your help - hope it wasnt too painful! 🙂
The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.
Announcing a new way to share your feedback with the Power Automate Team.
Learn to digitize and optimize business processes and connect all your applications to share data in real time.
User | Count |
---|---|
73 | |
27 | |
22 | |
15 | |
15 |
User | Count |
---|---|
143 | |
43 | |
42 | |
34 | |
31 |