web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Split a list of email ...
Power Automate
Answered

Split a list of email addresses and send in batches

(0) ShareShare
ReportReport
Posted on by 6

I am creating a flow to email a newsletter using Power Automate in Office 365. I am a very beginner.

There are about 3,000 recipients and due to server reasons, I need to split them into 250 groups and also give them an hour after each send.

 

I found this flow but I want to add the process to copy and paste every 250 items from the list and send emails every an hour until the end.

https://rishonapowerplatform.com/2021/10/15/using-apply-to-each-control-to-perform-mail-merge-with-power-automate/

 

Copy 250 email addresses from the list (excel file) on Office 365

↓

Paste them to BCC

↓

Send emails

↓

Pause an hour

↓

Copy another 250 email addresses from the list

↓

repeat....until the end

 

Hope someone kindly suggests a solution.

Categories:
I have the same question (0)
  • Verified answer
    Nived_Nambiar Profile Picture
    18,136 Super User 2025 Season 2 on at

    Hi @Ai0330 

     

    This logic will help you 

     

    1. Assume you have list of emails like below

    Nived_Nambiar_0-1680156678620.png

     

    2. Initialize the skip count variable which stores by how much data we need to skip to zero.

    Nived_Nambiar_1-1680156722380.png

     

     

    3. Use a Do Until loop and assign a condition which run the loop until the condition is reached.

     

    Nived_Nambiar_2-1680156773553.png

     

    Nived_Nambiar_3-1680156783894.png

     

    Next , inside the do until , use compose action to get specific count of array data after skipping a certain count

    Nived_Nambiar_4-1680156829320.png

     

    expression:  take(skip(variables('Array1'),variables('skip_count')),3)

     
    This expression will skip the count of elements and after skipping , will take the 3 elements out of array, in your case, expression would be  take(skip(variables('Array1'),variables('skip_count')),250)
     
    as you need to take 250 elements out of array.
     
    Use increment variable to increment skip_count by specifc count, in your case it should be 250 instead of 3 in the below screenshot
     
    Nived_Nambiar_5-1680156980053.png

     

    After that you use a delay to delay flow by 60 mts.

    Nived_Nambiar_6-1680157003676.png

     

     

    Complete Do Until loop

     

    Nived_Nambiar_7-1680157036406.png

     

     

    Hope this helps

    Mark it as solution if it resolves your query 🙂

     

     

  • Ai0330 Profile Picture
    6 on at

    @Nived_Nambiar 

    Thank you for the advice. I will try this.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Leaderboard > Power Automate

#1
trice602 Profile Picture

trice602 398 Super User 2025 Season 2

#2
David_MA Profile Picture

David_MA 331 Super User 2025 Season 2

#3
Expiscornovus Profile Picture

Expiscornovus 203 Most Valuable Professional

Last 30 days Overall leaderboard