Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Power Automate - Using Flows
Answered

Wait for field change in Lists

(2) ShareShare
ReportReport
Posted on by

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

  • Community Power Platform Member Profile Picture
    on at
    Re: Wait for field change in Lists

    @Lexnnn 

    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.

    Capture.PNG

    Thank you in advance.

    Dorinda

  • Lexnnn Profile Picture
    94 on at
    Re: Wait for field change in Lists

    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!
     

    flowemail1.PNGflowemail2.PNG

     

    - 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

  • Community Power Platform Member Profile Picture
    on at
    Re: Wait for field change in Lists

    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

  • Community Power Platform Member Profile Picture
    on at
    Re: Wait for field change in Lists

    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.

    waituntilnotworking.png

  • Verified answer
    v-xida-msft Profile Picture
    on at
    Re: Wait for field change in Lists

    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:24.JPG

    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:

    • Add a "For a selected item" action, specify Site Address and List Name.
    • Add a "Get item" action, specify Site Address and List Name, Id field set to ID dynamic content of the trigger.
    • Add a Parallel branch action, within left branch, add a "Send an email" action. Then add a "Do Until" action, click "Edit in advanced mode", type the following formula:
    @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:25.JPG

     

    26.JPG

     

    27.JPG

    The flow works successfully as below:28.JPG

     

     

     

    Best regards,

    Kris

     

     

  • ScottShearer Profile Picture
    25,208 Most Valuable Professional on at
    Re: Wait for field change in Lists

    While there are a number of ways of approaching this, the following Flow should meet you needs.

     

    A few notes:

    • I am getting the manager of the person who started the Flow and assigning the approval to them.  You might choose a different option.
    • I am using the send email with options action and defing the options as Yes or No
    • Rather than asking the approver to update the list, I have the Flow do that after they respond
    • To send the reminder email, I start a parallel branch and wait a specified period of time before sending a reminder
    • I have a terminate statement after the approval notification email is sent.  If the email is sent before the dealy is up, the Flow will terminate.  Therefore, the reminder email will not be sent if there is no need to send it.

    Please post if this solves your issue or you need additional info.

     

    ApproveOptionExample.jpgApproveOptionExample1.jpg

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

🌸 Community Spring Festival 2025 Challenge 🌸

WIN Power Platform Community Conference 2025 tickets!

Markus Franz – Community Spotlight

We are honored to recognize Markus Franz as our April 2025 Community…

Kudos to the March Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 146,524 Most Valuable Professional

#2
RandyHayes Profile Picture

RandyHayes 76,287 Super User 2024 Season 1

#3
Pstork1 Profile Picture

Pstork1 65,906 Most Valuable Professional

Leaderboard

Featured topics

Restore a deleted flow