NICE Cognigy webhook payload mapping issue with CXone dynamic routing

Running into a wall trying to map Cognigy webhook payloads to NICE CXone’s dynamic intent-based routing. We’ve got an Android app using the GC Web Messaging SDK that pushes conversation context to Cognigy, which then needs to route back to CXone based on the detected intent.

The issue is that the JSON payload coming from Cognigy doesn’t seem to match the schema CXone expects for the routingData field. I’m sending this via a POST to our internal service which then hits the CXone API, but the routing fails silently. The call just goes to the default queue.

Here’s the payload structure we’re sending:

{
 "intent": "billing_issue",
 "confidence": 0.92,
 "attributes": {
 "user_id": "android_usr_8821",
 "session_token": "xyz_123"
 }
}

I’m trying to map this to the CXone routingData in the Architect flow, but the intent field isn’t being picked up. I’ve checked the webhook logs in CXone and the status is 200, but the data isn’t persisting to the participant attributes.

Is there a specific format required for the Cognigy-to-CXone handoff? I’m using the standard REST proxy in Studio to fetch the routing data, but it keeps returning null for the intent.

Also, should I be using the conversationId from the initial SDK connection or generating a new one? The docs are vague on this part.

Any pointers on the exact JSON structure CXone expects would be helpful. I’m stuck on this mapping step.