Need some help troubleshooting... Architect Script Action vs Zendesk Macro Execution Logic

Could use a hand troubleshooting this specific behavior in our migration from Zendesk Support to Genesys Cloud. We are currently rebuilding our agent workflows, specifically trying to replicate the logic of Zendesk’s Macros using Genesys Cloud’s Script Actions within the Architect flow.

In Zendesk, a Macro could dynamically update ticket fields and add comments based on the current ticket state. We are attempting to mirror this by using the Update Interaction action in a Script. The issue arises when the script tries to write to a custom disposition field that was migrated from a Zendesk private note field.

The flow throws a generic validation error: The value provided for field 'disposition_reason' is not valid for the defined data type. The field is configured as a String in Genesys Cloud, matching the source. However, unlike Zendesk, which was quite forgiving with trailing whitespace or null-like strings, Genesys Cloud seems to be rejecting empty strings or specific unicode characters that were present in our legacy data export.

We have verified the data via the API (GET /api/v2/interactions/{interactionId}) and the values look clean. Yet, when the Script Action executes during a live interaction, it fails. Is there a strict character limit or encoding requirement for Script Actions that differs from the standard API?

In Zendesk, we often relied on automated background jobs to sanitize data before display. We assumed the Genesys Cloud Architect would handle similar data normalization, but it appears we need to pre-sanitize in the flow itself.

How are others handling this data integrity gap when moving from Zendesk’s flexible ticket system to Genesys Cloud’s stricter interaction model? Should we be using a Data Action to cleanse the string before passing it to the Update Interaction node, or is there a configuration setting in the Custom Data definition we are missing?

Timezone: CET. Environment: Genesys Cloud Release 24.2. We are using the default Scripting framework.