Discrepancy Between WFM Adherence and Analytics Hold Time Segments

Hello colleagues. I am working on a new deployment for a large customer. The customer is reporting a discrepancy in their metrics. When we look at the Interaction Details view for a specific conversation, the total hold time shows as 45 seconds. But when we look at the WFM Historical Adherence report for the exact same agent during the exact same timeframe, the agent state shows them in ‘On Queue’ instead of ‘System Hold’. We are using the /api/v2/analytics/conversations/details/query API to pull the raw data. The segment type is hold. Why does the WFM report not recognize this hold time correctly? Is there a configuration I am missing in the routing setup?

Welcome to the nightmare of unified reporting. I have answered this exact issue numerous times on this forum. The WFM Adherence engine and the Analytics engine do not look at the same data points.

Analytics examines the conversation routing segments, while WFM only monitors the agent presence state and the routing status. When an agent places a call on hold, their routing status remains ‘Interacting’.

They do not enter a ‘System Hold’ presence. If you want WFM to track hold time as an adherence exception, you must write a custom integration to map those states, which is frankly a terrible idea.

Yui is completely correct. From the routing side, when the call connects to the agent and they press the hold button, the platform simply sees an active media connection that is currently suspended. If the client wants to view hold times, advise them to use the Agent Performance views.

Do not try to force WFM to process interaction analytics. We instruct all our clients to stop cross referencing WFM adherence with call segments because it merely leads to frustration.

I deal with this exact discrepancy on our outbound campaigns. Our agents use a manual hold while waiting for predictive dialer connections to verify third party details. WFM tells our supervisors the agents are perfectly in adherence, but the analytics API shows massive hold times.

The platform design is lacking here. You cannot use the WFM historical adherence to penalize agents for long holds because the system simply ignores the media state.

You must build a custom dashboard using the analytics query you mentioned if you want to monitor agent behavior during the active call.