We’re trying to build a custom Data Action in Genesys Cloud Architect that calls an external REST API to fetch customer loyalty points. The external endpoint returns a 200 OK, but the response body contains a nested structure that I can’t seem to map correctly to Architect variables.
The external API response looks like this:
{
"success": true,
"data": {
"customer_id": "12345",
"loyalty": {
"points": 500,
"tier": "Gold"
}
}
}
In the Data Action configuration, I’m using the GET method and passing the customer ID in the query parameters. The authentication is handled via a basic auth header which works fine. The issue is in the “Response Mapping” section. I need to extract the points value into an Architect variable named loyaltyPoints.
I’ve tried using the JSON path $.data.loyalty.points in the mapping field. The documentation says it supports JSONPath, but when I test the interaction, the variable loyaltyPoints remains null. The debug log shows the raw response is received correctly, so the network call is successful.
Here is the JSON path I’m using in the mapping:
$.data.loyalty.points
I also tried flattening the response on the external side, but we don’t control that service. Is there a specific syntax for nested objects in Architect Data Actions? Or is this a known limitation with the JSON parser in the platform?
I’ve checked the error logs and there’s no explicit error code, just the variable being empty. This is blocking our deployment since we need the points value to trigger the right IVR menu.