Data Action output mapping undefined despite 200 OK response

Why is the success output variable coming back as undefined when the HTTP call clearly returns a 200? I’m building a Data Action in Genesys Architect to fetch user attributes from our internal CRM. The request part works fine. I’m passing the userId from the interaction data into the path variable. The CRM endpoint responds with a standard JSON object. I can see the body in the debug logs. It looks like this:

{
 "id": "12345",
 "name": "Jane Doe",
 "tier": "Gold"
}

I’ve set up the output mapping in the Data Action definition. I’m trying to map the name field from the response body to a variable called customerName. In the mapping JSON, I have:

{
 "customerName": "$.name"
}

Or maybe "$.body.name"? I’ve tried both. The documentation is vague on whether the path starts at the root of the raw HTTP response or inside the body object. When I test the Data Action in the Architect simulator, the status is SUCCESS. But when I check the output variables, customerName is empty. The statusCode variable is populated correctly with 200. I’m staring at this for two hours. It feels like a simple path syntax error, but I can’t find an example that shows exactly how the JSON pointer works for external REST calls in Genesys. Is it strict JSONPath? Is it dot notation? I tried $.result.name too since some webhooks wrap the data. Nothing works. The variable just stays undefined. I need to pass this to a downstream task, but without the data, the flow fails. Can someone show me the exact JSON structure for the output mapping when the response is a simple object? I’m probably missing a nested layer or using the wrong prefix. It’s annoying because the call itself is fine. The error is just silent failure in the mapping. No error code, just null data. I’ve checked the CORS settings on the CRM side too, but that wouldn’t cause a mapping issue if the call succeeds. It has to be the path syntax. I’m out of ideas.