The Data Action is returning undefined for the mapped field in the success output, even though the external API returns a 200 OK with the correct JSON structure. I am trying to pass a customer ID from the Architect flow to a .NET Web API endpoint to fetch some loyalty points, then map those points back into the Architect conversation context.
Here is the Data Action configuration I have set up:
Request:
- URL:
https://internal-api.company.com/v1/loyalty/{customerId}/points - Method:
GET - Headers:
Authorization: Bearer {{authToken}}
Response Mapping (Success):
- Output Variable:
loyaltyPoints - JSON Path:
$.data.points
The external API response looks like this:
{
"status": "success",
"data": {
"customerId": "12345",
"points": 1500
}
}
In the Architect flow, I am using a Set Data action to capture the result. The variable loyaltyPoints is consistently showing as undefined in the debug logs. I have verified that the {customerId} is being populated correctly before the Data Action runs. If I change the JSON path to $.status, it correctly returns success. This tells me the Data Action is receiving the response body, but it is failing to parse the nested object path correctly.
I have tried variations like $.data["points"] and just $.points without success. The .NET backend is definitely returning application/json. Is there a known issue with nested object mapping in Data Actions? Or is the JSON path syntax stricter than standard JSONPath? I am stuck on why a simple nested field would fail while a root level field works fine.