We’re trying to set up dynamic intent-based routing in NICE CXone using a Cognigy webhook. The goal is to have Cognigy handle the and then pass the detected intent and confidence score back to CXone so we can route the conversation to the right queue or skill group based on the intent.
The issue is that the CXone Architect flow expects a specific JSON structure from the webhook response, but I’m not sure what Cognigy is actually sending back. I’ve got the webhook configured in Cognigy to call the CXone REST API, but when I check the logs, the routing logic isn’t picking up the intent correctly.
Here’s the payload I’m sending from Cognigy to CXone:
{
"intent": "billing_inquiry",
"confidence": 0.92,
"attributes": {
"priority": "high"
}
}
And this is how I’m trying to capture it in the CXone Studio SNIPPET action:
var cognigyResponse = GetRESTProxy().Execute('POST', 'https://api.nicecxone.com/api/v2/conversations/routing', payload);
var intent = cognigyResponse.body.intent;
But intent is coming back as undefined. I’ve tried logging the raw response, and it looks like the body is wrapped in another object or maybe the keys are different. The HTTP status is 200, so the call is succeeding, but the data isn’t mapping correctly.
Has anyone else worked with the Cognigy-CXone integration? I need to know the exact JSON structure that CXone expects for dynamic routing based on intent. Also, is there a specific header I need to include in the webhook request to ensure the payload is parsed correctly?
We’ve been stuck on this for a couple of days, and the documentation is pretty sparse on the exact payload format. Any help would be appreciated.