cancel
Showing results for 
Search instead for 
Did you mean: 
RezaDorrani

Send a summary email of Microsoft Team Channel conversations/posts to all members on a schedule

Step 1:

Create a Flow using the blank template and select "Recurrence" as the Trigger 

Capture.PNG

 

 

 

 

 

 

 

Step 2:

Define the schedule for the Flow trigger to send the summary email for MS Team conversations/posts.

In my scenario I have selected a weekly schedule for sending the summary email (every Monday at 8 am)

Capture1.PNG

Step 3:

Add the Get Messages (Preview) action from the Microsoft Teams connector and select the MS Team and Channel for retrieving the messages

 

Untitled.png

Step 4:

Filter the messages to only retrieve the latest messages (based on the Created Date of the message) .

Use the "Filter array" action to retrieve messages created in last 7 days (weekly).

This can be customized based on your schedule requirements.

Utilize the ticks function to compare dates  as shown in figure below

 

Untitled2.png

Filter array From - "Message List" from the "Get messages" action

Filter condition - "@greater(ticks(item()?['CreatedDateTime']), ticks(addDays(utcNow(), -7)))" checks if the message created date time is greater than 7 days from today

Step 5:

List all MS Team (Office 365 group) members using the "List group members" action from the "Office 365 Groups" connector.

Select the Office 365 group related to the Microsoft Team

 

Capture2.PNG

Step 6:

Create comma separated list of email addresses for each group member retrieved

Use Select action to retrieve only the Mail property from the list of group members

Then utilize the Join action to Join the mail addresses obtained from Select statement with ";" 

3.png

Step 7:

Create email message body from filtered array of MS Teams messages

Use Select action to fetch only the required attributes from the filtered array of Messages

Utilize the "Switch to text mode" to create your own email message summary from the "Body" output of the "Filter array" action of the Message list obtained

 

5.png

Map attribute : "Posted By <b> @{item()?['from']?['user']?['displayName']} </b>on @{formatDateTime(item()?['createdDateTime'],'MM-dd-yyyy')}</br></br>@{item()?['body']?['content']}"

 

The above mapped attribute renders the display name of the user creating the message along with the created date & time and the message body content

 

Create Join action to combine each message (utilize the Output from the previous select statement)

This creates a string of messages to be sent to the email body

Captur2222e.PNG

Step 8:

Send the email to the group members

Email to - Output from Join statement of group members list

Body - Output from Join statement of message body

3.png

Complete Flow looks like below

Capture.PNG

And the weekly summary email looks like the followingUntitled.pngThanks for reading!!

Comments

I went through your instructions and somewhere along the way, I ended up in a "Apply to each" where I have my other Select and Join statements with my Send Email.  What are the Select and Join before the List Group Members in your image above after Filter Array (Step 4)?

 

I was able to get it to work, but my steps look a little different than yours, after Get Messages, my steps are:

 

 WeeklyFlow.PNG

Anonymous

Hi, under the select (filter array) i dont see the Map option - Can you help ?

 

@kmw1130 

 

2.png

Is it possible to get a weekly summary of all the channels within a Team?

I love this post! I am having one issue with the Filter Array to narrow down the number of days I want emailed to me. No matter what input for the number of days I always get the same results sent to me. I change -7 to any number I get the same results. 

Here is the code I am using:

 

ticks(item()?['createdDateTime']
Is Greater THAN
ticks(addDays(utcNow(), -7))

Solved my own issue! I copied and pasted the exact content "@greater(ticks(item()?['CreatedDateTime']), ticks(addDays(utcNow(), -7)))" into the advanced mode of my filter array and that worked. 

Hi @RezaDorrani

 

Is it possible to submit your flow as a template? I have 2 issues I'm running into.

 

1. I get an error saying one or more recipients are invalid for my flow. The emails show up like this (see blue font below), but unsure what is invalid about them. (email addresses are changed for privacy, but this is what the formatting looks like). 

{"Name@business.com":""};{"Name2@business.com":""};{"Name3@business.com":""}

 

I wasn't able to find the exact "send an email" function, but found "Send an email v2" if that makes a difference.

 

2. When I change the email address to send to just me, it works, however there's no content in the email despite posting something to the channel today.

 
 

Flow page 1Flow page 1Flow page 2Flow page 2

 

Update: I updated my email body text, but this is my output... no actual post content

Capture.JPGCapture2.JPG

 

@areimer14  Maybe check your 2nd select statement. I think you need to switch to text mode and copy and paste this exact statement.

 

"Posted By <b> @{item()?['from']?['user']?['displayName']} </b>on @{formatDateTime(item()?['createdDateTime'],'MM-dd-yyyy')}</br></br>@{item()?['body']?['content']}"

Hi @RezaDorrani

 

Great post! Many thanks! 

 

I have one issue, though, which is that only part of my conversation posts is showing. If I create a post in Format mode and it has a title, this doesn't show. It only shows the lower case text. So in the example, 'Email Test 5' is missing and the email only shows 'content content content'

Capture.JPG

How do I get all of the post to show? 

 

Awesome Post and Documentation, Much Thanks @RezaDorrani 

Images from the Teams Posts doesn't work when using this recipe. I think it might be because the images in the emails are embedded with reference to the Graph API of Teams, in which you don't have a valid access token directly from Outlook

So, any ideas on how to fix this?

 

Annotation 2020-05-28 115659.pngAnnotation 2020-05-28 115924.png

Anonymous

Thanks @RezaDorrani for this! I am also interested if there's any solutions for what @he-man has posted regarding fixing the display of Teams images in the summary email. It would be a great, added feature to be able to see the images that accompany the text. 

Thank you @RezaDorrani  for this article. I'm interested in what I would need to add to have the direct link for the post in teams to show up in the body of the email with the post? Is this possible? Thank you in advance for your assistance. 

Anonymous

Hi @RezaDorrani  i just built this with the idea of the flow pulling a weekly summary of all of the posts my team has made to a specific channel. I have them using a tag teamcanadawins in the post. I have the flow working but its not pulling their posts. any tips to help grab the posts made with the tags?

Geoff.

geoff786_1-1615601063542.png

 

 

Anonymous

so i have the flow running, there are t

IMG_1338.jpg

@RezaDorrani i have the flow running, couple of issues.

1. it keeps dropping and i have to cut and paste it each time...."Posted By <b> @{item()?['from']?['user']?['displayName']} </b>on @{formatDateTime(item()?['createdDateTime'],'MM-dd-yyyy')}</br></br>@{item()?['body']?['content']}" 

 

2. i cant seem to pull the posts from teams into the summary, its blank...

 

any tips.

geoff 

 

This is a bit tricky for those new to PA, which I am.

 

Same as Geoff, it doesn't keep the double quotes for the message part on the flow.

 

But the email address selection doesn't seem to work, keep getting run-time error of email not being string/value.  All the steps work except the final email bit due to that error.

 

Also, screenshot of flow steps doesn't look to match step order detailed in text.  When I arrayed to match the screenshot it worked, with the email sent to a typed in address.

Anonymous

Hi @RezaDorrani @BenUK @Anonymous @BryceHarvey @he-man ,

 

My flow works but the weekly summary does not pull in replies to a post.  Is it possible to do that? Please help.

 

Thanks!


Carclea

Hi there 

Super useful, but I am a total novice and I am struggling with Step (

Step 8:

Send the email to the group members

Email to - Output from Join statement of group members list

Body - Output from Join statement of message body

Where in the world do I get the Output from Join statement etc? I cannot figure out where or how I can find the necessary information. Please help!

Thanks

 

Greetings!

I got the flow to work with one channel in out Teams, is there a way to have it combine posts within multiple channels?

Thanks!

About the Author
  • Experienced Consultant with a demonstrated history of working in the information technology and services industry. Skilled in Office 365, Azure, SharePoint Online, PowerShell, Nintex, K2, SharePoint Designer workflow automation, PowerApps, Microsoft Flow, PowerShell, Active Directory, Operating Systems, Networking, and JavaScript. Strong consulting professional with a Bachelor of Engineering (B.E.) focused in Information Technology from Mumbai University.
  • I am a Microsoft Business Applications MVP and a Senior Manager at EY. I am a technology enthusiast and problem solver. I work/speak/blog/Vlog on Microsoft technology, including Office 365, Power Apps, Power Automate, SharePoint, and Teams Etc. I am helping global clients on Power Platform adoption and empowering them with Power Platform possibilities, capabilities, and easiness. I am a leader of the Houston Power Platform User Group and Power Automate community superuser. I love traveling , exploring new places, and meeting people from different cultures.
  • Read more about me and my achievements at: https://ganeshsanapblogs.wordpress.com/about MCT | SharePoint, Microsoft 365 and Power Platform Consultant | Contributor on SharePoint StackExchange, MSFT Techcommunity
  • Encodian Owner / Founder - Ex Microsoft Consulting Services - Architect / Developer - 20 years in SharePoint - PowerPlatform Fan
  • Founder of SKILLFUL SARDINE, a company focused on productivity and the Power Platform. You can find me on LinkedIn: https://linkedin.com/in/manueltgomes and twitter http://twitter.com/manueltgomes. I also write at https://www.manueltgomes.com, so if you want some Power Automate, SharePoint or Power Apps content I'm your guy 🙂
  • I am the Owner/Principal Architect at Don't Pa..Panic Consulting. I've been working in the information technology industry for over 30 years, and have played key roles in several enterprise SharePoint architectural design review, Intranet deployment, application development, and migration projects. I've been a Microsoft Most Valuable Professional (MVP) 15 consecutive years and am also a Microsoft Certified SharePoint Masters (MCSM) since 2013.
  • Big fan of Power Platform technologies and implemented many solutions.
  • Passionate #Programmer #SharePoint #SPFx #M365 #Power Platform| Microsoft MVP | SharePoint StackOverflow, Github, PnP contributor
  • Web site – https://kamdaryash.wordpress.com Youtube channel - https://www.youtube.com/channel/UCM149rFkLNgerSvgDVeYTZQ/