I have a flow, which can be manually started to send an e-mail to a supervisor, who then has to check the list item, change a value from "open" to "yes or no" (which is a drop-down field in SP) which should then afterwards start the flow again to inform the requestor if it has been either approved or rejected. If the supervisor doesn't answer until a specific date (which can be set in the list item), then a reminder should be send.
I'm new to flow, so maybe I'm missing an easy solution here. But I can't get my head around on how to fix this so that my flow waits/delays until this one property in my list item has been changed.
I've played around with the "do-while" loop or the delay action, but couldn't solve this issue.
Thanks
Dr. B
I am trying to get this piece of your solution to work:
- Value is the expression from the linked website Body('SPREST-Versions')?['value']
However, I am not having any success any suggestions as to what I am doing wrong? I cannot find "Value" anywhere to put and it keeps throwing errors.
Thank you in advance.
Dorinda
I have an approval process for list items and I wanted to send an approval email only when the status of the item changed from "Ordered" to "Ready".
The change of the status "Ordered" to "Ready" is an automized process so I though I would just put a "Wait until" or "Wait" function but this was not possible as the wait time is not always the same. I wanted to send an approval email from the moment it's ready so I have searched for a solution where there would be a check on a specific field.
I tried using switch case or condition but there was a problem when other fields were updated and the condition was already fulfilled, it would send again an approval email:
eg item changed - Status is not "Ready" = Terminate (that's OK)
item changed - Status is "Ready" = send approval email (that's correct) but now item is changed again, other field is updated and the status is still "Ready" = approval email resent (that's not correct as it does not check what was updated"
I did not want to use nested conditions or switch cases.
The solution link provided by grahampasmurf with version checking did the trick!! http://johnliu.net/blog/2018/5/microsoft-flow-sharepoint-trigger-on-specific-fields-changed-via-sp-h...
Thank you for that!
It did require some adaptation but it works!
- ID can be found in "See more" Dynamic content
- SPREST-Versions is just renamed "Send HTTP request to Sharepoint"
- In the Url, if you use space or other special chars, you need to pay attention to how it's written eg space = %20
- Value is the expression from the linked website Body('SPREST-Versions')?['value']
- Orderstatus = valuefield "ValoTeamwork" is not found via Dynamic content but via Output from "Select" When I used the Dynamic content value it did not work as "Valo Teamwork" contained the actual value and was passing it throung to "GroupSiteUrl" from Dynamic content which remaind always the same.
- HTML table is not needed but usefull to debug and make sure it works correctly
- Conditions can again be found on the linked website: first(body('Select'))?['Orderstatus'] - last(body('Select'))?['Orderstatus']
More about approval flow
https://powerusers.microsoft.com/t5/Using-Flows/Flow-and-SharePoint-List-Status/m-p/132299#M3532
Hi Kris
Everything works now as expected, thank you very much!
Is there an option to set the delay action for the reminder e-mail in the parallel branch (right) to send the email at a specific date (from the list item - there is a column formatted as "Date & Time") instead of a set amount of days?
Thanks, and best regards
Dr. B
Hi Kris
Thank you very much for your help and detailled example.
I'm unfortunately not able to share the flow for now as I have to change it up a bit.
Yes, I want to send an approval mail to a supervisoer (not direct manager) as it could always be somebody else.
I'll test the flow again with your proposed settings and get back at you as soon as I'm done.
kind regards,
Dr. B
__________________
Edit: I've created the flow as you proposed, but unfortunately the flow does not continue after the change on the list item status - I guess the "do until" loop does not work as expected. See screenshot below, any idea? Thanks and best regards
Dr. B
Edit (again..): I changed the field names in the "do until" function so that these are the same es the one in my list (eg. Approval Status = "Custom FieldName SP List"). But it's still not picking up the changed filed.
Hi @Anonymous,
Could you please share a screenshot of your flow's configuration?
Do you want to send an approval email to the supervisor?
Further, could you please show more details about your SharePoint list?
I have created a SharePoint list on my side and the data structure of it as below:
Note: The ApprovalStatus column is Choice type column, the available values of it are Open, Yes and No. If ApprovalStatus column are set to yes, it means that approver approve this item, otherwise, the approver reject this item.
I have made a test on my side and please take a try with the following workaround:
@or(equals(body('Get_item_2')?['ApprovalStatus']?['Value'], 'Yes'),equals(body('Get_item_2')?['ApprovalStatus']?['Value'], 'No'))
Click "Change limits", Count property (Default value is 60) set to empty and TimeOut property set to following formula:
P30D
Within "Do Until" action, add a "Get items 2" action, specify Site Address and List Name. Id field set to ID dynamic content of the trigger.
Under "Do until" action, add a "Get items 3" action, specify Site Address and List Name.Id field set to ID dynamic content of the trigger. Add a Condition, click "Edit in advanced mode", type the following formula:
@equals(body('Get_item_3')?['ApprovalStatus']?['Value'], 'Yes')
Within "If/yes" branch of Condition, add a "Send an email 2" action (Send approve notification). Within "If/no" branch of Condition, add a "Send an email 3" action (Send reject notification). Under the Condition, add a "Terminate" action, Status set to success
Within Right branch of Parallel branch action, add a "Delay Until" action, Timestamp field set to following formula:
addDays(utcNow(),1)
Note: I assume that send the reminder notification email after 1 Day.
Then add a "Send an email" action to send the reminder notification.
Image reference:
The flow works successfully as below:
Best regards,
Kris
While there are a number of ways of approaching this, the following Flow should meet you needs.
A few notes:
Please post if this solves your issue or you need additional info.
WarrenBelz
146,524
Most Valuable Professional
RandyHayes
76,287
Super User 2024 Season 1
Pstork1
65,906
Most Valuable Professional