WFM Quality Evaluation Data Action 422 Unprocessable Entity - Missing 'evaluatorId' in ServiceNow Payload

Encountering a 422 Unprocessable Entity error when attempting to push Genesys Cloud WFM Quality evaluation results to a ServiceNow custom table via a Data Action. The Architect flow triggers correctly upon the quality.evaluation.completed event, but the downstream HTTP POST fails validation within ServiceNow.

{
"error": "VALIDATION_ERROR",
"message": "Field 'evaluatorId' is mandatory and cannot be null.",
"details": {
"field": "u_gc_evaluator_id",
"value": null
}
}

Environment:

  • Genesys Cloud: UK East
  • ServiceNow: Washington DC Release
  • Architect Flow: v4
  • Data Action: HTTP POST to api/global/incident

The issue appears to stem from how the evaluatorId is mapped in the Data Action payload. The Genesys Cloud event payload contains the evaluator’s user ID under result.evaluator.id. However, when constructing the JSON body for the ServiceNow REST API, this field is consistently arriving as null or being stripped during the transformation step.

I have verified the following:

  1. The ServiceNow table schema requires u_gc_evaluator_id to be populated. This is confirmed by testing the endpoint directly via Postman with a static JSON body, which succeeds.
  2. The Architect flow captures the quality.evaluation.completed event. The result object is present and populated in the flow’s debug trace.
  3. The Data Action configuration maps {{result.evaluator.id}} to the u_gc_evaluator_id field in the JSON body.

Despite this, the ServiceNow response indicates the field is missing. I suspect there might be a scope issue with the result object within the Data Action context, or perhaps the evaluator field is not directly accessible in the transformation layer for this specific event type.

Has anyone successfully mapped the evaluatorId from a WFM Quality event to a ServiceNow field? Is there a known limitation with accessing nested evaluator objects in Data Actions, or should I be using a different trigger event to capture this data? I am currently considering using a JavaScript step in the Architect flow to explicitly extract and set a flow variable before the Data Action call, but I would prefer a direct mapping if possible.