web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Help with power automa...
Power Automate
Suggested Answer

Help with power automate flow - failing on loop

(0) ShareShare
ReportReport
Posted on by 10
I have this flow that is designed to get items from a Sharepoint list, filtering on where the EmailSent helper field is no/false. I initialize a variable in the next step just to make sure the previous action is working. I then iterate through the items, but I keep getting this error "An action failed. No dependent actions succeeded." and it's driving me up the wall. This is causing the Update Item action to skip, resulting in the EmailSent field never getting updated to yes/true, resulting in emails getting sent every day for items that have already been notified about whenever the scheduled flow runs.
SNAG-0292.png
SNAG-0291.png
SNAG-0290.png
Categories:
I have the same question (0)
  • Suggested answer
    Assisted by AI
    Elliot M. Profile Picture
    19 on at
    The error "An action failed. No dependent actions succeeded" means an action before Update Item inside your Apply to Each is failing — and Update Item is being skipped because it depends on that failed action.
    Here's how to diagnose it:

    1. Open a failed flow run and expand the Apply to each loop. Click through the individual iterations — look for which action has a red X (failed), not just the Update Item. The failing action is upstream of Update Item.

    2. The most common cause: there's an action between Get Items and Update Item inside the loop (like a Send Email or Compose) that's throwing an error on certain items. For example, if you're sending an email and one item has an empty/invalid email address, that action fails and the entire remaining chain (including Update Item) gets skipped for that iteration.

    Quick fix if Update Item is your only action inside the loop:
    If the loop is literally just Get Items → Apply to Each → Update Item, check these:

    - Item ID mapping: Make sure Update Item is referencing the correct ID field. Use the ID column from the current item (from the dynamic content under "Get Items"), not a hardcoded value. The column is typically just "ID" (numeric).

    - Column internal name: Verify that the column internal name for EmailSent matches what Power Automate expects. If the column was renamed after creation, the internal name may differ from the display name. Check via SharePoint → List Settings → click the column → look at the URL for "Field=".

    - Value format: If EmailSent is a Yes/No column, set the value to true (boolean), not "Yes" (string).

    To prevent repeated emails while debugging: Add a Condition inside the loop that checks if the current item's EmailSent is still false before sending the email. This protects against partial failures on re-runs.
  • Krit Profile Picture
    10 on at
     
     
    1. Open a failed flow run and expand the Apply to each loop. Click through the individual iterations — look for which action has a red X (failed), not just the Update Item. The failing action is upstream of Update Item.
     
    When I click the arrows inside Iterate Items, it doesn't show me which actions failed.
     

    2. The most common cause: there's an action between Get Items and Update Item inside the loop (like a Send Email or Compose) that's throwing an error on certain items. For example, if you're sending an email and one item has an empty/invalid email address, that action fails and the entire remaining chain (including Update Item) gets skipped for that iteration.
     
    Impossible for an empty/invalid email address to be the issue - I am using my own email for testing and I am receiving the emails for the applicable items without an issue. The only issue is that I continue to receive them everyday due to the EmailSent field never updating after an email is sent for that particular item.

    Quick fix if Update Item is your only action inside the loop:
    If the loop is literally just Get Items → Apply to Each → Update Item, check these:

    - Item ID mapping: Make sure Update Item is referencing the correct ID field. Use the ID column from the current item (from the dynamic content under "Get Items"), not a hardcoded value. The column is typically just "ID" (numeric).
     
    I am using the dynamic ID column from Get Items.
     

    - Column internal name: Verify that the column internal name for EmailSent matches what Power Automate expects. If the column was renamed after creation, the internal name may differ from the display name. Check via SharePoint → List Settings → click the column → look at the URL for "Field=".
     

    - Value format: If EmailSent is a Yes/No column, set the value to true (boolean), not "Yes" (string).
     
    See screenshot above
  • Suggested answer
    André Arnaud de Calavon Profile Picture
    679 on at
    Hi,
     
    In case you want to know within the loop what actions were failing, you can first navigate to the next or previous error. Your first screenshot shows the loop with 1/45 with two buttons for previous and two for next item in the loop. The inner navigation is to go to the error items. Then for that item, look at the detailed actions to see which action failed and why. 
  • Krit Profile Picture
    10 on at
     
    I get what you're saying and I'll have to take a look at that later, but also there is a new error (as seen in the screenshot below) that was not coming up initially, and I believe this may be the root of my problem.
     
     
     
    The Audience/TargetAudience column in my list is a required field to complete for every list item. Could that be the reason it's throwing a read only error? How do I fix this?
     
     
  • Greg Prickril Profile Picture
    165 on at
    Scopes have a result object of Actions that you can filter to find errors. Perhaps Apply to as well. If not, put the apply to in a scope and add some logic to interrogate result.

    Error handling is a bit of a nightmare -- you have to experiment to get it right.

    Generated:

    The "Result" of a Scope

    The "result" of a scope is determined by the status of the actions contained within it. When you use the result() expression—for example, result('Scope_Name')—the engine returns an array of objects representing every action inside that scope.

    Each object in this array contains:

    • Name: The internal name of the action.

    • Inputs/Outputs: The data passed to and from the action.

    • Status: The outcome (Succeeded, Failed, Skipped, or TimedOut).

    • Error: Detailed error codes and messages if the action failed.

    This is most commonly used in Try-Catch patterns. By placing a scope (the "Catch") after a main scope (the "Try"), and setting the "Configure Run After" settings to run only if the first scope fails, you can use a single Filter Array action on result('Try_Scope') to identify exactly which action caused the failure.

    Other Filterable/Result-Bearing Constructs

    The result() function is not exclusive to Scopes. It can be used on any "collection" or "container" style control in Power Automate:

    1. Apply to Each (Loops)

    When you use result() on an Apply to Each loop, it returns the status of every iteration. This is useful for auditing how many items in a batch failed without checking each run manually.

    2. Do Until

    Similar to loops, using result() on a Do Until block provides an array of outcomes for every cycle performed until the exit condition was met.

    3. Condition (Limited Use)

    While you can technically target a Condition block, it is less common because a Condition typically only contains two branches (True/False). Developers usually wrap the contents of those branches in Scopes if they need to aggregate the results.

    Technical Considerations

    • Performance: Calling result() on very large loops can impact flow performance because it generates a large JSON array in memory.

    • Filtering: To extract only errors, use the expression @equals(item()?['status'], 'Failed') within a Filter Array action targeting the scope's result.

    • Nesting: If you have nested scopes, result() only returns the top-level actions of the targeted scope. It does not "flatten" actions inside a sub-scope into the primary array.

  • Krit Profile Picture
    10 on at
     
    I think your suggestion will help eventually, but how do I fix this? What could be the problem here?
     
     
    Here is how I define DateDifference. You can see I do cast the output to an int so that this variable can be compared to the number 180.
     

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

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Valantis Profile Picture

Valantis 377

#2
11manish Profile Picture

11manish 279

#3
David_MA Profile Picture

David_MA 234 Super User 2026 Season 1

Last 30 days Overall leaderboard