Loop block in Architect failing to process JSON array from Data Action

Hey everyone, I’ve run into a really strange issue with the Loop block in Genesys Cloud Architect when trying to iterate over a JSON array returned from a custom Data Action.

I have a Node.js Express service (v14.21.3) that handles a webhook from Genesys Cloud. It fetches data from an external API and returns a JSON payload. The Data Action in Architect is configured to call this endpoint. The response looks like this:

{
 "statusCode": 200,
 "body": {
 "items": [
 { "id": 1, "name": "Item A" },
 { "id": 2, "name": "Item B" }
 ]
 }
}

In the Data Action configuration, I set the result to body.items. I can see in the Data Action logs that the array is correctly parsed and contains two objects.

However, when I add a Loop block in the IVR flow and set the “List to loop over” to the Data Action result variable, the loop never executes. The flow just skips past the Loop block entirely. If I manually set the loop list to a hardcoded array like [{"id":1}, {"id":2}], the Loop block works perfectly fine.

I’ve tried:

  1. Using body.items as the list source.
  2. Creating a separate variable via an Assign block to copy the Data Action result, then using that variable in the Loop.
  3. Checking the Data Action response mapping to ensure it’s not wrapped in an extra object.

The Loop block documentation says it expects an array of objects. My Data Action is returning exactly that. Is there a specific format required for the array coming from an external REST call in a Data Action for the Loop block to recognize it? Or is there a known issue with how Architect handles dynamic arrays from Data Actions compared to static lists?

Any insights would be appreciated. I’m running this on Genesys Cloud US1 environment.