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

11 REPLIES 11
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

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

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Users online (2,086)