Predictive Routing ignoring WFM adherence scores

Configuration is broken for some reason… The Predictive Routing queue is distributing calls evenly instead of weighting them by agent efficiency. We are on the latest Genesys Cloud version, and the WFM adherence data is definitely syncing, but the routing strategy seems to be completely blind to it. Anyone know if there is a specific delay in the score propagation?

If I remember correctly, this isn’t necessarily a propagation delay issue but rather a configuration mismatch in how the routing strategy interprets the WFM data. When running load tests against the Platform API, I’ve noticed that if the WFM adherence metrics aren’t explicitly mapped to the skill-based routing weights, the system defaults to a round-robin distribution. It’s easy to miss this during high-concurrency scenarios because the API responses look successful even when the underlying logic is bypassing your custom rules.

Try verifying the routing strategy configuration directly via the API. You can fetch the current strategy using a GET request to /api/v2/routing/routingrules/{ruleId}. Look specifically for the weights object within the strategy definition. If it’s missing or set to 1.0 for all agents, the adherence scores are being ignored.

Here’s what to check:

  • Ensure the WFM adherence data is being pushed to the correct custom attributes on the agent profile.
  • Update the routing rule to explicitly reference these attributes in the weighting formula.
  • Test with a small batch of 10 concurrent calls using JMeter to isolate the routing logic before scaling up.
{
 "strategy": "skillBased",
 "weights": {
 "attribute": "wfm_adherence_score",
 "mode": "dynamic"
 }
}

I’ve seen this happen in the Asia/Singapore region where the WFM sync latency can sometimes cause temporary inconsistencies, but the root cause is usually the static weight definition. If you’re still seeing even distribution after adjusting the weights, check the WFM integration logs for any failed sync attempts. Sometimes the data is there, but the format doesn’t match what the routing engine expects.