Why Flow Runs Twice for One SharePoint Item
🔍 WiseChecker

Why Flow Runs Twice for One SharePoint Item

You create a Microsoft Power Automate flow that triggers when a SharePoint item is created or modified. But when you add or change an item, the flow runs two times instead of once. This problem is usually caused by a trigger setting that reacts to both the creation and the modification event, or by a loop inside the flow that updates the same item. This article explains the root cause of duplicate runs and shows you how to stop them by adjusting the trigger conditions and flow logic.

Key Takeaways: Stopping Duplicate Flow Runs

  • Trigger condition “When an item is created or modified”: Fires once for creation and again for any update, including the same update that the flow itself makes.
  • Trigger condition “When an item is created”: Fires only on new items, eliminating the second run caused by a modification trigger.
  • Flow action “Update item”: When placed inside the flow, this action modifies the item and triggers the flow again, creating a loop.

ADVERTISEMENT

Why a Flow Runs Twice for One SharePoint Item

The most common cause of a duplicate flow run is the trigger trigger condition itself. Power Automate offers a trigger named When an item is created or modified. This trigger fires once when a user creates a new item. Then it fires a second time when the flow itself updates that same item during its run. This second run is often unintended.

A second common cause is a loop inside the flow. Many flows include an action that updates the SharePoint item, for example to change a status field or add a timestamp. That update action is a modification. If the trigger is set to respond to modifications, the flow triggers again. This creates an infinite loop that the platform eventually stops, but not before running the flow twice or more.

A third cause is a custom trigger configuration or a SharePoint event receiver that also fires. However, in most business scenarios, the trigger condition and the self-update loop are the culprits.

Steps to Fix a Flow That Runs Twice

  1. Check the trigger type in Power Automate
    Open your flow in the Power Automate editor. Click the trigger step. Look at the trigger name. If it says When an item is created or modified, you are using the trigger that causes the double run. Change it to When an item is created if you only need to react to new items. If you must react to modifications as well, move to the next step.
  2. Add a trigger condition to filter modifications
    If you need to react to both creation and modification, add a trigger condition that prevents the flow from running when the item is modified by the flow itself. In the trigger settings, expand Add trigger conditions. Add a condition that checks a custom column. For example, create a Yes/No column named FlowProcessed. Set the trigger condition to @equals(triggerOutputs()?[‘body/FlowProcessed’], false). Then in the flow, after the main actions, update that column to true. This prevents the flow from running again on the same item.
  3. Remove any update action that causes a loop
    Look at every action in your flow. If any action updates the same SharePoint item that triggered the flow, that action can cause a second run. Remove the update action if it is not required. If the update is required, use the trigger condition from step 2 to block the second run.
  4. Use the trigger condition for modified fields
    If you use When an item is created or modified and you only want to react when a specific field changes, add a trigger condition that checks the field name. For example, to react only when the Status field changes, add @equals(triggerOutputs()?[‘body/Status’], ‘Approved’). This reduces false triggers from other updates.
  5. Test the flow with a new item
    After making changes, create a new SharePoint item and watch the flow run history. Open the flow and select Run history. You should see only one run for each item creation or modification. If you still see two runs, review the trigger condition and the update actions again.

ADVERTISEMENT

If the Flow Still Runs Twice After the Main Fix

Flow runs twice because of a SharePoint event receiver

Some SharePoint sites have custom event receivers or Power Automate flows that also run on item changes. Check the site collection features. Go to SharePoint admin center, select Active sites, open your site, and click Site features. Look for any activated feature that adds event receivers. Deactivate it if it is not needed.

Flow runs twice because of a parallel approval step

If your flow includes an approval action that runs in parallel, the approval response can trigger a second flow run. This happens when the approval response updates the item. Use the trigger condition method described earlier to block the second run.

Flow runs twice because of a connector bug

In rare cases, the SharePoint connector has a known bug that fires the trigger twice. Microsoft usually fixes these bugs within a few months. To work around the bug, add a delay action at the start of the flow. Insert a Delay action set to 30 seconds. This gives the platform time to deduplicate the runs. This is a temporary solution and should be removed after the connector is updated.

When an Item Is Created vs Created or Modified: Key Differences

Item When an item is created When an item is created or modified
Trigger event Only on new item creation On creation and on every modification
Risk of duplicate runs Low, unless the flow updates the same item High, because the flow often updates the item
Best use case Send a welcome email when a new item is added Update a status field when a specific column changes
Trigger condition needed Usually not required Required to prevent self-triggering loops

When you need to react to both creation and modification, always add a trigger condition. When you only need to react to new items, use the creation-only trigger. This simple choice eliminates most duplicate flow runs.

Now you can identify why your flow runs twice for one SharePoint item. The main fix is to change the trigger to When an item is created or add a trigger condition that blocks the second run. If you still see duplicates, check for event receivers or parallel approvals. For a quick workaround, add a 30-second delay action. Review your flow run history after each change to confirm the fix works.

ADVERTISEMENT