Architect Data Action returning null on JSON path mapping

Stuck on a weird issue with a Data Action in Genesys Cloud Architect. I’m calling an external REST API to fetch customer tier info, and the API is definitely responding with a 200 OK. The payload looks clean enough too.

Here is the response body I’m seeing in the logs:

{
 "customerId": "12345",
 "status": "active",
 "tier": {
 "level": "platinum",
 "discount": 0.15
 }
}

In the Data Action configuration, I have the endpoint set up with the correct headers and authentication. The issue is mapping the response back to Architect variables. I’ve tried several JSON path expressions in the “Map response to variables” section, but they keep coming back as null or empty strings during runtime.

I tried using $.tier.level and also just tier.level. Neither works. I even tried wrapping it in an object like {"level": "$.tier.level"} but that just creates a literal string instead of parsing the JSON.

The weird part is that if I map the root customerId using $.customerId, it works perfectly. It’s only the nested object properties that fail. Is there a specific syntax for nested JSON paths in the Data Action mapper that I’m missing? Or is the response payload getting sanitized before the mapping step happens?

I’ve checked the API logs on the external side and the request is hitting the right endpoint with the right customer ID. The timing is fine too, no timeouts. Just can’t seem to crack the nested property mapping. Anyone hit this wall before?