A contact center manager reviews a dashboard tracking customer calls, queue times, transfers, and resolution rates.
In a busy contact center, nothing hides operational chaos quite like a cross-queue transfer. A customer dials in, gets answered in ten seconds by a front-line triage agent, gets transferred to a specialized billing queue, waits twelve agonizing minutes on hold, and finally hangs up in frustration. Under traditional conversation-level or session-level reporting, how does that disaster look on the morning dashboard? Sometimes, it looks like a fast initial answer—or worse, a muddled blame game where nobody can prove which queue dropped the ball.

Microsoft is addressing that exact blind spot in Dynamics 365 Contact Center. Listed on the Microsoft 365 AI at Work Roadmap under ID 576771 as "Dynamics 365 Contact Center: Supervisor experiences - Track segment-level metrics across queues," the capability is officially marked as Launched for Web in Worldwide (Standard Multi-Tenant) cloud instances. While an early Microsoft 365 Message Center notice (MC1296206) initially pointed toward a May 30, 2026 rollout, Microsoft's 2026 Release Wave 1 plan and roadmap documentation record general availability in June 2026 (specifically June 30, 2026 in the release plan), enabled automatically for administrators, makers, marketers, and analysts.

Here is a deep dive into how segment-level queue tracking actually works under the hood in Dataverse, how its DAX calculations change your key performance indicators, and what enterprise IT administrators and data analysts need to watch out for when comparing segment metrics against legacy conversation totals.

A contact center manager reviews a dashboard tracking customer calls, queue times, transfers, and resolution rates. The Shift from Conversation Totals to Queue Segments​

At the heart of this update is a fundamental change in the unit of analysis. Previously, relying on conversation-level or session-level metrics meant evaluating an interaction as a single monolithic block or tying metrics strictly to agent sessions. When a single customer interaction bounced across multiple queues—say, from an AI bot or general intake queue to Tier 2 Technical Support, and then over to Retention—conversation-level averages masked what happened after the first handoff. Post-transfer wait times, secondary abandonments, and queue-specific service level adherence were frequently blurred together.

With segment-level tracking, Dynamics 365 Contact Center breaks a single customer journey into distinct queue segments. Every time an interaction enters a queue, gets transferred to another queue, or exits a queue, the system logs a discrete lifecycle record.

According to Microsoft Learn documentation on segment-based queue metrics, this architecture applies exclusively to Dynamics 365 Contact Center and supports both the Omnichannel Real-time and Omnichannel Historical dashboards. However, those two reporting environments pull their data through very different plumbing:

  • Omnichannel Real-Time Dashboards: Query the Dataverse SQL database directly, reflecting the live state of the msdyn_queueextension and msdyn_ocliveworkitem tables. Because these interactions may still be in flight, the real-time dashboard supports live-only measures based on CurrentWaitTimeInSeconds.
  • Omnichannel Historical Dashboards: Load FactQueueExtension data from Azure Data Lake CSV exports rather than querying live Dataverse tables. In Power Query, queue ID columns are renamed with an _FQE suffix to prevent naming collisions when joining with DimQueue, while the DAX expressions themselves reference logical column names.

Summary: Architectural Scope​

  • Feature: Track segment-level metrics across queues (Roadmap ID 576771).
  • Product Scope: Dynamics 365 Contact Center only (Web, Worldwide Standard Multi-Tenant).
  • Core Entity: msdyn_queueextension in Dataverse (FactQueueExtension in historical exports).
  • Enablement: Automatically enabled for admins, makers, marketers, and analysts.

Inside the msdyn_queueextension Dataverse Table​

For Power BI developers, Dataverse administrators, and reporting analysts who customize contact center reporting, the real informatie value of this rollout lies in Microsoft's underlying schema. Microsoft Learn documents the msdyn_queueextension table as the dedicated Dataverse entity that records each queue-level conversation segment.

Instead of forcing analysts to reconstruct transfer chains from raw activity logs, msdyn_queueextension captures identity relationships, lifecycle timestamps, transition reasons, and pre-aggregated time durations in a single row per queue visit.

Field CategoryLogical NameData TypeOperational Role in Segment Tracking
Identity & Linksmsdyn_queueextensionidPrimary KeyUnique identifier for the individual queue segment record.
Identity & Linksmsdyn_conversationidLookupLinks the segment back to the parent conversation in msdyn_ocliveworkitem.
Identity & Linksmsdyn_queueidLookupIdentifies the specific queue where this segment took place.
Transfer Trackingmsdyn_sourcequeueLookupPopulated if the segment arrived via transfer from another queue.
Transfer Trackingmsdyn_targetqueueLookupPopulated if the segment exited via transfer to another queue.
Lifecycle Timingmsdyn_starttime / msdyn_endtimeDatetimeExact timestamps when the interaction entered and exited the queue.
Lifecycle Timingmsdyn_agentassignedonDatetimeTimestamp when the routing engine first offered the assignment to a representative.
Lifecycle Timingmsdyn_agentacceptedonDatetimeTimestamp when a service representative accepted the routed assignment.
Lifecycle Timingmsdyn_closedonDatetimeTimestamp when the queue segment was closed.
Outcomes & Reasonsmsdyn_isabandonedBit (Yes/No)Marked TRUE if the customer leaves before a representative accepts.
Outcomes & Reasonsmsdyn_creationreasonText (nvarchar)Why the segment started (e.g., DirectQueueEntry, TransferIn).
Outcomes & Reasonsmsdyn_closurereasonText (nvarchar)Why the segment ended (e.g., EndConversation, TransferOut, ExternalAgentTransfer, OverflowQueueTransfer).
Pre-Aggregated Timemsdyn_firstwaittimeinsecondsIntegerWait time in seconds from segment start until agent acceptance or segment closure.
Pre-Aggregated Timemsdyn_handletimeIntegerTotal handle time in seconds (combines talk, hold, and active wrap-up durations).

Beyond msdyn_handletime, the entity also stores pre-aggregated integer columns for msdyn_talktime, msdyn_holdtime, msdyn_activetime, msdyn_activechattime, msdyn_activewrapuptime, and msdyn_inactivetime. Because Dataverse precomputes these durations, custom Power BI reports can aggregate queue-specific handle and hold times directly without running expensive row-by-row timestamp math on millions of records.


How the Math Works: Key DAX Measures and Calculation Quirks​

When supervisors open their dashboards to evaluate queue health, how are the numbers actually calculated? Microsoft Learn's published DAX definitions reveal several important calculation boundaries that every contact center manager should understand before rewriting team KPIs.

1. One Conversation Can Equal Multiple Segments​

First and foremost, Total Segments counts inbound rows in FactQueueExtension where DirectionCode = FALSE() (filtering out outbound interactions via msdyn_isoutbound = false). As Microsoft explicitly notes in its documentation, a single customer conversation that transfers across three queues counts as three segments.

Why does this matter? Because segment-level engagement and abandonment rates use Total Segments as their denominator. If you compare a segment-level report side-by-side with a conversation-level report, the totals will not match—and they aren't supposed to. One counts unique customer sessions; the other counts individual queue visits.

2. Speed to Answer vs. Agent Accept Latency​

Supervisors frequently ask whether high wait times are caused by understaffed queues or by available agents ignoring screen pops. The segment model separates those two problems using distinct timestamp pairs:

  • Average Speed to Answer (Segment): Averages the precomputed FirstWaitTimeInSeconds across engaged inbound segments—measuring the total wait from when the segment entered the queue until a representative accepted it.
  • Average Agent Accept Time (Segment): Measures the DATEDIFF in seconds between AgentFirstAssignedOn and AgentAcceptedOn for engaged inbound segments. This isolates routing-to-acceptance latency, helping supervisors spot agent rejections or rings that time out before being answered.

3. The Service Level Denominator Nuance​

Here is a critical detail for SLA reporting: Microsoft's InServiceLevel calculated column evaluates to TRUE only when an inbound segment is engaged (IsEngaged is true, meaning msdyn_agentacceptedon is not null) and its FirstWaitTimeInSeconds is less than or equal to the queue's configured ServiceLevelThreshold. Furthermore, if no ServiceLevelThreshold is configured on DimQueue, the formula automatically treats every engaged segment as having met the service level.

Consequently, Service Level Met % divides segments meeting the SLA by Engaged Conversation Segments—not by total segments including abandons. Organizations that enforce strict contract SLAs where abandoned calls must count against service level percentages will need to account for this formula definition and monitor Abandoned Conversation Segments % alongside Short Abandoned % (which compares abandon duration against DimQueue[ShortAbandonedThreshold] to filter out quick misdials).

4. Separating Human Transfers from Bot Handoffs​

In modern contact centers, almost every inbound chat or voice call hits a Copilot Studio agent or IVR bot first. If a bot triage queue transfers a customer to a human queue, is that a problematic transfer? Usually not—that is the intended routing design.

To prevent automated triage from skewing transfer metrics, Microsoft provides two tiers of transfer calculations:

  • Standard Transfer-In / Transfer-Out Counts and Net Transfer: Tracks all inbound segments where SourceQueueId is populated (Transfer-In) or where TargetQueueId is populated / closure reason is ExternalAgentAccept, ExternalAgentReject, ExternalAgentTransfer, or OverflowQueueTransfer (Transfer-Out). Net Transfer subtracts Transfer-Out from Transfer-In to show whether a queue is a net receiver (positive) or net sender (negative) of transferred work.
  • Bot-Excluded Transfer Measures: Microsoft includes dedicated DAX measures—Transfer-in Count (Excl. Bot Transfers) and Transfer-out Count (Excl. Bot Transfers)—that explicitly filter out records where CreationReason or ClosureReason is BotTransferSession or BotOverflowQueueTransfer. This lets supervisors isolate human-to-human misroutes and queue overflows from routine bot escalations.

Summary: Key Analytical Takeaways​

  • Inbound Only: Standard segment measures filter out outbound calls (msdyn_isoutbound = false).
  • Real-Time vs. Historical Wait Maxima: On live dashboards, Longest Segment Wait Time checks CurrentWaitTimeInSeconds against GETUTCDATE() for open/active unended segments. On historical dashboards, it evaluates the maximum FirstWaitTimeInSeconds across engaged segments.
  • Bot Filtering: Use the (Excl. Bot Transfers) measures to prevent automated IVR/bot handoffs from inflating your queue transfer rates.

Practical Impact: What It Fixes—and What It Doesn't​

Microsoft's release documentation frames segment-level tracking as a tool to reduce abandonment, improve SLA accuracy, and optimize workforce planning. From an independent IT and operations perspective, it helps to separate the immediate technical reality from the aspirational business outcomes.

Turning on segment-level metrics does not automatically alter your unified routing rules or magically shrink customer hold times. What it provides is diagnostic attribution. When a customer complains about waiting twenty minutes across three transfers, a supervisor no longer has to guess which team caused the bottleneck. By inspecting segment-level wait times, Average Agent Accept Time, and Net Transfer figures per queue, operations leads can prove whether Queue A misrouted the ticket, Queue B suffered an understaffed overflow, or agents in Queue C let assignments sit unaccepted.

This backend data model also complements Microsoft's broader push into live supervisor wallboards and real-time streaming analytics in Dynamics 365 Contact Center, where team leads filter by period, channel, and queue to reassign conversations or shift cross-trained representatives before a queue backlog spirals out of control.

Actionable Checklist for Dynamics 365 Admins and Analysts​

  1. Audit Queue Threshold Settings: Because InServiceLevel defaults to TRUE when ServiceLevelThreshold is blank—and IsShortAbandoned returns BLANK() when ShortAbandonedThreshold is unconfigured—verify that every active inbound queue in your environment has both thresholds explicitly populated.
  2. Educate Stakeholders on Segment vs. Conversation Counts: Brief contact center managers before they present monthly KPIs to executives. Make sure they understand why summing Total Segments across queues will exceed total inbound conversations whenever transfers occur.
  3. Update Custom Data Lake Pipelines: If your BI team ingests Azure Data Lake CSV exports into custom enterprise data warehouses, look for the FactQueueExtension export and note the _FQE column suffix convention used when joining against DimQueue.
  4. Note the Roadmap Transition: As noted on Microsoft Learn's archived 2026 Wave 1 release plan page (last updated August 27, 2026), Microsoft stopped publishing separate Dynamics 365 release plan pages beginning in September 2026, consolidating future Dynamics 365, Power Platform, and Dataverse feature tracking directly into the unified AI at Work Roadmap. Ensure your admin change-management workflows track the Microsoft 365 Roadmap and Message Center moving forward.
 

References

  1. Dynamics 365 Contact Center: Supervisor experiences - Track segment‑level metrics across queues Microsoft 365 Roadmap 2026-10-16T19:08:52.638381Z
  2. Track segment‑level metrics across queues | Microsoft Learn learn.microsoft.com
  3. Calculate segment-based queue metrics | Microsoft Learn learn.microsoft.com