How to Auto-Send Emails from Excel and Update a Status Column Using Power Automate


The Problem

You have an Excel sheet where Column F tracks email status using a dropdown (Data Validation) with two values: Email and Sent Email. You want a system that:

  1. Detects rows where Column F says Email
  2. Automatically sends the email for that row
  3. Updates Column F to Sent Email so the row is marked complete

Doing this manually is tedious and error-prone. Power Automate makes it fully automatic.


Auto-Send Emails from Excel with Power Automate

Prerequisites

Before building the flow, make sure:

  • Your Excel file is stored on OneDrive or SharePoint (not your local PC — Power Automate cannot access local files)
  • Your data is formatted as an Excel Table (select your data → press Ctrl+T)
  • Column F has Data Validation set up with Email and Sent Email as the allowed dropdown values
  • You have a unique ID column (e.g., Column A) — Power Automate needs this to know exactly which row to update

Your Excel Table Setup

Column Purpose
A Unique Row ID (required for updating)
B Recipient email address
C Recipient name
D Subject
E Email body / notes
F Status — "Email" or "Sent Email" (Data Validation dropdown)

The Complete Power Automate Flow — Step by Step

Step 1 — Trigger: Recurrence (Recommended)

Action: Recurrence
Interval: Every 15 or 30 minutes

⚠️ Use a Recurrence trigger rather than "When a row is modified." The row-modified trigger is unreliable for Excel and can miss updates or fire multiple times. A scheduled trigger is far more dependable.


Step 2 — List All Rows from the Excel Table

Action: Excel Online (Business) → List rows present in a table

Field Value
Location OneDrive for Business / SharePoint
Document Library Your library
File Your Excel file
Table Your table name

This reads every row in your table so the flow can check each one.


Step 3 — Apply to Each Row

Action: Control → Apply to each
Input: value — the output from Step 2

This loops through every row in your Excel table one by one.


Step 4 — Condition: Check if Column F = "Email"

Action: Control → Condition
Rule: Column F is equal to Email

This splits the flow into two branches — Yes and No.


Step 5 (YES Branch) — Send the Email

Action: Outlook → Send an email (V2)

Field Value
To Dynamic value from your email column (e.g., Column B)
Subject Dynamic value from Column D, or a fixed subject
Body Dynamic value from Column E, or your custom message

Step 6 (YES Branch) — Update Column F to "Sent Email"

Action: Excel Online (Business) → Update a row

Field Value
Location Same as Step 2
File Same as Step 2
Table Same table
Key Column Column A (your unique ID column)
Key Value Dynamic value — the ID from the current row
Column F Sent Email ← this is the critical update

This writes Sent Email back into Column F for that specific row, marking it as done.


Step 7 (NO Branch) — Do Nothing

Leave the No branch empty. The flow simply skips any row where Column F already says Sent Email, preventing duplicate emails.


Visual Flow Diagram

Every 15 minutes (Recurrence Trigger)
            ↓
   List rows from Excel Table
            ↓
   Apply to Each Row
            ↓
   ┌─── Is Column F = "Email"? ───┐
   │                               │
  YES                              NO
   │                               │
Send Email                     Skip Row ✓
   │
Update Column F
→ "Sent Email" ✅

Important Settings to Get Right

Setting What to Do
Table format Data MUST be formatted as an Excel Table (Ctrl+T) — plain ranges won't work
Key Column Use a unique ID column so Power Automate updates the exact right row
Trigger type Use Recurrence (every 15–30 min) — more reliable than row-modified trigger
File location File must be on OneDrive or SharePoint, not a local drive
Data Validation values Must match exactly — Email and Sent Email are case-sensitive

How the Three Automation Options Compare

If you're deciding between approaches, here's a quick comparison:

Method Setup Complexity Auto-Updates Excel? Best For
Manual (dropdown only) None ❌ You do it Very small lists
VBA Macro Medium ✅ Yes Desktop Excel users
Power Automate Medium ✅ Yes Cloud/team files

Power Automate is the best choice when your file is on OneDrive or SharePoint and you want the automation to run without opening Excel at all.


Common Errors and Fixes

Error Cause Fix
"Update a row" fails No unique key column Add an ID column with unique values
Flow doesn't find the file File is on local PC Move file to OneDrive or SharePoint
Emails send multiple times Using row-modified trigger Switch to Recurrence trigger
Column F doesn't update Table not formatted correctly Select data → Ctrl+T to create a Table
"Email" not matched Case mismatch or extra space Check the exact string in your dropdown

Key Takeaways

  • Your Excel file must be on OneDrive or SharePoint — Power Automate cannot read local files
  • Your data must be an Excel Table (Ctrl+T), not just a range
  • Use a Recurrence trigger every 15–30 minutes for reliability
  • The Update a row action needs a unique Key Column to target the right row
  • The No branch should be left empty — this prevents re-sending to already-processed rows
  • Column F values must match exactly what's in your Data Validation dropdown

Related Topics

  • How to send emails automatically from Excel using Power Automate
  • Excel Online (Business) connector — complete guide
  • Power Automate recurrence trigger vs row-modified trigger
  • Using Data Validation dropdowns in Excel tables
  • Updating Excel rows dynamically with Power Automate

Hit a step that's not working as expected? Drop a comment below with the error message and I'll help you troubleshoot it.

Want to automate your business? Book a Free Strategy Call