Is there a specific syntax for mapping a nested array from an external REST API response into a Genesys Cloud Data Action output variable?
We’re pulling user preferences from our backend at https://api.internal.com/v1/preferences. The GET request succeeds with a 200 OK. The response body looks like this:
{
"status": "success",
"user": {
"id": 12345,
"prefs": [
{ "key": "theme", "value": "dark" },
{ "key": "lang", "value": "en" }
]
}
}
I need to extract the theme value. In the Data Action output mapping, I’ve tried setting the variable var.theme to the JSON path $.user.prefs[0].value and also $.user.prefs[key='theme'].value. Both result in the variable being null or empty when I check the session data in Architect.
The Data Action logs show the raw JSON was received correctly, so it’s not a connectivity issue. It feels like the JSON path parser in the Data Action isn’t handling the array indexing or object filtering like standard JMESPath. Are we missing a step in the response transformation, or is there a limitation on how deep we can nest these paths? I’ve checked the documentation but it’s pretty vague on array handling.