Set Participant Data action dropping custom vars before IVR prompt

I’m trying to pass a trace_id from an upstream webhook into the IVR flow using the Set Participant Data action in Architect. The goal is to keep the OpenTelemetry context alive while the user navigates the menu.

Here is the JSON mapping I’m using in the Data Action:

{
 "participantId": "{{conversation.participantId}}",
 "data": {
 "otel_trace_id": "{{webhook.body.traceId}}"
 }
}

The action reports success, but when I hit the next prompt block, the variable {{conversation.participantData.otel_trace_id}} is empty. I’ve verified the webhook payload contains the ID. Is there a delay in propagation? Or do I need to use a specific scope?

I’m also seeing a 400 Bad Request if I try to set nested objects, only flat key-values work. This feels like a bug in the context injection layer for IVR flows.