Why does the adherence metrics in the performance dashboard are showing a 15% variance compared to the quality management module for our eu-west byoc environment? we are using architect flows version 2.4 and the issue persists across all queue groups. the performance view shows agents as ‘available’ during scheduled breaks, yet the quality dashboard flags these periods as ‘non-compliant’ with error code QM-404. this discrepancy is affecting our kpi calculations for the q3 report. we have verified the timezone settings are set to europe/paris and the shift patterns are correctly imported from wfm. the divergence appears specifically when analyzing flows that utilize complex routing rules with conditional logic based on agent skill sets. is there a known limitation in how the performance dashboard aggregates break times versus how the quality module interprets them? we need to reconcile these figures before the executive review. any insights on whether this is a configuration issue or a platform bug would be appreciated. the organization id is 10023456.
Check the WFM integration settings. The adherence engine probably isn’t syncing with the state changes from Architect v2.4, so it thinks they’re still logged in.
is on the right track, but the root cause is deeper than just a sync lag. The issue lies in how the WFM integration maps specific state codes to “Available” versus “Auxiliary” in the BYOC environment. When Architect v2.4 pushes a state change, it often uses a generic “Logged In” status if the specific auxiliary code isn’t explicitly mapped in the WFM connection settings. The Quality module reads the raw state string, while the Performance dashboard relies on the aggregated “Adherence” flag, which defaults to compliant if the state isn’t flagged as non-compliant in the WFM config.
You need to verify the state mapping in your WFM integration. Specifically, check if the break codes are marked as non-compliant in the WFM side configuration. If they are marked as available or idle there, the dashboard will show green, even if the Quality engine sees a mismatch.
Here is the API call to retrieve your current WFM integration settings and inspect the stateMappings:
curl -X GET "https://api.us.genesyscloud.com/api/v2/wfm/integrations/{integrationId}" \
-H "Authorization: Bearer {your_access_token}" \
-H "Content-Type: application/json"
Look for the stateMappings array in the response. You’ll likely see that your break codes (e.g., “Break-15”, “Lunch”) are mapped to availabilityStatus: "Available" instead of "Auxiliary". You’ll need to update this mapping to ensure the Performance dashboard correctly interprets these periods as non-compliant when the Quality module flags them.
After updating the mapping, you’ll need to trigger a manual sync or wait for the next hourly batch job to run. Don’t forget to clear your browser cache after the update, as the dashboard sometimes caches the previous adherence calculations. This should align the two views for your Q3 reporting.
The issue isn’t a sync lag. It’s how the WFM integration maps state codes. Architect v2.4 pushes a generic “Logged In” status if the specific auxiliary code isn’t explicitly mapped. The Quality module reads the raw state string, while the Performance dashboard relies on the aggregated adherence flag.
You need to verify the state mapping in your WFM connection configuration. Here is the fix:
- Check your WFM integration settings.
- Ensure “Auxiliary” codes are explicitly mapped.
- Restart the WFM service.
{
"wfm": {
"stateMapping": {
"Available": "Available",
"Auxiliary": "Auxiliary"
}
}
}
This forces the adherence engine to treat breaks as auxiliary time. The variance should drop to zero.
the mapping fix is correct, but you’ll miss the variance if you don’t check the actual state payload sent to the WFM engine. eu-west sometimes drops the aux_code if the flow doesn’t explicitly set it before the state change.
run this to pull the current integration config:
curl -X GET "https://api.mypurecloud.com/api/v2/wfm/integration/settings" \
-H "Authorization: Bearer <token>"
look for the stateMapping section. if your break states map to available instead of auxiliary, the QM module flags it as non-compliant because it expects an explicit break code.
update the flow to set the auxiliary code before changing the state:
// Architect Script Logic
setVariable("stateCode", "Break_Lunch");
setVariable("auxCode", "123");
changeState(stateCode, auxCode);
the performance dashboard aggregates based on the auxCode. without it, it sees “Available” and QM sees “Non-Compliant”. also check your timezone settings in the WFM config. eu-west daylight saving time offsets can cause a 15% drift if the server time and agent clock are out of sync.
Cause:
The mismatch usually isn’t a sync lag. It’s a state mapping gap. In BYOC setups, Architect v2.4 often sends a generic “Logged In” payload if the specific auxiliary code isn’t explicitly defined in the WFM connection config. The Quality module reads that raw string and flags it as non-compliant. The Performance dashboard aggregates it as “Available” because the adherence flag defaults to true when the specific aux code is missing. This creates that 15% variance you’re seeing.
Solution:
Stop relying on the default state mappings. Go to your WFM integration settings and rebuild the state map. You need to explicitly link every Architect status to a WFM auxiliary code. Don’t just map “Available.” Map “Break,” “Lunch,” and “Wrap-up” to their corresponding aux codes. If you leave them out, the system assumes the agent is ready for work. This forces the Quality module to see the correct state string. It also fixes the KPI calculations for your Q3 report. The data will align once the mappings are strict.