cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Fn7a
Frequent Visitor

How to split Email Recipient list of 1000 persons

Hi Community,

 

I want to send an email to all users from one SP Group. The group has around 1100 members.

 

Fn7a_0-1634335774220.png

 

Unfortunately I can only send to 500 recipients at the same time using Send Email function.

How can I split the following used output from by Join action into e.g. portions of 300?

 

firstname1.lastname1@company.com;firstname2.lastname2@company.com;firstname2lastname2@company.com;...

 

I would appreciate any suggestions!

 

Thank you

2 ACCEPTED SOLUTIONS

Accepted Solutions
v-bofeng-msft
Community Support
Community Support

Hi @Fn7a :

I've made a test for your reference:

1\I assume there is a string contain many email addresses.

vbofengmsft_1-1634534695395.png

2\You could use this formula to get first 300 emails

 

 

join(take(split(outputs('Compose'),';'),300),';')

 

 

 vbofengmsft_2-1634534784951.png

vbofengmsft_3-1634534842553.png

3\You could use this formula to get 300-600 emails

join(skip(take(split(outputs('Compose'),';'),600),300),';')

4\You can use this formula to get all emails after the 600th email

join(skip(split(outputs('Compose'),';'),600),';')​

Best Regards,

Bof

View solution in original post

Hi @Fn7a :

You could try:

join(skip(split(outputs('ToString'),';'),1000),';')

Best Regards,

Bof

View solution in original post

4 REPLIES 4
v-bofeng-msft
Community Support
Community Support

Hi @Fn7a :

I've made a test for your reference:

1\I assume there is a string contain many email addresses.

vbofengmsft_1-1634534695395.png

2\You could use this formula to get first 300 emails

 

 

join(take(split(outputs('Compose'),';'),300),';')

 

 

 vbofengmsft_2-1634534784951.png

vbofengmsft_3-1634534842553.png

3\You could use this formula to get 300-600 emails

join(skip(take(split(outputs('Compose'),';'),600),300),';')

4\You can use this formula to get all emails after the 600th email

join(skip(split(outputs('Compose'),';'),600),';')​

Best Regards,

Bof

Fn7a
Frequent Visitor

Hi @v-bofeng-msft ,

 

I really appreciate your feedback. As I am new to this, please excuse if my questions might be trivial.

 

With help of your great guidance I was able to compose 2 batches with 500 users, but I was not yet able to compose the last one. As my group has around 1200 users I want to do 3 batches: 500 users, 500 users and then the remaining users.

 

Using this I am getting an error: Invalid Expression

 

join(skip(split(outputs('Compose'),';'),600),';')​

 

Here is what I did:

Fn7a_2-1634543458645.png

 

Would you please check the last expression?

 

Side question: Is there any expression composer tool I could use instead of trial & error in this little dynamic expression window in PowerAutomate?

 

Thank you

Hi @Fn7a :

You could try:

join(skip(split(outputs('ToString'),';'),1000),';')

Best Regards,

Bof

Works like a charm!

 

Of course I used the correct output from ToString and 1000 instead of 600, but only your expression works while mine did not...

 

Thanks a lot for your guidance

Helpful resources

Announcements
 WHAT’S NEXT AT MICROSOFT IGNITE 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Register for a Free Workshop.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

Users online (1,358)