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

View solution in original post

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

View solution in original post

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
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (1,117)