Hi all,
So - we’re seeing some really odd behavior with activity points in Workforce Engagement - specifically how they’re calculating towards the new agent gamification leaderboard. It’s throwing a wrench into the agent training plan for Q3, because the entire point was to incentivize call handle time reduction, but the scoring seems…off. We’ve had multiple agents reporting their scores aren’t reflecting their actual work.
The points are supposed to be awarded based on a combination of handle time, after-call work, and adherence - all pulling data from the historical reports. I checked the historical data, and the numbers look correct, but when you compare that to the points displayed in the leaderboard, it doesn’t match. It’s like some of the weighting is messed up. I’ve tried rebuilding the leaderboard config, but no luck.
It started after the latest platform update - the one that supposedly improved the activity point algorithm. Great timing, honestly. The stakeholders are already asking about the adoption metrics, and the gamification aspect was supposed to be a big win for engagement. I’m getting requests to just disable the leaderboard, but I’m trying to avoid that as a last resort.
Here’s a sample of the API response I’m getting when I try to pull the leaderboard data via the best points endpoint. The “points” value is consistently inflated compared to what we’d expect based on the historical data.
The historical report shows Agent Smith should have around 1400 points, not 1850. The weighting is definitely off. Anyone else seeing this? I’m looking for any quick fixes before I have to explain this to the leadership team. We’ve already delayed the training by a week due to this.
It sounds like you’re running into a common issue with activity point calculations - it’s easy to miss a configuration detail. Here are a few things to check, building on what’s already been suggested:
Review the Gamification Rule Sets: Confirm the weights assigned to each metric - handle time, for example - are what you expect. A mismatch between the intent and the actual rule settings is a frequent cause of this.
Check Interaction Attribute Mapping: Ensure the activity points are mapped correctly to the interaction attributes you’re using for the leaderboard. The documentation details the valid attributes for point assignment - it’s under Workforce Engagement > Gamification in the Resource Center.
Examine the Agent Statuses: Certain agent statuses might not contribute to activity points. Verify that the statuses your agents are using during calls are included in the calculation.
Consider Real-Time Adherence: Activity points often rely on accurate real-time adherence data. If there are discrepancies there, point calculations will be off. We ran into something similar last quarter - it turned out there was a synchronization issue between the agent’s schedule and their status.
Check for Feature Flags: There have been some changes around gamification in the last few releases. Confirm you haven’t missed an enablement step.
ok so the gamification ruleset weightings → points aren’t syncing with the actual metrics. we’ve seen this when the activity point configuration pulls data from a stale replica → double-check the api endpoint being queried for metrics. it’s probably not a code issue, but a caching thing.
genesyscloud-client-app-sdk’s WEM integration - activity points often lag if the interaction attributes aren’t flowing correctly. Double-check the attribute mapping in Architect. Something like: if interaction.attribute['call.duration'] > 0 then points = call.duration * weighting. It’s easy to miss a case sensitivity issue there.
If call.duration isn’t consistently populated at the interaction level, the entire chain breaks.
We’ve seen this when the CTI adapter isn’t configured to pass custom interaction attributes. Verify the CTI integration itself - specifically the field mappings. The documentation doesn’t highlight this enough.
Here’s a snippet for checking the attribute on the interaction object in a data action (assuming you’re using JavaScript):
if (interaction && interaction.attributes && interaction.attributes['call.duration']) {
let duration = interaction.attributes['call.duration'];
// proceed with point calculation
console.log("Call duration found:", duration);
} else {
console.warn("Call duration attribute missing!");
}
A missing attribute doesn’t throw an error - it just results in a null or undefined value being used in the calculation. That’s where the scores get skewed. -1 to assuming a simple calculation error. It’s usually data.