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