NICE Cognigy Webhook Payload Structure for Dynamic Intent Routing in CXone

We’re hitting a wall trying to pass dynamic intent data from a NICE Cognigy bot into a CXone Architect flow via a webhook. The goal is to route based on the detected intent, but the CXone side keeps dropping the context.

Here’s the JSON payload Cognigy is sending:

{
 "userId": "usr_123",
 "conversationId": "conv_456",
 "detectedIntent": "billing_issue",
 "otelTraceId": "abc123def456"
}

In CXone Architect, we’re using a Data Action to parse this. The issue seems to be that the detectedIntent field isn’t mapping correctly to the routing rules. We’re getting a generic 400 Bad Request when the Data Action tries to process the webhook response, with the error message Invalid routing parameter.

Is there a specific structure or header requirement for Cognigy webhooks to play nice with CXone’s dynamic routing? We’ve tried wrapping the payload in a data object, but no luck. Also, how do we ensure the otelTraceId survives the hop into the CXone conversation attributes for tracing?