Architect Flow failing to trigger ServiceNow ticket on Outbound DNC match

Is it possible to configure a specific webhook action within an Architect flow that triggers only when a predictive outbound call hits a Do Not Call (DNC) list match, rather than on every call disposition?

We are currently running Genesys Cloud v24.4 and have an automated process set up to create ServiceNow tickets for compliance reviews whenever an agent attempts to call a number flagged in our internal DNC list. The current setup uses a ‘Call Disposition’ trigger, but this is causing excessive noise in ServiceNow as it fires for every completed call, not just the DNC violations.

The issue is that when we try to filter the webhook action using a condition node that checks for DNC_MATCH in the call data, the webhook payload sent to the ServiceNow REST API endpoint returns a 400 Bad Request. The ServiceNow table expects specific fields like caller_number, agent_id, and dnc_source, but the payload seems to be missing the dnc_source attribute entirely when the condition is met.

Here is the relevant snippet from the Architect flow:

  • Trigger: Call Disposition
  • Condition: Call.Disposition equals DNC_VIOLATION
  • Action: Webhook (POST to ServiceNow Incident table)

The HTTP response from ServiceNow indicates that the dnc_source field is required but null. However, when I inspect the raw webhook payload in the Genesys Cloud logs, the dnc_source field is populated correctly for other dispositions. It seems like the data context is not being passed correctly when the DNC condition is evaluated.

Has anyone successfully mapped DNC violation data to an external system like ServiceNow using Architect webhooks? We are looking for a way to ensure the dnc_source is always included in the payload when the DNC violation condition is true. Any insights on how to structure the JSON body or if there is a known limitation with DNC data in webhook actions would be greatly appreciated.

Check your Architect flow configuration, specifically the conditional branch logic following the DNC lookup action. The issue is likely that the flow proceeds to the webhook action regardless of the match result. You need to explicitly check the dnc_match boolean or status code returned by the lookup.

{
 "condition": "dnc_match == true",
 "action": "webhook",
 "url": "https://your-instance.service-now.com/api/now/table/incident",
 "payload": {
 "short_description": "DNC Violation Attempt",
 "phone_number": "{{contact.phone}}"
 }
}

Ensure the webhook is placed inside the ‘True’ branch of the condition. If the lookup returns a null or empty response, the flow might be defaulting to the next step. Also, verify that the ServiceNow integration credentials in Genesys Cloud are still valid and have the correct permissions for incident creation.

Error: Webhook action failed with status 400. Payload validation error: missing required field ‘phone_number’.

This log indicates the data mapping is incorrect or the variable scope is lost before the webhook executes.