cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
BillPope
Frequent Visitor

Send Email Digest of all open Planner Tasks to individual team member

Hi,

 

I have been struggling to create a flow that will send a recurring (weekly) email, with a digest summary of all tasks less than 100% complete. There is a template already that will send your own, but most of my team do not have the background to create their own flow, so I wanted to create a flow that would just do it for them on my behalf. I've tried everyway that I can think of, and each different way I get a different type and quantity for failures. 

 

So flow would be basically once a week, pull all tasks less than 100% complete (so open) and send a digest email to every user that has an open task with their specific tasks. Individual email, to individual user, with their specifically individual tasks in digest format? 

 

Can this be done?

 

Thank you in advance, from a person who is probably way above their head in trying to understand flows, but silly enough to try and do it anyway.

 

V/R,

 

Bill

20 REPLIES 20
ChristianAbata
Super User II
Super User II

@BillPope  where do you have the % of the task?



Did I answer your question? Please consider to Mark
my post as a solution! to guide others :winking_face:

Proud to be a Flownaut!


If you want you can follow me at www.christianabata.com Quieres contenido en español? Síguenos en Power Automate LA

@ChristianAbata I haven't tried to put it in any specific place, the only place I've tried to pull the % complete data is what ever transfers over from the value assignments.

 

Since, I'm learning and have no real idea what I'm doing - I basically have been trying to cannibalize this flow:

 

https://us.flow.microsoft.com/en-us/galleries/public/templates/9caab8ef716f45138b09b0544bd03798/send...

 

And trying to figure out different ways to add way that it send out to people instead of sending my tasks to myself. If that makes sense. Alot of our tasks don't have specific due dates, so I have had to try adding a condition for null value due date after the get tasks, not sure if that overly complicates what I'm trying to do as well or not. 

 

This flow works to send me my stuff obviously, but I don't know how to substitute out "List my tasks" to get tasks or everyone else individually, and then send it out to them individually later in the flow.

 

Thanks for entertaining my question and the help!

@BillPope  I was testing what you need and to know the percentage of a task you can use this.

part2.PNG

 

and to know the user follow this.

105.PNG



Did I answer your question? Please consider to Mark
my post as a solution! to guide others :winking_face:

Proud to be a Flownaut!


If you want you can follow me at www.christianabata.com Quieres contenido en español? Síguenos en Power Automate LA

@ChristianAbata 

 

So, I'm reasonably sure I missed something here - the flow runs successfully, but there are two glaring problems:

 

The email that gets sent out includes everyone in the team's task, not just mine. I want to filter it down so that the email only shows mine, the email that Team Member 1 gets is only Member 1 tasks, email that Team Member 2 gets is only Member 2 tasks, not everyone getting everyone's task. If that makes sense.

 

The second glaring problem, when I run the task I get 8 emails - all with the same information (everyone's tasks).

 

Here are screen shots of the flow...

 

Flow1.pngFlow2.pngFlow3.pngFlow4.png

Hi!

You probably need to use 'List tasks' instead of 'List my tasks'. As far as I remember tasks that are not completed have no 'Completed Date' assigned (Filter Array probably needed).

 

Then you probably need to build a dictionary of 'Assigned to' users by iterating all through your filtered tasks. Once the array is built, you will probably need to use union() expression to supress duplicates.

 

Finally you probably need to iterate all through your 'Assigned to' users by means of an apply to each, inside it:

-Get user profile, to get current user's email

-Filter Array, assign as its input 'List tasks' output, to filter uncompleted tasks assigned to current user

-Create HTML table with Filter Array results, select desired Columns

-Send an email

 

Do you also need to send Task Description (i.e. Notes) in your email? THis will make things more complex

Hope this helps

 



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



oh @BillPope  what you can do is create a string variable at the begining of your flow then save your user value inside apply to each with append string, then outside apply to each send the email using the value in String variable.



Did I answer your question? Please consider to Mark
my post as a solution! to guide others :winking_face:

Proud to be a Flownaut!


If you want you can follow me at www.christianabata.com Quieres contenido en español? Síguenos en Power Automate LA

@efialttes

Thanks so much for taking the time to reply. I'm a very new flow user, and in Publc Safety/Emergency Management so my computer background knowledge is very limited. So you lost me at union() expression. Meaning I get that i would need to an expression, but couldn't tell you how to setup the formula for that.

And no, the email doesn't need task details. To be honest task ID, and Due date (or 0 if null) is all it needs to output.

@ChristianAbata

I am very appreciative of the help you've provided, but could I trouble you for an example for where and how to setup a string variable in this instance? Beyond my skill level.

shure please see this example of how to use but with array.

do1.PNG

 

In the example I'm saving all channels name into the variable outside apply to each, to use it outside. In your case you need initialize string variable, let the value in blank an then inside your apply to each add append to string variable and select in name your initialized varible, in value of course you need the value that you need to save in your case the email of user I think.

 

Please let me know if you made it.



Did I answer your question? Please consider to Mark
my post as a solution! to guide others :winking_face:

Proud to be a Flownaut!


If you want you can follow me at www.christianabata.com Quieres contenido en español? Síguenos en Power Automate LA

@ChristianAbata 

 

So I tried it, and afraid I must be missing something... the flow succeeds, but still have the same result. Members are getting ALL of the planner tasks, not just the ones they are assigned, and are getting 8 duplicate copies of the same email. Here are pictures of the flow...

 

flow1.png

^^ Where I placed (maybe I have it in the wrong place?

 

Here are the parameters I put in...

 

flow2.png

@BillPope 

Here you are the dictionary approach!

More tricky than I initially expected, but finally up and running.

So I am first sharing the screenshots from a Flow that sends a report to each assigned to person with all the tasks assigned to him/her. Once implemented this way, you need some extra steps to report the tasks that are not ject completed only. But the fastes way to build it is this one, believe me.

So this is the overall picture of the design (remember, all tasks reported)

Flow_PlannerDictionary_0.png

 

Now let's see in details the first part of the flow:

Flow_PlannerDictionary_1.png

And, finally, let's see in detail the last part of the flow:

Flow_PlannerDictionary_2.png

 

Taking into account 'Power Automate' is not the best tool in terms of performance, the execution of this dictionary based approach is really fast

 

Now, which are the extra steps?

Once implemented the flow first version, just need to add a 'Filter array' just after 'List tasks', and make sure you remove 'List tasks' output value in a couple of action blocks and assign 'Filter array' output instead.

Why not adding Filter Array stuff from the beginning? Because if you do so, you will have some problems to convince Flow UI not to add automatically extra 'Apply to each' action block. Once you need further assistance to add them, please let us know

 

Hope this helps

 



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



 

@efialttes 

 

Hi, thanks so much for the step by step and pictures. Also sorry for the delay, other work projects took up my time this last week. 

 

I thought I followed your instructions pretty well, but I get this error when running the flow

 

The variable 'teamArray' of type 'Array' cannot be initialized or updated with value 'union(outputs('Compose_auxTeamArray'),body('Select_userIds'))' of type 'String'. The variable 'teamArray' only supports values of types 'Array'.

 

Note - When I started to put this step in, there was no "Function" option, so I just free flow typed that (not sure if I missed something why I didn't get the option to add a function to the content of that line, or if I have to preface the "union...." with something so that it knows what to do with the string?

Hi!

Can you share a screenshot from your current flow design, so we can see expressions ext?

Thanx!

 



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



@efialttes 

 

Sorry, here you go...

 

FLOW1.PNGFLOW2.PNGFlow 3.PNGflow4.PNGflow5.PNGflow6.PNG

Hi!

So in your 'Select userIds' you need to remove current Map values assigned, then click on the 'T' icon on the right...

Flow_BillPope.PNG

...so you switch from keyvalue mode to text mode, then follow these steps to add your expression:

https://flow.microsoft.com/es-es/blog/use-expressions-in-actions/

 

Hope this helps



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



@efialttes , I have been following this build and I will say its incredibly helpful. I was able to put together a similar flow and got it working up until the last filter array to filter the tasks by user id. I get nothing in the email but if I don't add a filter condition I do get all the tasks so it has to be something to do with the fx: string(item()?['_assignments]') argument. When I looked at the raw data I noticed that there is a "userId" under "_assignments". Is this what's missing and how would that fx look like if so? Would appreciate any help. 

 

Screen Shot 2020-09-11 at 3.03.25 PM.pngScreen Shot 2020-09-11 at 3.02.38 PM.pngScreen Shot 2020-09-11 at 3.05.17 PM.png

Solved it. Used substring(string(item()?['assignments']), 2, 36)  to pull the ID and now works great!

Excellent @David_Mullenix  please mark the post as solution, to guide others 😉



Did I answer your question? Please consider to Mark
my post as a solution! to guide others :winking_face:

Proud to be a Flownaut!


If you want you can follow me at www.christianabata.com Quieres contenido en español? Síguenos en Power Automate LA

@efialttes Awesome solution, I was able to adapt this for my use case, sending a digest just to guest users who don't get notifications when tasks are assigned to them so a daily summary of their open tasks is better than nothing! 

Helpful resources

Announcements
Process Advisor

Introducing Process Advisor

Check out the new Process Advisor community forum board!

MPA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

Users online (15,987)