Let's POWER Automate

From no-code to low-code

Menu
  • Expressions
  • Filters
  • General
  • Application specific solutions
    • Dataverse
    • Excel
    • Forms
    • Outlook
    • Planner
    • Power Apps
    • SharePoint
    • Teams
  • Triggers
  • Ready to use solutions
    • Approval Process Template
    • Task Delegation App
    • The Ultimate Power Automate expressions cheat sheet
    • Power Automate HTTP requests to SharePoint cheat sheet
    • Power Automate HTTP requests to Graph API cheat sheet
  • ABOUT ME
  • Get help with your flow
  • POWER PLATFORM SERVICES
Menu

Send users single email with multiple Excel rows (Power Automate)

Posted on October 8, 2023October 8, 2023 by Tom

“I have a Power Automate flow checking date in Excel file and sending reminders, can I improve it to send only a single email with multiple rows?”


When you send reminders using Power Automate flows, you’re doing it to help the users. They don’t have to think about dates, a flow will check what has to be done and gently remind them. Users will be happy, processes will finish in time… Unless you send them too many emails. If you stick with the basic reminders, you’ll probably make the users angry instead. They don’t want an email for each row, leading to tens of emails every day. You should always put as much as possible in a single email, all the items/rows at once.

I already wrote similar post based on a SharePoint list, this one will use data stored in an Excel file. As every other reminder flow, it has a Recurrence trigger starting the flow once a day.

Get the email recipients

The first step when sending a single email is to get all the recipients. At the beginning you don’t care about duplicates, just list all the rows from the Excel file with the desired filter, e.g. on a date.

From the rows, ‘Select’ only the column with the email addresses. In my Excel file it’s the ‘Assigned to’ column.

At this moment you don’t care about any other columns, just the column with the recipients.

It’ll return an array with all the email addresses in all the rows – lots of duplicates. Use the union(…) expression to keep only the unique values, each email only once.

Power Automate single email Excel rows

In my example it’s just 3 email recipients in the end.

Power Automate single email Excel rows

Send their rows in a single email

Now, when you’ve got all the recipients, it’s time to search for their rows. Loop through the unique recipients and filter only the rows where their email is in the email column.

Power Automate single email Excel rows

Take the rows and turn them into an HTML table, that way it’ll be much easier to read for the recipients. You can add also some colours to the table as explained in previous posts.

Important note: you’re referencing output of the ‘Filter array’ action in the ‘Create HTML table’, don’t add dynamic content from the ‘List rows…’! If you do that it’ll add an extra loop and break the flow. You must reference the column directly using an expression:

item()?['ColumnName']

e.g.
item()?['Assigned to']
item()?['Name']
item()?['DueDate']
...or if it contains an apostrophe: item()?['Tom''s column']

Once you prepare the HTML table send it to the recipient.

Power Automate single email Excel rows

Note: it’s possible to apply some styling on the whole table too as explained by Paul.

Summary

There’re two parts to a Power Automate flow that’ll send a single email per person with multiple Excel rows. Firstly, you must identify the unique recipients. List all the rows that are important to you, select all the recipients, and reduce them to keep each user only once. Once you have the users you can check the recipients one by one, each time picking only the rows relevant to him. Send him a single email with a nice table and he’ll be much happier than if you kept sending him one email per row.


πŸš€ Master Power Automate

Join 2,000+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

2 thoughts on “Send users single email with multiple Excel rows (Power Automate)”

  1. Alana Parlier says:
    December 8, 2023 at 4:10 pm

    I have an excel sheet with several columns and several email recipients. I can’t figure out how to pull the columns I want with the custom HTML setup. The automatic HTML works but pull a bunch of stuff I don’t want.

    Any help much appreciated.

    Reply
  2. Lauren says:
    May 30, 2024 at 2:42 pm

    Hi, I get the error: The execution of template action ‘Apply_to_each’ failed: the result of the evaluation of ‘foreach’ expression ‘@outputs(‘Compose’)’ is of type ‘String’. The result must be a valid array.

    Would anyone know how to solve this?

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

πŸš€ Master Power Automate

Join 2,000+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

Still exchanging emails to get things approved?

Use the Approval Process Template and the Task Delegation App to skip the hard part and deploy an automated, fully functional approval solution on a SharePoint list in minutes! And then the next one, and the next one...

Approval Template Preview ✨ Learn more ✨

Turn ideas into flows with ease!

Grab the complete Power Automate Cheat Sheet Bundleβ€”everything you need to master expressions, SharePoint HTTP calls, and Graph API in Power Automate.

Cheat Sheet Bundle Preview ✨ Get the Cheat Sheets

Didn't find what you were looking for?
Need to adjust a solution to fit your needs?
Or would you just like to get an assistance from somebody with thousands of hours of experience with Power Automate?

Power Automate blogs worth visiting

Damien Bird
Dennis (Expiscornovus)
Paul Murana

©2025 Let's POWER Automate | Theme by SuperbThemes