Outbound Campaign API 500 Error When Injecting ServiceNow Ticket IDs via Dynamic List

Trying to understand the root cause of intermittent HTTP 500 Internal Server Errors when updating outbound contact lists via the Genesys Cloud API.

The environment involves a nightly synchronization process where ServiceNow Data Actions push updated contact records-including a custom field sn_ticket_id-to a Genesys Cloud Dynamic List using the POST /api/v2/outbound/lists/{listId}/contacts endpoint. This list feeds a predictive dialing campaign configured in Architect v2. The payload structure adheres strictly to the documented schema for OutboundContact, with the custom field mapped correctly in the list definition.

The failure is not consistent. Approximately 15% of the batch requests fail with a generic 500 error, while the rest succeed without issue. The specific error response body is:

{
 "errors": [
 {
 "code": "internal_error",
 "message": "An internal error occurred while processing the request.",
 "detail": "Database constraint violation on column 'custom_data_1'"
 }
 ]
}

Given that the sn_ticket_id is a string field and the values being inserted are standard alphanumeric identifiers (e.g., INC0012345678), a constraint violation seems unexpected. I have verified that no null values or excessive lengths are being passed. The ServiceNow side logs show successful webhook dispatch with 200 OK responses from Genesys Cloud before the eventual 500 error is returned on the contact update call itself. This suggests the failure occurs during the asynchronous write operation to the outbound database shard.

is this a known limitation with the Dynamic List API when handling high-concurrency writes from external integrations? Or is there a specific character encoding requirement for custom fields in outbound lists that is not explicitly documented in the Outbound API Reference? I am considering switching to a bulk import file via SFTP if the API route remains unstable, but I would prefer to resolve the webhook-to-list synchronization issue first. Any insights into the internal handling of custom fields in predictive dialing lists would be appreciated.

Trying to understand the root cause of intermittent HTTP 500 Internal Server Errors when updating outbound contact lists via the Genesys Cloud API.

You might want to look at payload validation. The 500 usually means the sn_ticket_id string exceeds the column limit or contains invalid characters for the target schema. Check the dynamic list column definition in Terraform.