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

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Send email to multiple...
Power Automate
Answered

Send email to multiple addresses extracted from people column in Sharepoint list

(0) ShareShare
ReportReport
Posted on by 338

Read a few similar topics here, but still have questions. My users wants to send email notifications to employees who've subscribed to a blog when a new article is posted. They subscribe by adding themselves to a Sharepoint list, so I need to extract their email addresses from a person column in that list. Initially the emails were only sent to the first entry in the list so I know I need to create an array of all the addresses, but am confused what goes where. One answer here said to put the 2nd compose (join) outside the apply to each, but then the send email to field can't find a value.

untitled.png

Categories:
I have the same question (0)
  • grantjenkins Profile Picture
    11,063 Moderator on at

    You should use a Select to extract out each of the emails, then Join to join them by semicolon. See example below where I've used a multiselect Person column called Owners.

     

    grantjenkins_0-1702419157079.png

  • webbrewer Profile Picture
    338 on at

    Thanks - now it's complaining that 'The 'from' property value in the 'select' action inputs is of type 'Object'. The value must be an array." I picked the column name there (Subscribe) and the property of that column (email) in Map.

    untitled.png

  • grantjenkins Profile Picture
    11,063 Moderator on at

    Is your column a multiple select Person column?

  • webbrewer Profile Picture
    338 on at

    No, just a plain person column with one user per item.

  • Verified answer
    grantjenkins Profile Picture
    11,063 Moderator on at

    Hopefully this is what you're after. Assuming you have a list of users and you want to get the email of each user and send an email to all of them. Note that I'm not sure what your trigger is, so just using a Manual trigger in this example.

     

    For this example, I have the following list.

    grantjenkins_0-1702706806290.png

     

    See full flow below. I'll go into each of the actions.

    grantjenkins_1-1702706844648.png

     

    Get items retrieves the items from the list. I'm not sure how many users you have subscribed. By default Get items only returns the first 100 rows. If you have more than this, you can set the Top Count to 5000 (max) to get up to 5000 rows.

    grantjenkins_2-1702707094058.png

     

    Select extracts out the emails from each of the rows. My column is called Owner, so I would select Owner Email from the dynamic content.

    grantjenkins_3-1702707149430.png

     

    Join uses the union expression to remove any duplicate emails that might be in the list. It then joins each of the emails with a semicolon.

    union(body('Select'), body('Select'))

    grantjenkins_4-1702707271570.png

     

     

    Send an email uses the output from Join to send an email to each of the users.

    grantjenkins_5-1702707310610.png

     

     

    Some notes on this solution.

    • Send an email can only send an email up to 500 users. If you have more than 500 users then let me know and can show you how to get around this limitation using chunking.
    • This will allow users that have been sent the email to see all other users email addresses. If you didn't want this, and wanted to BCC all users instead, then let me know and can show how to do this (trick with getting around a blank To field).
  • Verified answer
    webbrewer Profile Picture
    338 on at

    Thanks. Looks like where I went wrong initially was getting the column in the select "from" value, but you now say use "value". An email is sent, however, I'm still only getting the first email in the list though the select gets both items (there are 2 valid addresses in this test list). 

    Output:

    untitled.png

  • grantjenkins Profile Picture
    11,063 Moderator on at

    Are you able to show your full flow, and perhaps a sample of the list that contains the email addresses?

  • webbrewer Profile Picture
    338 on at

    Sure - the trigger is when a page is created/modified then there's a check to make sure an email hasn't already been sent etc then the get items:

    untitled.png

     

    List - subscribe to is the person column:

    untitled.png

  • Verified answer
    webbrewer Profile Picture
    338 on at

    Now I see where I went wrong. When I added "get items" initially it automatically added an "apply to each" action, which your image doesn't show. Before when I tried to move the select and join above the apply to each, it wouldn't let me. Now it does, so I deleted the "apply to each", and I get the 2 email addresses in the list added to the "to" address in send an email. It's actually simpler than many articles I read about the need to convert to arrays etc suggested.

    Thank you so much for your patience and help.  

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

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Haque Profile Picture

Haque 552

#2
Valantis Profile Picture

Valantis 388

#3
11manish Profile Picture

11manish 375

Last 30 days Overall leaderboard