Flow Runs Twice for One SharePoint Item: Root Cause and Fix
🔍 WiseChecker

Flow Runs Twice for One SharePoint Item: Root Cause and Fix

You create or update a single item in a SharePoint list or library and your Power Automate flow triggers two times. This double trigger causes duplicate emails, repeated file updates, or double notifications. The root cause is often a combination of the flow trigger configuration and SharePoint’s internal update behavior. This article explains why a flow runs twice for one SharePoint item and provides a clear fix to stop duplicate runs.

Key Takeaways: Stop Duplicate Flow Runs for SharePoint Items

  • Flow trigger condition for SharePoint: Adding a trigger condition that checks @equals(triggerOutputs()?['headers/x-ms-file-id'], '') prevents the second run.
  • Trigger type change to When a file is created or modified (properties only): Reduces duplicate triggers caused by SharePoint metadata updates.
  • Disable the trigger on file or folder deletion: Prevents the flow from running when SharePoint sends a delete event.

ADVERTISEMENT

Why a Flow Triggers Twice for a Single SharePoint Item

When you create or modify an item in SharePoint, the platform often sends more than one event to Power Automate. The first event is the initial creation or update. The second event can come from SharePoint updating internal metadata, such as the modified date, version number, or content type ID. If your flow uses the trigger “When an item is created or modified,” it responds to every event, including these internal updates. Additionally, if you have multiple triggers on the same list or library, each one can independently fire.

Another common cause is the flow trigger condition. By default, Power Automate does not distinguish between a user action and a system action. SharePoint updates like versioning, retention policies, or workflow status changes all count as modifications. The flow sees each change as a new trigger event.

The Role of SharePoint Internal Updates

SharePoint automatically updates certain fields when an item is saved. For example, the Modified field changes, and the version number increments. If versioning is enabled, each save creates a new version, which triggers another event. This means a single user action can produce two or more events in rapid succession.

Trigger Type and Configuration

Power Automate offers two main SharePoint triggers: “When an item is created or modified” and “When a file is created or modified (properties only).” The first trigger fires for all changes, including metadata updates. The second trigger fires only when properties like title or description change, ignoring internal system updates. Using the wrong trigger type can cause double runs.

Steps to Fix a Flow That Runs Twice for One SharePoint Item

Apply these fixes in order. Test the flow after each step to confirm the issue is resolved.

Step 1: Add a Trigger Condition to Filter Duplicate Events

  1. Open your flow in Power Automate
    Go to Power Automate and select My flows. Click the flow name to edit it.
  2. Select the SharePoint trigger step
    Click the trigger card labeled When an item is created or modified or When a file is created or modified.
  3. Add a trigger condition
    In the trigger settings pane, expand Add trigger condition. Enter this expression:
    @equals(triggerOutputs()?['headers/x-ms-file-id'], '')
    This condition allows the flow to run only when the x-ms-file-id header is empty, which happens on the first event. The second event from internal updates will have a value and be ignored.
  4. Save the flow
    Click Save at the top of the editor. Test by creating or updating a SharePoint item. The flow should run only once.

Step 2: Change the Trigger to Properties Only

  1. Delete the existing trigger step
    In the flow editor, right-click the trigger card and select Delete.
  2. Add a new trigger
    Click the + button and search for SharePoint. Select When a file is created or modified (properties only).
  3. Configure the trigger
    Select the same site address and list or library name. This trigger ignores internal metadata changes and fires only when user-editable properties change.
  4. Save and test
    Click Save. Create a new item in SharePoint. The flow should trigger once.

Step 3: Disable the Trigger on File or Folder Deletion

  1. Open trigger settings
    Click the trigger card in your flow. In the settings pane, find Trigger on file or folder deletion.
  2. Set to No
    Change the dropdown to No. This prevents the flow from running when SharePoint sends a delete event, which can sometimes cause a double trigger during updates.
  3. Save the flow
    Click Save.

ADVERTISEMENT

If the Flow Still Runs Twice After the Main Fix

Flow Runs Twice When Using Multiple Triggers on the Same List

If you have two or more flows triggered by the same SharePoint list or library, each flow runs independently. To confirm this, check the run history of each flow. The solution is to consolidate the logic into a single flow or use a condition to run only one flow based on the item properties.

Flow Runs Twice Because of a SharePoint Workflow or Retention Policy

SharePoint workflows, retention policies, or information management policies can update items after the initial save. These updates trigger the flow again. To stop this, review the policies applied to the list or library. Remove any automatic update policies that are not required. Alternatively, add a trigger condition that checks the Modified field to see if the change was made by a system account.

Flow Runs Twice When Using a Recurrence Trigger with a SharePoint Action

If your flow uses a Recurrence trigger and then a SharePoint action like Get items, the flow runs on a schedule, not on item changes. However, if you also have a SharePoint trigger on the same flow, the recurrence and the trigger can both start the flow. Remove the extra trigger or use only one trigger per flow.

SharePoint Triggers for Power Automate: Comparison

Item When an item is created or modified When a file is created or modified (properties only)
Description Fires for all changes, including internal metadata updates Fires only when user-editable properties change
Trigger on system updates Yes No
Best for Simple lists where double runs are acceptable Lists or libraries with versioning or retention policies
Risk of duplicate runs High Low

After applying the trigger condition or switching to the properties-only trigger, your flow should run exactly once per user action. To further reduce duplicate runs, review any SharePoint workflows or retention policies that update items automatically. Use the run history in Power Automate to confirm that only one run appears for each item change.

ADVERTISEMENT