Microsoft Planner has no native “overdue tasks report” that spans your plans. The answer everyone gets pointed at is a scheduled Power Automate flow (or a PowerShell runbook) that filters tasks to dueDateTime < utcNow() and emails you a table. That genuinely works — but it produces a flat, sorted-by-date list, and a flat list is exactly what hides the real problem: a task 2 days late and a task 44 days late are not the same problem, and a date sort interleaves them as if they were. “What’s slipping?” deserves a better answer than one long column.
Does Planner have a built-in overdue report?
No. Inside a single plan you can filter. Grid and board views let you apply a “Late” filter and Planner will hide everything that isn’t past due, which projectmanagers.net walks through in Finding Late Tasks with Microsoft Planner Custom Filters. That’s useful when you’re standing inside one plan. It is not a report, it doesn’t cross plans, and it doesn’t get emailed to you on a schedule.
The tell that there’s no native report is that people keep asking how to build one. A Microsoft Q&A thread is titled, almost verbatim, How can I Automate a summary (table) of all overdue planner tasks? — and the answers are all “here’s a flow you assemble,” never “here’s the setting.” If Planner shipped an overdue report, that thread wouldn’t exist.
The DIY route: a Power Automate flow (or a script)
This is the real, working, tedious answer, and it’s worth being honest about before showing anything else. There are two common flavors.
A scheduled Power Automate flow. You create a Scheduled cloud flow, use the Planner List tasks action, add a Condition or Filter array on an expression like dueDateTime < utcNow() to keep only the overdue ones, drop the result into a Create HTML table action, and send it as email. Microsoft’s own Q&A answers describe exactly this shape, including the more elaborate version that groups by manager and sends one HTML report per person (Microsoft Q&A).
A PowerShell / Graph script. If you’d rather script it, Office 365 for IT Pros published a Weekly Incomplete Task Report for Planner that uses the Microsoft Graph PowerShell SDK — Get-MgGroupPlannerPlan, Get-MgPlannerPlanTask, Get-MgPlannerPlanBucket — to scan a group’s plans for incomplete tasks and email the results, scheduled as an Azure Automation runbook.
Both are real, and both come with real friction:
- You wire it per plan. “List tasks” runs against a plan. Ten plans, ten branches (or a loop you maintain), and every new plan is a change to the flow.
- You own the date math and the paging.
utcNow()comparisons, time zones, and Graph paging are yours to get right and keep right. - The output is flat. An HTML table sorted by due date is the default — which brings us to the part nobody mentions.
Why a flat overdue list hides the real problem
Here’s the point of view worth writing down: the lateness is the signal, not just the late flag. Once you’ve filtered to “overdue,” every remaining task is late — so sorting by due date just orders them by when they were due, which quietly buries how far gone each one is.
Picture the flat table the flow emails you. Row after row, oldest due date first. Somewhere in that column is a task that slipped its deadline yesterday — a nudge, a quick reschedule. Right next to it, indistinguishable, is a task that’s been overdue for six weeks. That one isn’t a nudge. It’s blocked, abandoned, or owned by someone who’s checked out, and it’s been rotting while the list scrolled. A date sort treats “2 days late” and “44 days late” as neighbors. They are completely different conversations.
The fix is banding. Group overdue tasks by how far past due they are — for example:
| Band | What it usually means | What you do |
|---|---|---|
| 1–7 days late | Slipped recently; still live | Nudge, reschedule, small push |
| 8–30 days late | Stalled; something’s wrong | Ask what’s blocking, reassign |
| 30+ days late | Effectively dead or forgotten | Close, escalate, or truly recommit |
Now the report answers “what’s slipping?” instead of “what’s late?” The 30+ band is where you look first, because that’s where the real damage hides — and in a flat date sort, it’s exactly where you don’t look, because it’s scattered through the middle of a long column.
Related cross-plan views
“What’s slipping?” is one job. It’s a different question from “who’s loaded?” and “what’s assigned to whom?”, and each needs its own view:
- See all Planner tasks across plans — the everything-in-one-list problem.
- Planner tasks by assignee across plans — who owns what.
- Microsoft Planner workload view — who’s overloaded, and why the native People view stops at one plan.
The overdue report is the “what’s late, and how badly” cut of the same underlying data.
The shortcut: a banded Overdue view across every plan
If you’d rather not build and babysit a flow, that’s what the Overdue view in Team Workload is. You sign in with your Microsoft account, it reads every plan you can access, keeps only the tasks that are past due, and — this is the part the DIY flow skips — bands them by 1–7 / 8–30 / 30+ days late so the worst slippage sorts to the top instead of hiding in the middle of a date-sorted column. No per-plan flow to maintain, no utcNow() expressions, no paging. It’s the overdue report Planner never shipped, built around the question you’re actually asking: not just what’s late, but what’s quietly getting worse — crosstowntech.com/planner.