How to Loop Through Excel Rows and Send an Outlook Email for Each Row in Power Automate, by Automate M365 on YouTube. 2 min 34 s.
- Video length
- 2 min 34 s
- Time to do it
- 15 minutes
- Difficulty
- Easy
- Steps
- 7
What you need
Steps
Sign in at make.powerautomate.com and click Create, then Scheduled cloud flow. Name the flow, set the start time to 6:00 AM and set the repeat to every 1 day.
Add the Excel Online (Business) action List rows present in a table. Choose the file location, the workbook and the table that holds your email, description, priority and department columns.
Add an Apply to each control and place it after the Excel action. In its input box, insert the value dynamic content from List rows so the loop runs once per row.
Inside Apply to each, add the Outlook Send an email (V2) action. Click the To field and insert the dynamic content for your email address column.
Write the subject and body, then drop in the description, priority and department dynamic content so each message is personalized to that row.
Click Save, then Test and pick Manually to run the flow now. Open the run history and check that List rows and every Send an email step show a green tick.
Look in your Outlook Sent Items and confirm each recipient received their own message. If a step failed, open it and read the error text.
Tips and common mistakes
Format your range as a real Excel table with Ctrl+T, because List rows cannot read a plain range.
The recurrence time uses UTC by default, so set the time zone in the trigger if 6:00 AM should be local.
Test with a table of two or three rows first, so you do not email a whole list by mistake.
Keep the email address column clean, since a blank or mistyped address fails that single loop run.
Questions
Do I need a premium Power Automate license for this?
No. The Excel Online (Business) and Outlook connectors used here are standard connectors included with most Microsoft 365 work accounts.
Can I send to more than one person in the same row?
Yes. Separate the addresses in the cell with semicolons and map that cell to the To field, and Outlook will send to all of them.
What happens if the flow runs and a row has no email address?
That iteration fails and the run history marks it red, but the other rows still send. Add a condition to skip rows where the email column is empty.
This guide was drafted from the video's details and general task knowledge. It has not been checked against the full video. Check the video and relevant product instructions before following a procedure. Report a correction.



