I’m trying to fine-tune our ‘Predictive Routing’ strategy. We use a Bot Flow to triage all incoming calls and we’ve identified about 15 distinct ‘Intents’ (e.g., ‘Billing Query’, ‘Technical Support’, ‘Retention’).
I want the Predictive Routing engine to use the detected ‘Intent’ as the primary KPI for agent matching. For example, I want it to find an agent who is historically better at ‘Retention’ if that’s what the bot detected.
How do I pass the ‘Intent’ variable from the Bot Flow into the Predictive Routing engine? I’ve set it as a Participant Data attribute, but Predictive Routing doesn’t seem to ‘See’ those attributes for its AI modeling.
You’re right—Predictive Routing doesn’t use standard Participant Data for its real-time matching logic. It relies on ‘Flow Outcomes’ and ‘Skills’.
If you want to influence the AI, you need to map your Intents to specific ‘Flow Outcomes’. Once an Intent is detected, trigger the corresponding Flow Outcome. The Predictive Routing engine uses the ‘Outcome Success’ as its target metric. It will then automatically favor agents who have a higher correlation with ‘Success’ for that specific outcome.
I’ll add that you can also use ‘Bullseye Routing’ as a fallback. If the Predictive Routing engine can’t find a high-probability match within 5 seconds based on the ‘Intent/Outcome’, you can fall back to standard skill-based routing.
One thing I’ve found while contributing to the Python SDK is that you can query the ‘Predictive Routing’ scores via the API (/api/v2/routing/predictive/score) to see exactly how it’s weighting your intents. It’s a great way to validate if the AI is actually learning your business logic or just picking the next available agent.
As an API power user, I’ve automated the ‘Outcome Mapping’ process. We have a script that runs every night, pulls the most frequent ‘Bot Intents’ that led to transfers, and automatically creates corresponding ‘Flow Outcomes’ in Genesys Cloud.
This ensures that as our bot evolves and detects new customer problems, the Predictive Routing engine is automatically updated to start optimizing for those new scenarios. It’s the ultimate ‘Closed Loop’ for routing optimization!