Hi all,
Something’s off with a Data Action we’ve got running off the conversation.end event - updating an existing ServiceNow incident. It’s failing with a “Missing Required Field” error, and I’m staring at the payload thinking it’s perfectly fine. The incident form does have ‘Caller’ as a required field, but we’re passing that value.
We’re on Genesys Cloud at 2024.12.0 and the edge BYOC runtime is at 2.1.4. The ServiceNow instance is Quebec release. The Data Action is a POST to /api/now/table/incident/ with authentication handled via Basic Auth - not using OAuth. I’ve checked the credentials a dozen times.
The webhook payload - according to the documentation - should be structured like this for an update:
{
"number": "INC0010001",
"state": "6",
"comments": "Call ended - updated via Genesys Cloud Data Action"
}
That’s what we’re sending - literally copy-pasted from the ServiceNow docs - and it’s still hitting this error. The number field is correct - I’ve validated that. The state field is also valid. I’ve confirmed the incident INC0010001 exists.
I’m digging into the BYOC logs - nothing particularly helpful. It just shows the 400 Bad Request returned from ServiceNow, and the full payload we sent, which again, looks right. It’s not even a BYOC issue, it’s the ServiceNow API itself.
I tried adding the ‘caller_id’ field, even though it shouldn’t be necessary, just to see if it would fix it. No luck. It’s still failing the same way.
The odd thing is - this was working last week. No changes were made to the Data Action itself. No updates to the Architect flow. No changes to the ServiceNow instance. Something just broke. It’s not the usual suspect of missing permissions. The user account has incident update privileges.
I’m thinking it might be something with how the BYOC runtime is encoding or passing the payload, but the logs don’t show any obvious issues. This is a pain.