Can anyone clarify the correct schema structure for passing complex nested objects from a Genesys Cloud Data Action to a ServiceNow REST API endpoint? We are currently deploying a ticket automation flow that triggers upon specific IVR menu selections. The Data Action is configured to hit the /api/now/table/incident endpoint, but it consistently returns a 400 Bad Request with the message “Invalid JSON format” when the work_notes field contains a nested array of interaction logs.
The payload construction within the Data Action looks structurally sound based on the ServiceNow documentation, yet the serialization seems to break during the transmission from the GC environment. The request body being sent is:
{
"short_description": "IVR Route: Billing Inquiry",
"caller_id": "{{contact.email}}",
"work_notes": [
{
"timestamp": "{{flow.trigger.timestamp}}",
"action": "Routing to Billing Queue"
}
]
}
Interestingly, if we flatten the work_notes into a simple string concatenation, the 400 error disappears and the ticket creates successfully. This suggests the issue lies specifically in how the Data Action serializes the array object before the HTTP POST request is executed. We have verified that the ServiceNow table field type is correctly set to Multiple Lines and accepts JSON strings, so the backend schema is not the bottleneck.
Is there a known limitation in the Genesys Cloud Data Action connector regarding nested JSON serialization for ServiceNow targets? Or should we be implementing a custom transformation step within the Architect flow prior to invoking the Data Action to ensure the payload is strictly stringified? The standard webhook payload format works for simple key-value pairs, but this nested structure is failing validation on the GC side before it even reaches the ServiceNow instance. We need a reliable method to pass structured interaction history without resorting to manual string manipulation in the flow logic.