Showing results for 
Search instead for 
Did you mean: 

Disable Event Firing when Flow updates a SharePoint list item

Add a feature that will allow flow to disable event firing when updating a SharePoint list item, so that the Flow doesn't get stuck in a loop. Currently if I create a flow with a SharePoint list trigger when item is created or modified and have the Flow update a field in the item the loop gets stuck in a loop. One workaround is to add logic to check if the field(s) still need to be updated and if not then don't update the item but even in that case the flow will be triggered twice. It just makes sense to have an option that will allow Flow to update an item without triggering an event that will cause the same Flow or another Flow to run against the item again.

Status: Declined

Hi all,


After thoroughly reviewing this idea, we have decided not to proceed with this idea for a couple of reasons.

  • SharePoint events are no longer event receiver based and are performed using webhooks or polling where applicable
  • Other Office 365 applications and internal systems like auditing may and will rely on such changes like updates to items, files and other entities in SharePoint

However, that said, we understand the crux of the issue which is to help avoid loops. We will work with the flow team to come up with a generic model/pattern that applies across data source/connections for similar scenarios.


Thanks all for your input and please submit/vote your ideas as we are actively monitoring the ideas forum.




Frequent Visitor

@Gristy thanks for responding and for the tip I will have to try that control at some point but was able to stop my looping by putting in a few hidden fields to based my conditions on.  

Not applicable

I've got a Power Automate Flow that runs whenever the user modifies an item in a List. It checks to see if the Status on an item changed by comparing a Status field with a Status_Old field on the list. I created that 'Status_Old' field to always mirrors the Status field (unless there's a change.) If the Status field was changed by a user (Condition: Status =/= Status_Old), it sends some emails and then at the end changes the Status_Old field to the new Status so that they equal each other again and awaits a Status field change again in the future.


The workflow runs successfully when I change the Status field on an item, sends emails successfully, updates status_old field successfully and then ends. Then a minute later runs again, for some reason passes the 'Status =/= Status_Old' condition near the top of the flow (workflow history shows the condition came out 'true') and runs the email and update actions again.


This exact workflow design had no issues running in SharePoint Designer. The same steps/logic in Power Automate result in this inadvertent looping. After reading some of the suggestions here, I tried throwing this as a Trigger Condition but it didn't help:


@not(equals(triggerOutputs()?['body/contract_status'], triggerOutputs()?['body/contract_status_old']))


Am I missing something? 

Frequent Visitor


Could the solution be to add a field to the trigger where we can specify the columns that need to be modified in order to trigger the flow?  There is a similar implementation of this in de Common Data Service ( Current Environment) Connector.

This way the flow will only get triggered when one of those specified columns get modified which gives us the freedom to update the other fields in the flow.

Advocate I

Hi its 2021 now and there is still not a good, simple solution to prevent infinite loops when updating list items from Flows that run on Change.  Please let me know if anyone has found a straight forward solution that doesn't require voodo magic. This is especially troubling since Microsoft is disabling 2010, and eventually 2013 workflows without a solid replacement.  Power automate wasn't designed for SharePoint and it shows.  Hoping this is addressed soon.  

Regular Visitor



What I do for that issue is the following.  I have an account that is used for Flow as the connector and that is all it used for.   In the beginning of the Flow (Modified), I have a condition right at the beginning.


The Condition Is attached in a screenshot.  Hope this helps.Screenshot 2021-02-10 141458.jpg


Resident Rockstar

Hey @JRossi you can actually set a condition on the trigger itself to save you having to add that to every flow like this. under the ... you can go into the settings and then conditions.



Regular Visitor

Unfortunately many of us do not have access or it is against IT policy to run service accounts, so we have to use the user account who runs the flow. And they might edit the flow just after creating it.

It's amazing that after all this time 2+ year, we have not seen one universal and simple use case described here that can be used e.g. via a trigger condition?

Resident Rockstar

I typically just create a column called StartFlow. The default value might be Yes - my workflow then changes it to No so it doesnt fire over and over my form/app set it to yes when the workflow needs to run.



Helper I

@Gristy I often set up a flow checker boolean as you note StartFlow and this works quite well.  However, I now have a flow now that counts the number of enrolees in a class.  This will change over time via list item modification as users enroll and disenroll and I need the flow to trigger so I can update the count (or not if it has not changed; something else was modified).  In this case, a boolean will not meet the need as the enrolees get updated over time.  Do you have some ideas on how I might limit this flow triggering so that it does not go endless?  I have considered capturing the modified date with its own unique yes/no - so some type of concatenated Date-YN, however this seems cumbersome so I'm seeking additional thoughts.  Thank you in advance.

Resident Rockstar

Hey @cblackl2000 not quite sure on your structure there.


Do you have a list of classes' that have a count of enrolled students.

Then a list of enrolments that has Class and Student and Status?


You could just start a flow each time the list of enrolments is modified or created and then re-do the count and update the class record?