Showing results for 
Search instead for 
Did you mean: 

Power Automate Flow - Sending emails to list of people in the excel worksheet

In this article, I have explained the steps to send emails for list of people given in the excel worksheet using Power Automate Flow.

Get the excel worksheet ready:

Please verify whether the excel worksheet is in proper format without any unwanted junk characters in it. Also, select the range of cells and create it as table. You can refer the table in flow, that will make your job easy by fetching the data from excel worksheet.

To create table from the range of cells in worksheet, first select the range of cells as shown below. Then click on the “Insert” menu, in which there is an Icon named Table, click on that to convert the range of cells to table.

Send Email Flow01.png

Creating a Flow to read the worksheet and send email to List of People:

Now, we need to create a new scheduled workflow as shown below:

Go to “Power Automate” from your Office 365 home page.

Send Email Flow02.png


After landing in Power Automate app, click on “My flows” and “+ New flow”. List of flow types will be displayed. From that select “Scheduled cloud flow”.

Send Email Flow03.png


Setting time interval to trigger the flow.

Send Email Flow04.png

Here in this example, I have scheduled this workflow to trigger monthly once, but there are options to trigger Monthly, Weekly, Daily and Hourly also (frequency).


Next thing is to add the “Initialize variable” action. If you want to use the variable, you need to Initialize variable first and then you can set value to variable using “Set Variable” action. Later the variable can be used in any part of the flow.

Send Email Flow05.png

Click on the “+ New step” button to add new condition or action.


Send Email Flow06.png

You can select the “Type” of the variable and name it as “varEmailAddresses”.

Send Email Flow07.png

Click “+ Next step” to add new action for reading the excel worksheet and configure it.

Send Email Flow08.png

Select “List rows present in a table” option to map the table in the Excel from Flow.

Send Email Flow09.png

Add new step for reading each row from the excel worksheet and send email to the list of users.

Send Email Flow10.png

Now add the “Set Variable” action and assign email address got from the excel worksheet fields.

Send Email Flow11.png

To send email we need to add the action “Send an email (V2)”.

Send Email Flow12.png

Set the values for “To” address using the “varEmailAddresses”, Subject and Body for the email. You can also use the “Cc” and “Bcc” fields while configuring the “Send email”.

Send Email Flow13.png

Output: Finally we got the email from the “Schedule cloud flow”, using the email addresses from excel worksheet.

Send Email Flow15.png




I tried this and it did not work for me. I feel like what I have does not looks the same. With each step after Apply to each I get another apply to each. It also doesn't like string in the initialize type. I feel like it shouldn't have the second apply to each.



Thank you @ArchitectMadhan!

This "apply to each" step is not necessary to add:



It will be added automatically, when you add the "set variable" action straight after the "list rows present in a table":



The "apply to each" is automatically added to the top left corner (ignore the number 2)


This is my flow which works:




@ArchitectMadhan @briancummings 
I follow the same steps as mentioned, but separate mail got triggered.

our business requirement is to club all the mail ID's available in the sheet and send only one email instead of separate.
Other than this I have to follow.

Please suggest. 

Hi @Prasad_B1 ,

Your scenario is bit different, could you please create a post in the Power Automate Forum, with the same content? Myself or others will reply for it.



Architect Madhan

I have a Excel table of two columns: Name, EmailAddress


There is no need to initialize or set variables, just get all the rows and iterate over each row to send email. Please see below and it works: