We’ve been hitting a wall with our Genesys Cloud to ServiceNow integration. The setup is straightforward: a Data Action triggers on conversation:ended to push ticket data to our SN instance. It worked fine for two months, then started failing intermittently after the last platform update (v10.5.120).
The issue seems specific to nested JSON objects in the payload. If I send flat key-value pairs, the post request to api/globals/now succeeds. As soon as I include the u_additional_info object or the caller_id sub-object, SN returns a 400. The Genesys logs just show HTTP 400 without much detail, which is useless.
I’ve verified the endpoint works directly from Postman using the same payload structure and OAuth token. So the problem isn’t on the ServiceNow side. It looks like the Genesys Data Action is either mangling the JSON serialization or dropping headers required for complex object parsing.
Here’s the error response we’re getting from the Data Action execution log:
{
"status": "error",
"code": "HTTP_400",
"message": "Bad Request",
"response": {
"error": {
"message": "Invalid input for field u_additional_info. Expected object, got string.",
"stack": "TypeError: Cannot read properties of undefined (reading 'notes')"
}
}
}
The payload we’re sending looks valid:
{
"short_description": "Call Failed - Audio Drop",
"u_additional_info": {
"notes": "Customer reported static",
"call_id": "c-12345"
}
}
I’ve tried escaping the quotes, changing the content-type header to application/json explicitly in the Data Action config, and even simplifying the object structure. Nothing works. The Genesys console says the action completed, but the SN record isn’t created.
Anyone else see this behavior with Data Actions pushing to REST APIs that expect nested JSON? Or is there a known limitation with how Genesys serializes complex objects in Data Actions right now?