WFM Schedule Adherence Report API returning 500 for CDM agents

Can anyone explain why the adherence endpoint is failing for specific agent groups?

  • Environment: US-East
  • API Version: v2
  • Tool: Postman / Custom Python Script
  • Timezone: America/Chicago

Pulling schedule adherence data via GET /api/v2/analytics/wfm/schedules/adherence works fine for most agents. However, when filtering by a specific schedule group that contains agents on the Contact Center Management (CCM) license model, the API returns a 500 Internal Server Error. The error payload is generic with no specific error code or message.

{
 "message": "Internal Server Error",
 "status": 500
}

This started happening after the latest WFM patch last Tuesday. Directly querying the analytics dashboard UI shows the data correctly, which suggests the backend calculation is fine, but the API serialization is breaking. We are trying to automate our weekly compliance reports and this blockage is critical. Is there a known issue with CCM agent profiles in the adherence export? Or should we be using a different endpoint for this license type?

If I remember correctly…

The 500 error stems from license_type mismatches in the query payload. CCM agents require explicit adherenceType filtering.

params = {
 "adherenceType" = "scheduled"
 "groupIds" = ["cm-uuid"]
}

Validate the scheduleGroupId against the WFM provisioning state first.

The best way to fix this is to ensure the query parameters align with the specific reporting requirements for Contact Center Management licenses, rather than relying on default assumptions. While the suggestion above correctly identifies the adherenceType parameter, it is critical to verify that the scheduleGroupId corresponds to a group explicitly configured for schedule adherence reporting in the WFM provisioning settings. CCM agents often have distinct reporting configurations compared to standard Cloud CX agents, and omitting the explicit adherenceType can cause the backend analytics engine to attempt a calculation path that is not supported for that license type, resulting in the 500 error.

When constructing the payload, ensure the JSON structure strictly follows the v2 API specification for WFM adherence. The groupIds array must contain the correct UUIDs for the schedule groups, not just the agent IDs. Additionally, check if the agents in that specific group have active shifts in the requested time window. If an agent has no scheduled intervals, the adherence calculation may fail if the system expects a baseline schedule to exist.

{
 "scheduleGroupId": "your-schedule-group-uuid",
 "adherenceType": "scheduled",
 "startTime": "2023-10-01T00:00:00Z",
 "endTime": "2023-10-02T00:00:00Z"
}

It is also advisable to cross-reference the agent’s license type in the Admin portal to confirm they are indeed classified under CCM and not a hybrid license that might require different handling. The Performance dashboard often masks these discrepancies by aggregating data differently, but the API is strict about these definitions.

Note: Always verify that the WFM service is fully provisioned for the specific organization unit containing these agents, as partial provisioning can lead to unexpected API failures.