Back to Portfolio

What was breaking down.

Managing court-martial cases is not a simple docketing problem. These are federal criminal proceedings, each carrying its own constitutional requirements, multi-phase deadlines, and assigned trial teams that must coordinate across every stage of litigation. At OSTC – 7th Circuit, the office was managing 21 active federal cases simultaneously across 21 separate Microsoft Planner plans. The system was built to scale beyond 100 cases. But even at 21, the visibility problem was significant enough to stall case progression entirely.

The core issue was not volume. It was geography. Trial team members were scattered across multiple installations, and the majority of coordination happened remotely. When attorneys, paralegals, and support personnel cannot see what their teammates are working on in real time, collaboration breaks down. Tasks fall through the cracks. Accountability becomes informal. Cases that should be moving through defined legal stages instead sit stagnant — sometimes for years — not because the work was too complex but because no one had a shared view of where each case actually stood.

The office needed centralized visibility, automated deadline notifications, and a mechanism to drive collaboration across a distributed team without adding headcount or purchasing new software. Everything had to be built inside a government Microsoft 365 tenant with significant connector restrictions and API limitations. That constraint shaped the entire build.

Three components. One operational system.

The system has three integrated components: an automated data pipeline, a live Power BI dashboard, and an automated deadline notification flow. Each component solves a distinct operational problem. Together, they replace a fully manual process with a real-time intelligence platform that requires no daily administrative intervention to maintain.

System architecture
Component 1: Automated data pipeline Power Automate runs twice daily pulling from 21 Planner plans and writing to a centralized SharePoint list. Microsoft Planner 21 active plans Pulls task data Power Automate Runs twice daily Writes records SharePoint list Single source of truth Cleanup · upsert logic · JSON extraction Powers all downstream

Power Automate runs twice daily, pulling case and task data from all 21 Planner plans. The pipeline handles ghost row cleanup, upsert logic, and JSON extraction of assignee data — then writes everything to a centralized SharePoint list that becomes the single source of truth for the entire system.

Component 2: Power BI dashboard The SharePoint list feeds a six-page Power BI dashboard giving leadership and trial teams live docket visibility. SharePoint list Live data source Power BI Overview · Deadline radar Workload · Case progression Milestones · Priorities 6 pages — live refresh Leadership Command briefings Trial teams Daily priorities

The SharePoint list feeds a six-page Power BI dashboard giving leadership and distributed trial teams a live view of the full docket — from command-level KPIs and deadline pressure to individual weekly task prioritization. A lookup table connects team member identifiers to display names and emails, so new personnel populate across every page automatically on the next refresh.

Component 3: Automated deadline calendar sync When a court deadline task is added in Planner, Power Automate identifies the assigned attorney and sends an Outlook calendar invite automatically. Planner Deadline bucket task Triggers flow Power Automate Lookup table · email match Sends invite Outlook All-day invite · 7-day alert Assignee change → original invite cancelled · new invite sent automatically

When a task lands in the court deadline bucket, the flow identifies the assigned team member, looks up their email from the centralized lookup table, and sends an all-day Outlook calendar invite with a seven-day advance reminder — no manual entry required. If the assignee changes, the original invite is cancelled and a new one is sent to the replacement automatically.

Step 1 of 3
Component 01

Automated Data Pipeline

The foundation is a Power Automate pipeline that runs twice daily, pulling task data from all active Planner plans and writing it to a centralized SharePoint list. That list becomes the single source of truth for everything downstream. The pipeline handles ghost row cleanup to remove stale tasks automatically, extracts assignee data from raw JSON, and uses upsert logic to update existing records without creating duplicates. Every sync cycle preserves the tracking fields that the rest of the system depends on.

Building this inside a government tenant required custom workarounds throughout. Standard SharePoint connectors were unavailable. OData row limits required specific query parameters to bypass. Several API endpoints that work in commercial Microsoft 365 environments were blocked entirely. The pipeline that runs today is not the obvious solution. It is the solution that survives the constraints of the environment it actually operates in.

Component 02

Court-Martial Task Tracker Dashboard

The Power BI dashboard gives leadership and trial teams a six-page real-time view of the full docket. The pages are designed to serve different operational needs, from high-level command briefings to individual daily task prioritization. A live lookup table connects team member identifiers to display names and emails, so new personnel populate across the entire dashboard automatically on the next refresh.

Page 01

Command Overview

Entry point for leadership. Surfaces four high-level KPIs: open tasks, overdue tasks, cases due this week, and overall completion rate. An urgent tasks panel highlights the highest-priority items across the docket. A workload chart shows task distribution by team member. A case health visualization tracks completion percentage across every stage of the litigation pipeline — a single-screen read on docket health without pulling a single manual report.

Screen recording — coming soon

Page 1 — Command Overview walkthrough
Page 02

Deadline Radar

Designed for daily use during attorney briefings. Displays all overdue tasks in a filterable table alongside a color-coded deadline pressure chart broken down by team member across all active cases. Tasks are categorized by urgency: overdue, due in three days, due in seven days, and due in fourteen days. Leadership can see at a glance where the docket is under the most pressure and who is carrying it.

Screen recording — coming soon

Page 2 — Deadline Radar walkthrough
Page 03

Workload and Capacity

Identifies who is overloaded and where cases are stalling. Shows completed tasks by team member, overdue task counts per person, average completion rates, and a cross-case matrix of open task volume. Leadership can see which team members are carrying the heaviest load and which cases have the most unresolved work without asking anyone for a status update.

Screen recording — coming soon

Page 3 — Workload and Capacity walkthrough
Page 04

Case Progression

Tracks each case from investigation through trial. A stage-by-stage matrix shows task counts at every phase of litigation, paired with charts showing active and completed stages by case and average percent complete by team member. Answers the question leadership needs answered every week: where is each case, and is it moving?

Screen recording — coming soon

Page 4 — Case Progression walkthrough
Page 05

Milestone Tracker

Monitors the three critical dates per case: Goal Preferral Date, Goal Referral Date, and Trial Date. Conditional formatting highlights cases due within 14 days in yellow and overdue milestone dates in red. Every active case appears in a single table, giving leadership a complete milestone view of the docket without opening a single individual plan.

Screen recording — coming soon

Page 5 — Milestone Tracker walkthrough
Page 06

Week's Priorities

Daily operational view for individual attorneys and paralegals. Organizes tasks by urgency across four columns: overdue, due today, due in three days, and due in four to seven days — with running counts for each category displayed at the top. A detailed task list shows each item with its case name, bucket stage, assigned team member, and due date. Filters for team member, assigned STC, and case let each person pull a focused view of their own workload without navigating across 21 separate plans.

Screen recording — coming soon

Page 6 — Week's Priorities walkthrough
Component 03

Automated Deadline Calendar Sync

The third component closes the gap between a task logged in Planner and a deadline that actually lands on someone's calendar. When a task is added to the court deadline bucket, a Power Automate flow identifies the assigned team member, looks up their email from the centralized lookup table, and sends an all-day Outlook calendar invite with a seven-day advance reminder.

If the assigned attorney or paralegal changes, the flow cancels the original invite and sends a new one to the replacement automatically. No one has to remember to update a calendar. The system handles it.

What changed.

Before this system existed, the office had no centralized view of its docket. Case health was assessed informally. Deadline awareness depended on individual attorneys and paralegals maintaining their own tracking systems. Collaboration across a distributed trial team was largely reactive. Cases moved when someone pushed them forward and stalled when no one could see that they had stopped.

Leadership now has a live dashboard that surfaces overdue tasks, deadline pressure, and workload distribution across the full docket without requiring a single manual report. Trial teams across multiple installations share a common view of every case in real time. When a milestone is approaching, the assigned team member already has it on their calendar. When a case stalls, it is visible before it becomes a crisis.

3 wks – 2 mo Investigation to preferral of charges, down from four months to over a year pre-implementation
21 → 1 Separate Planner silos consolidated into a single visible docket across all active federal cases
Zero Daily administrative intervention required to maintain deadline tracking and calendar sync

Cases that had been stagnant for years began moving once trial teams had a structured project kickoff, a shared task platform, real-time deadline visibility, and automatic calendar sync working together. The system created the conditions for the work to actually move. The administrative burden that previously fell on paralegals to manually track and communicate deadline information was largely eliminated, freeing the team to focus on the legal work itself.

What this means for other organizations.

The architecture behind this system is not unique to military justice. The operational problems it solves — fragmented task visibility, missed deadlines, siloed teams, manual reporting burden — exist in every legal environment managing a high-volume docket. Law firms running complex litigation practices, corporate legal departments tracking regulatory deadlines, and compliance teams managing multi-phase workflows all face the same core challenge: the information exists, but no one can see all of it at once.

The three-component model transfers directly. Microsoft Planner, Power Automate, SharePoint, and Power BI are standard tools in most Microsoft 365 environments. If your organization already pays for Microsoft 365, the infrastructure for this kind of system is likely already in place.

What this build demonstrated is that significant capability can be added without significant cost. The government tenant that housed this system had more restrictions than most commercial environments — no premium connectors, no third-party integrations, no additional software budget. The system was built inside the constraints that existed and delivered results anyway.

The questions worth asking are straightforward: where is your team losing time to manual tracking? Where are deadlines living in someone's head instead of a shared system? Where is leadership making decisions without real-time data? Those are the gaps this type of system is designed to close.

All Projects ← Back to Portfolio
Related Project Legal Analytics Infrastructure: Deferral Triage Dashboard →