Set Participant Data in Architect not persisting custom vars for screen pop

Hey everyone. I’m hitting a weird wall with the Set Participant Data action in Architect. The goal is to pass custom variables from an IVR flow down to the agent desktop for a screen pop. I’ve got the data action configured to set customVars.customerId and customVars.lastOrder.

The flow looks like this:

  1. Gather input.
  2. Call Set Participant Data with the values.
  3. Route to queue.

On the agent side, using the Embeddable Client App SDK, I’m trying to pull these values during the session:connected event. The code looks right to me:

var participantData = await _clientApi.ParticipantApi.GetParticipantDataAsync(participantId);
var customerId = participantData.CustomVars?.CustomerId;

But customerId comes back null every time. I checked the Genesys Cloud UI and the data action is definitely firing. The HTTP response from the internal trace shows a 200 OK, so no obvious error there. I also tried adding a delay after the Set Participant Data action, thinking maybe it’s a race condition, but no luck. Is there a specific format I need to use for the custom vars in the data action mapping? Or maybe the SDK method I’m using isn’t the right one for IVR-to-agent handoff?