Set Participant Data action not persisting custom variables in IVR

I’m using the Set Participant Data action in Architect to pass WFM adherence flags to a downstream API. I’m assigning the variable wfm_flag to a value of true, but when I call the external integration, the payload is empty. Here’s the mapping JSON:

{
 "key": "wfm_flag",
 "value": "{{interaction.participant.customAttributes.wfm_flag}}"
}

Is there a specific scope issue I’m missing here?