Running into a weird issue with the Genesys Cloud Architect Data Actions. I need to pass a custom variable, customerTier, from an initial IVR menu to a downstream queue routing logic.
I’m using the Set Participant Data action. According to the docs:
“Use this action to set custom data on the participant. This data is available for use in subsequent actions in the flow.”
Here is my JSON configuration for the action:
{
"actionType": "SetParticipantData",
"parameters": {
"data": {
"customerTier": "{{system.userInput.lastInput}}"
}
}
}
The system.userInput.lastInput correctly captures ‘GOLD’ or ‘SILVER’ when I test it in the simulator. The action completes with a 200 OK status (or whatever the internal equivalent is in Architect).
However, when I hit the next action, a Get Participant Data call to retrieve customerTier, it returns null.
{
"actionType": "GetParticipantData",
"parameters": {
"key": "customerTier"
}
}
I’ve checked the scope. I’m not using any external API calls in between. It’s just a simple IVR → Set Data → Get Data → Route.
Is there a delay in propagation? Or do I need to specify a specific scope like conversation vs participant in the JSON? The docs don’t mention a scope parameter for SetParticipantData like they do for some other actions.
Also, I’m triggering this flow via the API for testing using a service account. Could that affect how participant data is stored? The service account has conversation:view and conversation:write scopes.
Any ideas why the data isn’t sticking?