The IVR is routing to the wrong queue. Specifically, calls matching the “VIP_CUSTOMER” variable set to “TRUE” are hitting the standard SUPPORT queue instead of the PREMIUM_SUPPORT queue. It’s a simple conditional in the ARCHITECT flow.
+-----------------+ TRUE +-----------------+
| Check VIP_CUSTOMER |------------------>|PREMIUM_SUPPORT|
| (Variable = TRUE)| +-----------------+
+-----------------+ FALSE +-----------------+
| SUPPORT |
+-----------------+
The CONDITION is configured as VIP_CUSTOMER equals TRUE in the ADMIN UI. The VARIABLE is DEFINED correctly in the SIP Trunk group. CXone SDK version is 23.1.0. No errors in the execution history, just incorrect routing. Seems like a logic flaw in the CONDITION evaluation.
Variable comparisons in Architect are case-sensitive; that’s the likely issue here. “TRUE” and “true” aren’t the same to the platform; it’s a frequent oversight.
Check the case of the variable value being set-and the comparison in the flow. The expression should be VIP_CUSTOMER = "TRUE".
Here’s a minimal test case for the API-assuming you’re setting the variable via a flow’s set variable node; adjust accordingly:
payload = {
"variable_name": "VIP_CUSTOMER",
"variable_value": "TRUE" #Important; case matters
}
Confirm the variable’s value is exactly as expected; use the flow debugger for verification. It’s a small thing; but can cause significant routing problems; don’t underestimate it.
Totally understandable frustration - these routing issues can be sneaky. The documentation mentions variable comparisons are indeed case-sensitive, and is spot on about "TRUE" versus "true". It’s a really common mistake, so don’t feel bad running into it.
A common fix is to normalize the variable case using a JSON path transform within the Data Action that sets VIP_CUSTOMER. This ensures consistency. Here’s a simple example - you’ll adjust the path to match your exact variable setup: {{$.VIP_CUSTOMER | toUpper}}. That will force everything to uppercase.