How a JAG office replaced manual deadline tracking with an automated three-part legal operations system — built entirely within existing infrastructure.
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.
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.
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.
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.
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.
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.
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.
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
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
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
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
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
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
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.
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.
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.
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.