NICE Cognigy webhook payload missing custom attributes in CXone routing data

We’re trying to route calls from a NICE Cognigy bot directly into a CXone queue based on the intent confidence score. The idea is to have Cognigy POST to a CXone webhook endpoint that triggers a specific routing action.

I’ve set up the webhook in CXone to accept the POST, but the payload coming from Cognigy seems to be stripping out the custom attributes I’m trying to pass for dynamic routing. Here’s the JSON structure Cognigy is sending:

{
 "intent": "billing_support",
 "confidence": 0.92,
 "customData": {
 "priority": "high",
 "accountTier": "gold"
 }
}

On the CXone side, I’m using the Architect Data Action to map this incoming data. The mapping looks like this:

{
 "routing": {
 "queueId": "{{trigger.data.customData.accountTier === 'gold' ? 'gold_queue_id' : 'standard_queue_id'}}"
 }
}

The issue is that trigger.data.customData is coming back as undefined. The basic intent and confidence fields are visible, but anything nested under customData is gone. I’ve verified the Cognigy side is definitely sending it, and the network trace shows the full payload arriving at the CXone webhook endpoint.

I’ve tried:

  1. Flattening the JSON object on the Cognigy side before sending.
  2. Using a different webhook endpoint in CXone that logs raw data.
  3. Checking if there’s a size limit on the webhook payload (it’s well under 10KB).

Is there a specific configuration in CXone webhooks that blocks nested objects? Or is this a known limitation with how Cognigy formats outgoing webhooks to CXone? I’m stuck on why the nested data is disappearing.