cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
rayray1
Regular Visitor

email certain list items to different people based on a column

Hi all,

I was hoping to get some of your expert advice! I am sure this question has been asked, but I can't seem to find an answer for it.

 

I have a SharePoint list with the following data:

TitleChecked (Yes/No column)Lookup: LocationLookup: Email address
caryesAustraliajoe@company.com
boatnoUSAlisa@company.com
planenoGermanybob@company.com
shipyesGermanybob@company.com
trucknoAustraliajoe@company.com
scooteryesUSAlisa@company.com
motorbikenoGermanybob@company.com

 

I would like to run a flow once a month that goes through the list and aggregates all the data for a Lookup:Location and sends it to the email address (once).

 

E.g. on 01/01/2021 an email will be sent to joe@company.com with the following details:

 

TitleChecked (Yes/No column)Lookup: Location
caryesAustralia
trucknoAustralia

 

at the same time an email will be sent to lisa@company.com:

TitleChecked (Yes/No column)Lookup: Location
boatnoUSA
scooteryesUSA

 

and another email will be sent to bob@company.com:

 

TitleChecked (Yes/No column)Lookup: LocationLookup: Email address
planenoGermanybob@company.com
shipyesGermanybob@company.com
motorbikenoGermanybob@company.com

 

Other than the recurring trigger and the get items, i'm stuck...

 

Thanks

Ray

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
edgonzales
Most Valuable Professional
Most Valuable Professional

@rayray1 

So, first change the Select to get the value of the eMail using this expression:  

 

Item()?[‘LookupLocation_x003a_EM’]?[‘EMail’]?[‘Value’]

 

20200618i.PNG

Next, we just need to fix the Filter Array inside the Apply to each loop:

 

20200618j.PNG

 

The left side will be the same expression you used in the Select statement, and the right side should just be

items('Apply_to_each')?['EMail']

 

Give that a go and see what happens.

 

Keep us posted.

-Ed

 

If you liked this reply, please give it a thumbs up! If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

View solution in original post

11 REPLIES 11
rsaikrishna
Community Champion
Community Champion

@rayray1 

 

Location is a look up column. So you have another sharepoint list where you stored all your locations. Letz call it as LocationsInfo. Assuming LocationsInfo list contains unique locations.

 

Let us call your primary list : XYZ  (the list you mentioned in the screen shots)

 

a. Create a scheduled flow to run based on your required fequency.

b. Get Items - Read items from LocationsInfo list.

c.  Place Apply to Each action with values from Get Items in step b.

d. Within the Apply to Each action, now, place Get Items to read data from XYZ list with Filter Query field "Location value" eq "first value you get" in step c.

f. Create HTML action to build email body 

g. Send email action with email from step C.

 

Please review above steps and let me know if you have any questiosn.

 

Regards

Krishna Rachakonda

If this reply helped you to solve the issue, please mark the post as Accepted SolutionMarking this post as Accepted Solution, will help many other users to use this post to solve same or similar issue without re-posting the issue in the group. Saves a lot of time for everyone.
edgonzales
Most Valuable Professional
Most Valuable Professional

@rayray1 

(Edit: Just realized you were grouping on Location instead of email - good thing @rsaikrishna was paying attention 😁 )

 

Hey there.  This one was fun and comes up a bunch, so I'll elaborate in a blog and share it here when I'm done.  You're off to a great start with the trigger and get items, here's some stuff to get you started on the rest:

 

  • After your "Get items", you want to narrow down to just a list of the unique email addresses.  To do this, follow your Get Items with a "Select" action and in the From part, put the 'value' from your Get Items, and then in the map, put "eMail" (without the quotes) and where it says "Enter value" add the dynamic value from the SharePoint list for the eMail addresses  (Special note here that there are some field names that SharePoint uses inherently behind-the-scenes, naming a column 'Email' might be problematic later, but worked ok here (maybe because of my casing "eMail").
  • The above will produce a list with as many rows as you have items, but will only be the email address column.  To get just the unique email addresses, add a "Compose" action and use the expression builder and the Union() function to self-reference...this will produce a list of 3 email addresses.   Here's my expression (I renamed my Select to "Get eMails") union(body('Get_eMails'),body('Get_eMails')).    
  • Next, we want to cycle through each of those unique email addresses to use them as a filter on your Get Items result.  Add an "Apply to Each" loop, and put the output of the above Compose in the "Select an Output" box.
  • Inside the apply to each loop now, we will add a "Filter Array" action and put the Value from your Get Items in the From box.
    • For the criteria, put the dynamic value "eMail" from your Get items on the left, select "is equal to" and then this expression in the right:  items('Apply_to_each')?['eMail']  this says get me all of the rows that match whatever email from our list of unique emails, we are focusing on right now.  The Apply to each will cycle through each one.
    • Next, I added a step to "Create an HTML Table" from the body of the Filter Array
    • And finally, you can use a "Send eMail" using items('Apply_to_each')?['eMail'in the "To:" bit, and then the HTML table output as the body.

It will look something like this when you're done (mine doesn't have the send email bit, but as long as that is inside the loop, you should get three separate emails in your example).

 

20200616a.PNG

 

Keep us posted.

-Ed

 

If you liked this reply, please give it a thumbs up! If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

 

Hi Ed and Krishna,

 

Thanks very much for your responses - i really appreciate the time  you have both taken.

 

I realised that i have worded the question wrong and I did want to select by email address, not location... sorry about that.

 

@edgonzales I have followed your instructions, which work if i have a text column with the email address in it, but don't seem to work if I am using a lookup column.

 

It seems like the filter array isn't working as nothing is in the output. The UniqueEmail composer is working as it outputs my 2 test email addresses.

 

I have tried variations of the LookupLocation:EM column (which is the name of the text email lookup column)

 

e.g. LookupLocation_x003a_EM_Value and then selecting the value without any success. Is there anything you can see that I am missing?

2020-06-18 20_41_12-Edit your flow _ Power Automate.png

2020-06-18 20_39_59-Run History _ Power Automate.png

 
 
edgonzales
Most Valuable Professional
Most Valuable Professional

@rayray1 

Totally fixable, I think.  Can you share the output of the Unique eMail step?  And you're using the output from that as the value in your Apply to Each loop, right?

 

In the right side of your filter, try adding the bold bits to your expression:

 

items('Apply_to_each')?['LookupLocation_x003a_EM']?['Value']

 

Presuming that the part you blurred out in the Filter Array output is the actual email address, ya?  


Keep us posted.

-Ed

 

 

If you liked this reply, please give it a thumbs up! If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

Hi @edgonzales,

 

The output of the Unique eMail step is:

 

[
  {
    "EMail": {
      "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
      "Id": 1,
      "Value": "test1@email.com"
    }
  },
  {
    "EMail": {
      "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
      "Id": 2,
      "Value": "test2@email.com"
    }
  }
]

Below is a picture of the flow with the details of each part:

2020-06-19 12_45_44-Edit your flow _ Power Automate.png

 

Also, yes the blurred parts are the email addresses - i had an additional email column I was using for testing, which i have moved for clarity.

 

This is an example of the data going into that filter for that column:

"LookupLocation_x003a_EM": {
      "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
      "Id": 2,
      "Value": "test2@email.com"
    },

Thanks,

Ray

edgonzales
Most Valuable Professional
Most Valuable Professional

@rayray1 

So, first change the Select to get the value of the eMail using this expression:  

 

Item()?[‘LookupLocation_x003a_EM’]?[‘EMail’]?[‘Value’]

 

20200618i.PNG

Next, we just need to fix the Filter Array inside the Apply to each loop:

 

20200618j.PNG

 

The left side will be the same expression you used in the Select statement, and the right side should just be

items('Apply_to_each')?['EMail']

 

Give that a go and see what happens.

 

Keep us posted.

-Ed

 

If you liked this reply, please give it a thumbs up! If this reply has answered your question or resolved your challenge, please consider marking it as a Solution. This helps other users find it more easily via search.

Hi @edgonzales 

 

I removed the ['EMail'] part of the statement to change it from:

Item()?[‘LookupLocation_x003a_EM’]?[‘EMail’]?[‘Value’]

to

Item()?[‘LookupLocation_x003a_EM’]?[‘Value’]

 

and it's working for me!

 

Thank you very, very much - not only is it working, but I understand the logic behind it now and really appreciate your patient assistance.

 

The email that comes out has all the columns as objects - would fixing that just be a case of creating a select straight after the "get items" and then referencing that data instead?

 

Thanks again, I'm marking this as the solution and will post the full flow.

 

Cheers,

Ray

 

edgonzales
Most Valuable Professional
Most Valuable Professional

@rayray1 

That's exactly correct.  The Select action is a great way to only focus on the information that you want.  Great work!

 

Here's the blog article I wrote on this issue in case you want to reference in the future:

Group a List for a Summary Using Power Automate

 

It sounds like the differences in our expressions have to do with the data being a tiny bit different.  Glad you sorted it out.

 

-Ed

 

 

Anonymous
Not applicable

Hi Ed,

Thank you for posting this it's exactly what I am trying to do.   Unfortunately I am falling at the last hurdle when I try to send the email.  I'm getting the error below, do  you have any suggestions?  I'm really new to power automate and self taught so I'm sure it's something basic.

Thanks,

SharrynScreenshot 2022-05-14 161117.png

edgonzales
Most Valuable Professional
Most Valuable Professional

@Anonymous 

So, it looks like whatever value you are dropping into the "To" field of the email is a "List" or what they call an "Array" (note the square brackets around the value "[" - that indicates an array value, meaning: there could be more than one thing in there...which is making Outlook freak out a little.   Start a new thread and post a pic of this step (in edit mode) along with a pic of where the email address is coming from.  Be sure to tag me in it, and we'll take a look.  Great work so far, though!  🙂

 

-Ed

 

Anonymous
Not applicable

Hi @edgonzales 

Thanks so much for reply. I had another look just now with some fresh eyes and realised the to box needed to be the expression items('Apply_to_each')?['eMail'] and it's all working perfectly now.  Thanks again, this is going to be a huge help!

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (984)