A headset-wearing employee reviews team performance metrics and schedules on a large dashboard monitor.
Running a modern contact center without reliable historical schedule data is a bit like trying to manage air traffic control using yesterday’s weather forecast and a pair of binoculars. Supervisors can watch real-time boards all day to spot who is currently taking a call or away from their desk, but real-time firefighting rarely answers the harder operational question: Why do our staffing models keep missing the mark every Tuesday afternoon?

With the rollout of the Adherence History Report under Workforce Engagement Management (WEM) for Dynamics 365 Contact Center and Dynamics 365 Customer Service, Microsoft is giving supervisors and workforce planners a dedicated diagnostic lens inside the Copilot Service workspace. Listed on Microsoft’s AI at Work roadmap (ID 576831) as launched for Worldwide (Standard Multi-Tenant) web environments—and recorded in Microsoft Learn’s 2026 release wave 1 documentation as reaching general availability on June 5, 2026—the feature lets managers audit up to two years of historical schedule adherence, trace exact interval deviations, and separate human scheduling friction from broader capacity problems.

Here is an inside look at how the Adherence History Report works, the exact math under the hood, and what Power Platform and Dynamics 365 administrators need to configure before supervisors can use it.


A headset-wearing employee reviews team performance metrics and schedules on a large dashboard monitor. From Disconnected Spreadsheets to Unified WEM​

For years, enterprise contact centers suffered from a glaring architectural split. Customer interactions happened in one CRM or telephony platform, while forecasting, shift scheduling, and adherence tracking lived in third-party Workforce Management (WFM) silos or labyrinthine Excel workbooks. As Microsoft noted in its Dynamics 365 IT Professional blog, managing forecasting, scheduling, adherence, and coaching across disconnected tools makes it difficult for operations leaders to respond when intraday conditions shift.

Microsoft’s broader Workforce Management strategy in Dynamics 365 Customer Service and Dynamics 365 Contact Center pulls demand forecasting, capacity planning, shift scheduling, and adherence monitoring into a single unified environment. While AI agents increasingly handle frontline triage, human representatives remain bound by shift patterns, breaks, training blocks, and service-level targets. Real-time adherence shows what is happening right now; the Adherence History Report completes the loop by showing how closely actual presence states aligned with scheduled activities over weeks, months, or up to two years.


Admin Prerequisites and How to Access the Report​

The Adherence History Report does not appear automatically out of the box; Microsoft lists it as enabled by administrators, makers, or analysts for end users. According to Microsoft Learn’s documentation, two core prerequisites must be met before a supervisor can open the analytics view:

  1. Install the Package: An administrator must install the Workforce Management for Customer Service package inside the Power Platform admin center.
  2. Enable Workforce Management and Analytics: The administrator must enable Workforce Management in the Copilot Service admin center, navigate to Operations > Workforce management, select Manage next to Adherence historical analytics in the Analytics section, toggle on Enable Adherence Historical Analytics, and select Save and Close.

Once enabled, supervisors can open the report directly inside the Copilot Service workspace:

  • Navigate to Workforce Management in the site map and select Adherence historical analytics.
  • Set the desired Duration (date range) and select one or more customer service representatives.
  • Click Apply to populate the trend charts, summary cards, and activity grids.

Filtering the View​

To keep multi-regional or multi-tiered operations from drowning in aggregate noise, Microsoft Learn documents five primary filters at the top of the report:

FilterOperational Function
DurationSets the start and end dates (via calendar or slider) for any window within the last two years. Data older than two years is unavailable.
Time ZoneNormalizes both scheduled and actual activity timestamps into a single time zone for consistent cross-region comparisons.
Shift PlanScopes the results to customer service representatives tied to a specific shift plan.
AgentViews adherence patterns for a single representative or aggregates the entire team.
Planning GroupScopes the report to one or more configured planning groups (linked to representatives via their scheduled shifts) and recalculates metrics at the planning-group level rather than returning a contact-center-wide average.

Inside the Dashboard: Cards, Grids, and Interval Splits​

The Adherence History Report organizes its findings into three layers of visibility: high-level Summary Cards (and trend visualization), a Representative Grid, and a granular Activity Summary Grid.

1. Summary Cards and Representative Grid​

At the top level, summary cards display Adherence %, Time Out of Adherence (formatted as hrs:min:sec), and Total Schedule Time for the active filter selection.

Scrolling down to the representative grid breaks those figures out per person and adds a vital fourth metric: Total Time Worked. Microsoft Learn defines Total Time Worked as the total duration the representative was signed in and working during the selected period, regardless of what was scheduled.

Why does that distinction matter? Comparing Total Time Worked against Total Schedule Time immediately exposes overcoverage (representatives working unscheduled overtime or staying logged in past shift end) or undercoverage (absenteeism or early logoffs). If a representative is scheduled for a shift but never signs in during the reporting window, the grid records 0.00% adherence and 0 time worked.

2. The Activity Summary Grid​

When a supervisor spots an adherence dip, the Activity Summary Grid provides interval-by-interval forensics. Each row logs:

  • Agent: The representative associated with the interval.
  • Actual activity: The live presence state captured by the system (such as Available, Busy, Away, or Offline).
  • Scheduled activity: What the shift plan called for (such as Call, Conversation, Break, Lunch, or Training).
  • Start time, End time, and Total duration: Exact timestamps and interval length.
  • Adherence status: Classified as In Adherence, Out of Adherence, or Not Tracked.

Crucially, Microsoft’s reporting engine splits a single scheduled block into separate interval rows whenever a representative’s adherence status changes. If a two-hour call block starts with a late login, transitions to normal call handling, and includes an unscheduled break, the grid breaks that block into distinct rows so the interval math matches the top-level summary cards to the minute.


How the Math Actually Works: Mapping, Tolerances, and Formulas​

One of the quickest ways to ruin morale in a contact center is to penalize agents for rigid software rules that ignore human reality. If a customer call runs three minutes into a scheduled break, or a representative takes two minutes to boot up their softphone at 9:00 AM, treating every second of variance as a compliance failure renders the data useless.

Microsoft’s adherence engine accounts for this using three configuration levers documented on Microsoft Learn:

  1. User State Mapping: Scheduled activities and system presence states do not share identical labels. Administrators map which presence states satisfy which scheduled tasks—for instance, configuring both Available and Busy as valid states during a scheduled Call or Conversation block, while requiring Away for a Break or Lunch.
  2. Tolerance (Grace Periods): Administrators can assign a minute-based tolerance buffer to specific activities. If a scheduled activity has a 5-minute tolerance and a representative signs in 4 minutes late, the entire interval stays In Adherence. If they sign in 10 minutes late, the first 5 minutes are absorbed by the tolerance buffer as In Adherence, and only the remaining 5 minutes are flagged as Out of Adherence.
  3. Tracked vs. Not Tracked Activities: Certain scheduled blocks—such as Training—can be configured as Not Tracked. Rather than counting that time as compliant or non-compliant, the system strips it out of the denominator entirely.

The Core Formulas​

Once state mappings and tolerances are applied, Dynamics 365 calculates the metrics using three strict equations:

  • $\text{Tracked Schedule Time} = \text{Total Schedule Time} - \text{Not Tracked Time}$
  • $\text{Time In Adherence} = \text{Tracked Schedule Time} - \text{Time Out of Adherence}$
  • $\text{Adherence \%} = \left(\frac{\text{Time In Adherence}}{\text{Tracked Schedule Time}}\right) \times 100$

A Practical Shift Walkthrough​

To see how the denominator and tolerance buffers interact in practice, consider the shift example documented by Microsoft Learn for a representative named Maria working a 9:00 AM to 5:00 PM shift (480 minutes total):

  • Configuration: Call blocks allow Available/Busy with a 5-minute tolerance. Conversation blocks allow Available/Busy with no tolerance. Break/Lunch blocks require Away with no tolerance. A 30-minute Training block (3:30 PM–4:00 PM) is marked Not Tracked.
  • Deviation 1 (Late Sign-In): Maria is scheduled for Call at 9:00 AM but stays Offline until 9:10 AM. The 5-minute Call tolerance absorbs 9:00–9:05 AM (5 minutes In Adherence), leaving 9:05–9:10 AM as 5 minutes Out of Adherence.
  • Deviation 2 (Unscheduled Away): During a scheduled Conversation block (no tolerance), Maria switches her presence to Away from 12:00 PM to 12:25 PM. All 25 minutes count Out of Adherence.
  • Deviation 3 (Early Sign-Out): Scheduled for Call until 5:00 PM, Maria goes Offline at 4:40 PM. The 5-minute Call tolerance absorbs 4:40–4:45 PM, leaving 4:45–5:00 PM as 15 minutes Out of Adherence.

When the report rolls up Maria’s 480-minute day, it subtracts the 30-minute untracked training session to establish a Tracked Schedule Time of 450 minutes. Subtracting her 45 minutes Out of Adherence ($5 + 25 + 15$) leaves 405 minutes In Adherence. Dividing 405 by 450 yields an Adherence % of 90.00%.


Analyst Perspective: Diagnostic Tool, Not an Autopilot​

Based on general contact center industry practice and the technical boundaries documented by Microsoft Learn, IT administrators and operations leaders should keep two practical caveats in mind when deploying this report:

  • Bad Mappings Produce Bad Metrics: Because the Adherence % formula relies directly on user state mappings, tolerance windows, and tracked-activity flags, a sudden drop in team adherence is just as likely to indicate a misconfigured shift activity type or an overly aggressive zero-tolerance setting on chat queues as it is to reflect agent behavior. When rolling out the report, supervisors should use the Activity Summary Grid to audit whether tolerances reflect real call-wrap times.
  • Diagnosis vs. Automation: While Microsoft notes that the report helps optimize workforce planning and staffing decisions, the Adherence History Report is a diagnostic analytics view—not an automated scheduling engine. It does not automatically rewrite shift plans or forecast demand on its own; rather, it gives planners the empirical historical evidence needed to adjust shift templates, stagger break windows, or coach individuals.

By pairing up to two years of historical adherence trends with interval-level state tracking inside the Copilot Service workspace, Dynamics 365 Contact Center gives workforce planners the hard numbers they need to fix broken schedules before service levels slip.

 

References

  1. Dynamics 365 Contact Center: Workforce engagement management - Analyze adherence history to optimize workforce planning Microsoft 365 Roadmap 2026-10-16T19:09:36.931992Z
  2. Use the adherence history report | Microsoft Learn learn.microsoft.com
  3. Analyze adherence history to optimize workforce planning | Microsoft Learn learn.microsoft.com