Hey all,
Seeing odd behavior with Preferred Agent evaluation in a recent Architect flow update - impacting SLA on a high-volume queue. We’ve rolled back, but need to understand what triggered this.
The flow uses preferred agent based on a custom attribute - preferred_agent_skill_id - populated via a Data Action hitting /api/v2/users/{userId}/skills. It’s supposed to prioritize agents skilled in 1234 over others. A/B tests show that prior to the update, this resulted in a ~7% increase in first call resolution compared to standard priority-based routing.
The update involved adding a conditional step after the Preferred Agent evaluation to adjust the agent priority based on available time - aiming to balance workload. This new step uses a simple expression: if(agent.availableTime < 60, 10, 5). Shouldn’t affect Preferred Agent evaluation, right?
It does.
Post-update, agents without skill 1234 are consistently being prioritized, even when preferred agents with the skill are available. The flow’s reporting shows a significant drop in utilization for agents skilled in 1234. We’re seeing SLA violations creep up - around a 4% drop - and the queue handle time has increased.
SDK version is v2.5.0. Architect flow version is rev-42. Region is eu-west-1. The Data Action timeout is configured to 2.0 seconds.
Checked community post #9112 regarding interaction data skew, but that doesn’t seem relevant. The logs show the Preferred Agent evaluation is finding agents with skill 1234, it’s just… not prioritizing them. Not 100% sure but I suspect the conditional logic is somehow interfering with the evaluation order. Worth a shot to look at the evaluation method order in the flow, but the documentation doesn’t clarify if that’s how it works.
Here’s a simplified table showing the pre/post-update agent utilization:
| Skill ID | Pre-Update Utilization (%) | Post-Update Utilization (%) |
|---|---|---|
| 1234 | 68 | 42 |
| 5678 | 32 | 58 |
Anyone else run into unexpected prioritization shifts after adding conditional logic near Preferred Agent evaluations? Or have a better idea of how the evaluation order works in Architect?