Showing results for 
Search instead for 
Did you mean: 
Advocate II
Advocate II

Flow update to SharePoint list item fields triggers the Flow to fire again

We often use sharepoint designer workflows to set list field values that we will examine later in the workflow, when the item is updated by the user at a later time.  I just tried to to that with a Flow. The Flow triggers on item Creation or Edit, and then modifies several fields in the same list item.  I am seeing that the flow is actually being triggered lots of times - it appears to be in a loop where the updates it makes to the list item triggers the Flow again, makes more updates, which triggers it again.  Is this expected behavior? If so, is there a way around this?

Not applicable

This message was for Hilandhall.

Create a condition in your flow, switch to advanced mode, and add this:


@lessOrEquals(triggerBody()?['Modified'], addSeconds(triggerBody()?['Created'], 2))


That will check the modified date against the created date for the Sharepoint item.  If the Modified is less than 2 seconds, then just don't set up any additoinal steps in the "yes" bucket.  That way, when the flow does start again, it will just stop doing anything.

Not applicable

Thank you for the response I will give this a try. Where do I insert the condition? After When an iteam is created or modified? Then should I enter a condition "If no" and if so what should I do.


Sorry I am relativly new to Flow.

I can't believe this is the way this is supposed to work... am I missing something? Almost every workflow I would use involves a modification to the original list item  Smiley Sad


Interestingly, my flow retriggered six times before ending (or so I thought) by itself. Exactly one hour later, it started again and repeated for another six loops. Sort of like it detected the loop was endless and paused the workflow then restarted and paused again.  I have since deleted the step that caused the retriggering but this is interesting behavior and worth taking note of.

I can't believe we need a workaround for this looping issue. This is something Flow needs to have built-in. I couldn't find a feature request in Flow Ideas, so I went ahead and created one.

If this post helps answer your question, please click on “Accept as Solution” to help other members find it more quickly. If you thought this post was helpful, please give it a Thumbs Up.

Hey all,



They should make the When an item is modified a thing and use a check if you don't want to fire the Flow again if you update the item or file.


I still can't believe we need to have workarounds for this, and those workarounds are not that reliable at times.


Kind regards



If this reply has answered your question or solved your issue, please mark this question as answered.

Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up.

Advocate II
Advocate II

What I would like to see is a service account able to be used for the Flow. If the update was by the service account exit the update flow, otehrwise continue. This would ensure that the flow does not trigger itself. I have users creating their own flows and not sharing with the team and this is starting to create a support nightmare. The latests was someone creating a flow to create an item when an item was created. This generated 50,000 + items as we had a public holdiay between when they created and published their flow. We now have accounts locked as they have sent to many emails and user inboxes that are unuseable due to the number of rogue emails sent.

Helper I
Helper I

Following on from this thread, do we know whether there is a workaround for this situation that causes the Microsoft Flow in a loop using the "When an item is created or modified" trigger? 

Thanks so much

Not applicable

I actually rely on this feature to run a recursive flow. You can use a condition at the start of the flow so it knows when to stop. I hope this functionality is never removed.


Hello, @JJ_in_atlanta!


Thank you for posting on the Flow Community Forum! Have you had an opportunity to apply @krishnangshu‘s recommendation to adapt your Flow? If yes, and you find that solution to be satisfactory, please go ahead and click “Accept as Solution” so that this thread will be marked for other users to easily identify!

Thank you for being an active member of the Flow Community!


Flow Community Manager

- Gabriel
Community Manager
Power Automate | Power Virtual Agents
Super User Program Manager

Regular Visitor

I'm using a control that compares 'current time' to 'modified' time as a workaround.


  1. Get current time
  2. Subtract from time  (Current time minus n seconds).  Select n based on how long it takes your flow to loop.  
  3. Set a conditional control if calculated time (output of step 2) is less than 'modified'
  4. "no" continues the flow, "yes" is empty, terminating the flow and the loop.  

If the list involved a lot of users, contemporaneous changes might be missed for longer flows.  

Helpful resources

UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Users online (2,518)