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

Getting Planner Checklists in flow

Hey guys I have been just made aware that I need to be able to get the Checklists that come when another user creates a new Planner Task. 

I have a flow that sends an email that gets printed but when my team put the phone number and pickup time in the checklist area there is no way to get this information in the email.

When I use Get Details all that is shown is the Title and Description. 


Any help would be very appreciated 

1 ACCEPTED SOLUTION

Accepted Solutions
v-yamao-msft
Community Support
Community Support

Hi @Fusion ,

 

I have made a test and I found that checklist could not be returned using a dynamic content directly.

 

There is similar request on Flow Ideas Forum, please feel free vote the idea at here:

https://powerusers.microsoft.com/t5/Flow-Ideas/Planner-get-more-details-from-a-task-in-planner-e-g-C...

 

Best regards,

Mabel

 

Community Support Team _ Mabel Mao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

15 REPLIES 15
v-yamao-msft
Community Support
Community Support

Hi @Fusion ,

 

I have made a test and I found that checklist could not be returned using a dynamic content directly.

 

There is similar request on Flow Ideas Forum, please feel free vote the idea at here:

https://powerusers.microsoft.com/t5/Flow-Ideas/Planner-get-more-details-from-a-task-in-planner-e-g-C...

 

Best regards,

Mabel

 

Community Support Team _ Mabel Mao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
shtryler
Frequent Visitor

++EDIT: This Post in now obsolete. The "Get Task Details"-Action does now offfer the Checklist as an iterable Array in the dynamic content. So almost all of the steps I described below are no longer necessary.++

 

I struggled with a similar task for a few days, but in the end i managed to extract all the information from the tasks and the checklist items with the help of this weird trick 😉: http://johnliu.net/blog/2017/11/foreach-property-in-microsoftflow-json-with-xpath-microblog

 

The process does need a few steps but in the end it isn't too comlicated.

You start by getting the task details and parsing the result in JSON:

Capture.JPG

Parse JSON: (Get all the data from the taskdetails, way more than the dynamic content offers)

Content: body('Get_task_details')?['body']

(You can generate the schema from a sample task body or just use mine: https://pastebin.com/Y0ddkS9w)

 

Parse JSON checklist: (Seperate the checklist JSON from the task data for easyer handling)

Content: body('Parse_JSON')?['checklist']

(Schema can also be created from a sample checklist item, or use this: https://pastebin.com/4eNTtJ67)

 

The problem is that the checklist items are not actually called "checklistItem" in the raw JSON but are individually named with their id. This is why we need to do the trick from the post mentioned above, where we turn the JSON into XML, get the checklist item id's from the XML, and then parse the JSON again with the id.

Capture2.JPG

Compose JSON checklist root element: (Add a root Element, necessary for proper XML)

Inputs: {"root": body(Parse_JSON_checklist'')}

 

Compose JSON as XML nodeset:

Inputs: xpath(xml(outputs('Compose_JSON_checklist_root_element')), '/root/*')

 

Select array of checklist item ids from xml

From: outputs('Compose_JSON_as_XML_nodeset')

Map: xpath(item(), 'name(/*)')

 

Now we have an iterable array of the checklist item id's (or something resembling them) with wich we can proceed to parse the JSON data of each checklist item.

Capture3.JPG

Apply to each checklist item:

Output('Select_array_of_checklist_item_ids_from_xml')

 

Compose checklist item id: (the id's com back a bit scrambled, this can be fixed with an easy string operation)

Input: substring(replace(items('Apply_to_each_checklist_item'), '_'''), 4, 5)

 

Parse JSON checklist item: (Finally! This operation gives us all the data of the current checklist item)

Content: body('Parse_JSON_Checklist')?[outputs('Compose_checklist_item_id')])

(I guess the schema shuld be clear by now, but just in case 😉: https://pastebin.com/C6C19VYw)

 

The "Parse JSON checklist item" now gives you everything you need as dynamic content.

Hope this helps 😊

This is really helpful but your final schame url is no longr valid - https://pastebin.com/C6C19VYw

any chance you still have this available?

Thanks.

Never mind - worked it out myself.

Really excellent solution. I wouldn't have been able to achieve this without your post so thanks!

{
    "type""object",
    "properties": {
        "@@odata.type": {
            "type""string"
         },
        "isChecked": {
                "type""boolean"
        },
        "title": {
                "type""string"
        }
    }
}
    

Hi @shtryler ,

 

You mentioned in your edit that the "Get Task Details"-Action does now offer the Checklist as an iterable Array in the dynamic content.

 

If I use the 'Get Task Details' action, it only returns the 'description' and the 'ID'.

 

If I call the GET details for Planner Task using the Graph API, it still seem to be returning the checklist items as objects (on both V1.0 and beta)?

 

Can you advise on how I access the iterable array in my flow?

 

Many thanks.

shtryler
Frequent Visitor

Hi @DoowopDobbo,

 

when I add for example a new Apply-to-each-Eleemnt i can choose from the List of dynamic content you can see below. ("Checklist - The Collection of checklist items on the task" is the iterable array in this case).

Untitled.png

Sadly I don't think I can help you if these elements don't appear in your case. For me, the additional dynamic content from the "Get task details"-Action just appeared one day.

 

Best wishes

Hi @shtryler 

 

Many thanks for the quick reply. Unfortunately, the dynamic content doesn't appear for me. Maybe it's tenant specific and we will hopefully get 'upgraded' at some point.

 

Thanks again for your help.

Hi @shtryler ,

After speaking with 2nd tier MS support, I now have the additional dynamic content. Your screenshot was really helpful in achieving this, so thank you.


Could you give an example of how you are using the new 'checklist' token in the above scenario as I'm having trouble getting it to work. The problem seems to be that the 'OrderHints' being copied from the original task as part of the Checklist array are 'not valid'.

 

In the original method you described (which I have working, so thank you again!), the 'orderHint' was set  as " !"

 

Many thanks in anticipation that you might be able to help.

 

Screenshot 2020-12-11 at 17.52.05.png

 

Screenshot 2020-12-11 at 17.45.15.png

Screenshot 2020-12-11 at 17.46.36.png

DoowopDobbo
Frequent Visitor

For anyone who might find it useful, here was the solution to the problem using the new tokens that have recently become available.

 

The only problem now is that the checklist items are not copied from the original task in the original order.

 

If anyone has any advice on how this can be achieved, it would be greatly appreciated.

 

Screenshot 2020-12-23 at 13.40.20.png

Hi @DoowopDobbo ,

 

Your new solution it is just what I need, but I couldn't be able to test because I'm receiving the following error:

 

The execution of template action 'Apply_to_each_2' failed: the result of the evaluation of 'foreach' expression '@body('Get_task_details_from_Template_Task')?['checklist']' is of type 'Object'. The result must be a valid array.

 

How can I convert the 'Dynamic Content' Checklists (type object) from Template Task to an array? Thank you in advance.

Hi, this looks exactly like what I need, however the Schema seems to be erroring with the below. Any idea how I can get around this?

Capture.JPG

Matthew1900
Frequent Visitor

Hi All - thanks so much for everyone's brilliance in developing this flow! 

 

Quick question - I receive an error at the Get Task Details step, with the following output.

 

If anyone would be willing to weigh in with guidance on how I can fix the error, I would be extremely appreciated!

 

Thanks so much,

Matt

 

  "statusCode"400,
    "headers": {
        "Connection""close",
        "Date""Wed, 05 Jan 2022 03:08:52 GMT",
        "Content-Length""324",
        "Content-Type""text/html; charset=us-ascii"
    },
    "body""<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\"http://www.w3.org/TR/html4/strict.dtd\">\r\n<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n<META HTTP-EQUIV=\"Content-Type\" Content=\"text/html; charset=us-ascii\"></HEAD>\r\n<BODY><h2>Bad Request - Invalid URL</h2>\r\n<hr><p>HTTP Error 400. The request URL is invalid.</p>\r\n</BODY></HTML>\r\n"

Hello - Thanks so much for this super helpful information.

 

Is there a way to trigger this flow on a daily basis to update all checklist items, and not just based on the trigger of "when task is completed"? 

 

When I attempted this myself, I used List Buckets>List Tasks>Get Task Details (using value from List Tasks), but then it automatically populated a "for each" function and I wasn't able to select the body value from Get Task Details in the subsequent Parse JSON step.

 

Matthew1900_1-1641494888583.png

 

 

Matthew1900_0-1641494864519.png

 

 

Any guidance would be appreciated. Thank you!

 

 

Matthew1900
Frequent Visitor

@shtryler @DoowopDobbo @MSPowerApps @mspowerautomate 

 

Hi All - just wondering if anyone had thoughts on creating a loop that updates checklist details and refreshes an Excel document, as opposed to only retrieving information for one particular task based on a "complete" or "assign" or "create" trigger.

 

Thank you!

Matt

BeatriceL123
New Member

Can someone please help me with a similar issue: 

 

When I add action "update task details" to create checklist items (from Excel) in my planner (via Power Automate) for some reason, the newly created checklist items are being put into ALL my tasks. I don't want the checklist to show up in all my tasks. I have 5 tasks and want to update 2 tasks with checklists (checklist is different for each task/never the same). 

 

Here's is the Excel (table 1/tab 1) - used for "create a planner task" - these are my 5 tasks I want to drop into teams planner via power automate. I am able to create a flow and successfully added the below into my to do bucket in planners. so not issue here.

BeatriceL123_1-1659799668260.png

 

The issue is when I try to add the checklist using action "Update task details"

My Excel tab 2 (table 2) I need checklist 1-3 added to a task "call hotel" then I need 4-6 added to another task "create NF event" 

BeatriceL123_2-1659799668565.png

 

The flow I am running does not have an error message upon test. However, the output/final result is NOT what i want.

 

Issue: checklist 1-6 is appearing on task 2-5 but not Task 1 (see table 1 rows 3-6). This is obviously not what I want. What I want is checklist 1-3 added to a task "call hotel" and checklist 4-6 added to task "create NF event" 

 

My output is that checklist 1-3 is going to the right task (yay). But checklist 1-6 is showing up on 4 out of 5 task. So the final product is 10% right and 90% wrong. 

Planner: circle is right (I added three checklist items to "Call Hotel" but all the rest of my tasks gained 6 checklist items and THAT IS WRONG. There must be some type of loop causing it or I am not directing it properly - either way user error. I'm new to Power Automate.

BeatriceL123_3-1659799668569.png

 

Flow details

The expression used below is: 

if(equals(items('Apply_to_each')?['Completed'],'FALSE'),true,false)

BeatriceL123_4-1659799668784.png

 

 

BeatriceL123_5-1659799668779.png

 

Can someone with more experience please help me figure out what I'm doing wrong? 

Thank you so much

 

 

 

 

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

New Ideas Forum MPA.jpg

A new place to submit your Ideas for Power Automate

Announcing a new way to share your feedback with the Power Automate Team.

Carousel_PP_768x460_Wave2 (1).png

2022 Release Wave 2 Plan

Power Platform release plan for the 2022 release wave 2 describes all new features releasing from October 2022 through March 2023.

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Users online (3,235)