I’m trying to pass a custom variable, campaign_source, from an inbound call into our IVR flow using the Set Participant Data action. The idea is to track where the call originated so we can segment it later in WEM.
I’ve added the action in Architect right after the call connects. Here’s the configuration:
Action: Set Participant Data
Key: campaign_source
Value: {{trigger.campaign_name}}
I’ve also added a Debug action immediately after to log the value, and it shows up correctly in the Architect logs. The value is definitely being set at that point in the flow.
The problem is when the call routes to the IVR node, the variable seems to disappear. I’m using a standard IVR flow that expects this data to be available. I’ve checked the IVR configuration, and I have the “Allow participant data” checkbox enabled. I’m also using the Get Participant Data action at the start of the IVR to retrieve the value, but it’s coming back as null or empty every time.
Here’s the JSON snippet from the Get Participant Data action in the IVR:
{
"key": "campaign_source"
}
I’ve tried restarting the IVR flow and even redeploying the Architect flow, but nothing changes. I’m wondering if there’s a specific setting I’m missing in the routing configuration or if the Set Participant Data action has some limitations I’m not aware of.
I’m also using the Genesys Cloud API to pull some of this data later, so I need it to be reliable. Any ideas on why the variable isn’t persisting through the IVR transition? I’ve been stuck on this for a couple of days now.