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 / Grab Multiple Items Fr...
Power Automate
Answered

Grab Multiple Items From Sharepoint List and send one email

(0) ShareShare
ReportReport
Posted on by 58
So I have a scheduled flow that I want to run once a week to grab a list of items from a SharePoint list, put them in a table/list, and send an email out to the selected assignee. So the problem I'm having is that it sends out an email for every item in the list with that assignee, and that email has the list of items. So if there were 20 tickets assigned to me, I'd get 20 emails with the list of 20 tickets. I want it to send one email to the assignee with only their tickets, and it should be one email. Any help with this would be greatly appreciated.

Thanks!

Categories:
I have the same question (1)
  • Verified answer
    Ellis Karim Profile Picture
    11,990 Super User 2026 Season 1 on at
    Hi @jNelly,
     
    Although this example is for Excel, the example can easily be changed for SharePoint:
    Power Automate and Excel: Combine Multiple Rows Into One Email Per Recipient – Ellis Karim's Blog
     
     
    Ellis Karim
    Ellis Karim
    elliskarim.com  |  LinkedIn  |  Bluesky
    If this solved your issue, please mark it as ✅ Accepted Answer. If it helped, feel free to give it a 🩷 Like!
  • David_MA Profile Picture
    14,090 Super User 2026 Season 1 on at
    What you need to do is this:
    1. Delete output in the body of the Send an e-mail action.
    2. Then move the send e-mail action outside of the Apply to each.
    3. Delete the apply to each action.
    4. Insert a select action and point it the items from the body of the Get items action.
    5. Then as you have designed the Create HTML table 2 action, configure the select action.
    6. Follow the select action with the Create HTML table action, and in the from field, put the output from the Select action.
    7. Use the output from the new Create HTML action in the body of your e-mail.
     
    You should then have a table in your e-mail that has 20 rows instead of 20 e-mails with one row.
  • eliotcole Profile Picture
    4,390 Moderator on at
    Hi, @jNelly, I'll give you some non-loop actions to prep your data, then 3 actions in a loop to send it. You do not have to follow this EXACTLY ... have some fun with it ... you might find even better ways to do it. :-)

    Iterate Over The Emails Instead

    So, effectively, I am just shifting things around, you will work from a list of unique email addresses, then filter on those.
     

    SelectAssigneeEmailsArrCNST

    The first step is to make a 'simple' array of emails, and in my example I have named it per the heading for this section.
    Use the below to assist, here ... you should be able to paste the below 'From' in the field ... :-)
    From
    @{body('Get_items')?['value']}
    This is the list of items
    Map
    @{item()?['EmailAddy']}
    My email field
    • From - If this value doesn't just paste in there, create an expression and paste it in the expression builder removing the "@{" at the start, and the "}" at the end
    • Map - Obviously use whatever you are referencing for your email address and if you need more information on the 'text view' for the 'Map' field see the end of this post

    ForEachUniqueEmail

    Now, ensure that there is a 'For each' / 'Apply to each' action which iterates over each unique email from your list. I have named mine per the heading for this section.
    To get unique values, use the union() function as below:
    That will ensure that only unique email addresses are now referenced from the previous array of multiples. 
    Now you need to run three actions on each email address inside this ForEachUniqueEmail loop:
     
    I think that it's all relatively straightforward, there, so I won't go into detail on that ... however, the 'value' in the 'FilterToThisUsersItemsArrCNST'  action 'From' field is the same one that you placed in the previous Select action, and the left part of the condition needs to be the email field, where the right is the current item being iterated upon. :-)
     

     

    Helpful Info

    We do not have a 'hide' function anymore, so you can ignore everything below this, unless you'd like to refer to it for information based on the above. :-)

    Text ViewAnchor

    In some 'JSON' fields in Power Automate and Logic Apps you can directly write the JSON, or generate it. This is done via the 'text' option for entry of whatever you're doing there.
     
    In the above instructions I referenced this at least once, and notably in the first step for the 'Map' data. Here's what the button looks like, there:
    Then, when it is depressed, you get the following:
    You might have noticed that the above is (probably) just a 'string' field from the SharePoint list I picked ... so how is THAT working as a value where there should be JSON? Well ... the Select connector has a super power whereby it can create 'simple' arrays consisting of a single value for each entity/item in the array. So there is a very good chance that the outputs of this will be one of those simple arrays ... in my case ... 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

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 594

#2
Valantis Profile Picture

Valantis 328

#3
David_MA Profile Picture

David_MA 281 Super User 2026 Season 1

Last 30 days Overall leaderboard