We are trying to pass a complex JSON object from an IVR flow into a subsequent task via the Set Participant Data action. The goal is to enrich the outbound call context with customer tier information pulled from an external REST endpoint earlier in the flow. We have successfully fetched the data using an HTTP GET request and stored it in a flow variable named custProfile. However, when we attempt to map this variable to the data field of the Set Participant Data action, the payload appears to be truncated or lost entirely by the time it reaches the task callback. The JSON structure is roughly { "tier": "gold", "lastLogin": "2023-10-01" }. We are using the standard assign expression syntax within Architect, but the resulting participant data object in the task queue only shows empty fields or null values. It seems the action might have a size limit or a specific formatting requirement that isn’t documented clearly. We’ve tried stringifying the object manually before assignment, but that results in the data being treated as a literal string rather than a structured object in the downstream integration. The flow runs without errors, but the integration webhook receives an empty participantData payload. We are using the latest version of the CX as Code provider to deploy these flow changes, so the JSON structure in the state file matches what we see in the Architect UI. We need to ensure the data persists correctly for the outbound dialer to consume it. The current setup works for simple key-value pairs like name or phone, but fails completely with nested objects. We suspect there might be an issue with how the action handles the serialization of the JSON payload before injecting it into the conversation context. Any insights on the correct way to format this data for the Set Participant Data action would be appreciated. We want to avoid having to make another API call just to retrieve the data that should already be in the flow.