cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
jamesbetteridge
Advocate I
Advocate I

Send an email with multiple items from a sharepoint list

Hi,

 

I'm relatively new to MS Flow and am by no means a developer but I am keen to learn so please bear with.

 

I have a sharepoint list (of customer related info) which has a number of columns but the important ones in this example are the customer name, date of next call and Account Manager fields.

 

In short, I want to build a Flow that, only a daily or weekly basis, sends an email to a member of staff which lists the accounts that they need to call that day/week. I have built a flow which does this for the most part however it sends a seperate email for every account rather than one email for all accounts that are due a call.

 

I tried the usual Google/YouTube searches and have found a couple of solutions but nothing I have put in works :-S

 

As per my opening statement, I'm pretty new to all this so if anyone would like to take pity on a Noob then please reach out 🙂

16 REPLIES 16
Pstork1
Most Valuable Professional
Most Valuable Professional

I assume that you have your send email inside an Apply to each loop.  That's why you are getting multiple emails.  The fix is to build an array of values inside the loop and then send the email once after the loop finishes.  You'll need to use the array to create an HTML table to put inside the email.

 

Also, you may need two loops, one to loop through each user and an inner loop to loop through all the customers for that user.  The email would then be outside the inner loop, but inside the out loop (user loop).



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Hi @Pstork1 

 

Thanks for the quick reply, really appreciated. I'm afraid it looks like you might have to dumb it down a bit for me, sorry. I have tried to combine what you suggested (I think), with what I found from Google and YouTube and have (not sure how to add an image so hopefull this link will work) Flow 1 

 

Basically, I have a scheduled trigger, followed by an "Initialize Variable" with a name of ListItems and a type of String. After that I have a GetItems which references the sharepoint site and list name (Customer Record). GetItems is filter by the customers status equalling "Live". This then goes to an Apply to Each which has the value of the GetItems output but then passes to a condition that checks to see if a call is due and if "Yes" has an apply to each containing the "Append To String Variable" which has the columns I want to display, then sends an email. The body of the email now contains the ListItems Variable.

 

What is happening is that I get an email, with every customer thats due a call listed (partial win - still need to work on the second loop you were refering to in order to have one email per account manager) but I then start receiving further emails an each subsequent email adds the contents of the list the the last email so, email one has 387 items, email two 774, email three 1161, etc., etc.

Pstork1
Most Valuable Professional
Most Valuable Professional

Sorry, but the link didn't work.  You can post an image by clicking on the camera icon in the editing toolbar or by adding the image as an attachment using the Choose file button below your reply.  Please post a screenshot of your flow, particular the loop and I'll try to explain where to put things.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
jamesbetteridge
Advocate I
Advocate I

Hi, 

 

Please see screenshots below. I have been tinkering a little so it is not exactly as originally stated but it's not too far off. Hopefully this is now a little closer to what I need but still requires improvement. In this current state, I get 38 emails (no idea why 38) but each one has the list of 427 customer listed - which is good 🙂

 

Flow 1.pngFlow 2.pngFlow 3.png

Pstork1
Most Valuable Professional
Most Valuable Professional

1) you need to sort your Get Items by the person you want to email.  I assume that is DTNC.

2) Use an out Apply to Each Loop to process each unique value for DTNC in your Get Items.  I would do this using either an array or a list that I get using a different Get Items, but you want the loop to run once for each person.

3) Inside that loop do another Apply to Each Loop to build your string of values.  

4) When you exit the inner loop send the email and reset the string to empty.  Then let the outer loop process the next person.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

I am struggling at step one i'm afraid. There are fields I need to work with, Account Reference, Customer Name, Date of Next Call and Account Manager. The Account Manager is selected from a dropdown with a power app and so the sharepoint list's column is a choice field. When I try to sort by a choice field in the initial GetItems I get an error and the flow fails :-S.

 

 

I was wondering, I can create a View of the Sharepoint List that has the data I want, in the order I want. Is there a way to get Flow to reference a view rather than the list as a whole?

 

Pstork1
Most Valuable Professional
Most Valuable Professional

Views in Power Automate limit the number of columns to the ones in the view, but don't filter the number of records.  YOu have to recreate the view filter in the Get Items action.  You should be able to filter using the dropdown.  One of the things that people usually get wrong is not using the text value from the dropdown.  The dropdown provides an object, but you need to drill down to filter based on the value in the object.  Can you show the statement you are using for filtering



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Yeah Sure, but i've been tinkering again and think I might be getting somewhere - maybe :-S. So, this is my flow currently...Flow.png 

The output of which is.....

email.png

 

So, I am getting the Account Reference at the beginning, but then all of the odata stuff, rather than just the Account Managers Name (at the end). Is there an easy way to tell the GetItems part to only pull back the value rather than all of the odata stuff?

 

As I now have the data I want all in one email, after this formatting issue, it'll just be a case of emailing each account manager their own list but i'll tackle that bridge when I get to it

Pstork1
Most Valuable Professional
Most Valuable Professional

Take another look at your dynamic content.  YOu are grabbing the account manager object.  There should be one that is something like 'Sage Ref. Name'.  That will have just the name in it rather than the whole object.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Hi @Pstork1 

 

Well that was more simple than I expected it to be! Thank you! I guess next time I should look through the whole list rather than just selecting the first item that looks like what i am after lol - leasson learnt.

 

OK, so, thanks to you I am almost there I think. I now have a list of Customer that are due. The last two things I am still struggling to comprehend are:

 

1 - The "Date of Next Call" field is coming through as "2021-03-03T00:00:00Z", is there a way to make this a friendlier date?

2 - I can't get my head around how to group the list item by account manager then send an email for each person?

 

I appreciate I have taken up a lot of your time already but would really appreciate any further guidance you can offer.

 

Cheers

James

OK so I have sussed the date formatting problem out so now all I need help with, is sending one email to each account manager that includes there list of calls to make!

 

Nearly there and thank you so much for all your help thus far!

 

Pstork1
Most Valuable Professional
Most Valuable Professional

To do one email per manager you want to put most of what you built inside an Apply to Each Loop.  Each loop would be for one account manager and then you filter the inner loop to collect information for just that account manager.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

OK, I will have a play with this over the next few days. My current flow (one email with all info) worked but when I added an extra field to the email (Contact Name) it now times out. I've removed the field again and it still times out so I think i'm going to have to start from a fresh flow as what I am doing surely cant be maxing out any resource limits - it's a fairly standard sort of thing they I imagine a lot of people will be doing?

Would you be able to tell me exactly how to create the loop that sends an email for each account manager? I've had a look and it's beyond my skill set at the moment

 

Hi @Pstork1 

 

Sorry it's been so long in replying but I am back to this project now and must confess to being a little embarrased that I still cannot get this to work. I think I am going to need more specific help. The screenshot below is where I am. This gives me one email with every "Primary Owner"'s calls. What I now want to achieve is for the flow to send each Primary Owner a list of there own. This project is soooo close to being done that its frustrating the heck out of me! 🙂

 

Flow.png

Pstork1
Most Valuable Professional
Most Valuable Professional

 

@jamesbetteridge I'm tied up on something else right now.  But give me a day or two and I'll put together a sample of what it should look like in general.

 



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Helpful resources

Announcements

Celebrating the May Super User of the Month: Laurens Martens

  @LaurensM  is an exceptional contributor to the Power Platform Community. Super Users like Laurens inspire others through their example, encouragement, and active participation. We are excited to celebrated Laurens as our Super User of the Month for May 2024.   Consistent Engagement:  He consistently engages with the community by answering forum questions, sharing insights, and providing solutions. Laurens dedication helps other users find answers and overcome challenges.   Community Expertise: As a Super User, Laurens plays a crucial role in maintaining a knowledge sharing environment. Always ensuring a positive experience for everyone.   Leadership: He shares valuable insights on community growth, engagement, and future trends. Their contributions help shape the Power Platform Community.   Congratulations, Laurens Martens, for your outstanding work! Keep inspiring others and making a difference in the community!   Keep up the fantastic work!        

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!    

Welcome to the Power Automate Community

You are now a part of a fast-growing vibrant group of peers and industry experts who are here to network, share knowledge, and even have a little fun.   Now that you are a member, you can enjoy the following resources:   Welcome to the Community   News & Announcements: The is your place to get all the latest news around community events and announcements. This is where we share with the community what is going on and how to participate.  Be sure to subscribe to this board and not miss an announcement.   Get Help with Power Automate Forums: If you're looking for support with any part of Power Automate, our forums are the place to go. From General Power Automate forums to Using Connectors, Building Flows and Using Flows.  You will find thousands of technical professionals, and Super Users with years of experience who are ready and eager to answer your questions. You now have the ability to post, reply and give "kudos" on the Power Automate community forums. Make sure you conduct a quick search before creating a new post because your question may have already been asked and answered. Galleries: The galleries are full of content and can assist you with information on creating a flow in our Webinars and Video Gallery, and the ability to share the flows you have created in the Power Automate Cookbook.  Stay connected with the Community Connections & How-To Videos from the Microsoft Community Team. Check out the awesome content being shared there today.   Power Automate Community Blog: Over the years, more than 700 Power Automate Community Blog articles have been written and published by our thriving community. Our community members have learned some excellent tips and have keen insights on the future of process automation. In the Power Automate Community Blog, you can read the latest Power Automate-related posts from our community blog authors around the world. Let us know if you'd like to become an author and contribute your own writing — everything Power Automate-related is welcome.   Community Support: Check out and learn more about Using the Community for tips & tricks. Let us know in the Community Feedback  board if you have any questions or comments about your community experience. Again, we are so excited to welcome you to the Microsoft Power Automate community family. Whether you are brand new to the world of process automation or you are a seasoned Power Automate veteran - our goal is to shape the community to be your 'go to' for support, networking, education, inspiration and encouragement as we enjoy this adventure together.     Power Automate Community Team

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Users online (4,923)