Architect Data Action failing with 400 when mapping nested JSON array to variables

I’m trying to build a custom Data Action in Genesys Cloud Architect to fetch customer loyalty data from our external REST endpoint. The flow is simple enough. Call the external API, get the JSON response, and map specific fields to Architect variables for later use in the flow.

The external API returns a JSON payload that looks like this:

{
 "customerId": "12345",
 "status": "active",
 "tiers": [
 {
 "name": "Gold",
 "points": 5000
 }
 ]
}

In the Data Action configuration, I have set the HTTP method to GET and the URL to https://api.mystore.com/v1/loyalty/{customerId}. The customerId is passed in as a parameter from the flow. The request itself works fine. I can see the 200 OK response in the logs with the correct data.

The problem is the mapping. I want to extract the name from the first element of the tiers array. In the response mapping section, I tried using the expression $.tiers[0].name to map to the variable {{CustomerTierName}}. When I run the flow, the Data Action fails with a 400 Bad Request error. The error message in the execution history just says “Invalid mapping expression”.

I’ve tried a few variations. I tried $.tiers.name but that doesn’t work because it’s an array. I also tried creating a separate variable for the whole array and then using a subsequent step to parse it, but that seems overly complicated for something that should be straightforward. I know the Embeddable Client App SDK handles JSON parsing easily with JavaScript, but I’m stuck in the Architect UI here.

Is there a specific syntax required for array indexing in Architect Data Action mappings? I’ve read the documentation on JSONPath, but the examples only show flat objects. The flow is critical for our current sprint, so any help would be appreciated. I’m on the West Coast, so if anyone is awake, that would be great. Otherwise, I’ll check back tomorrow. I really need this to work without writing a custom script.