Skip to main content
When working with arrays in Code actions, you may encounter two common challenges:
  1. Arrays passed as strings — data from external systems or previous steps arrives as a string instead of an actual array
  2. Can’t select individual items — you can only select the entire array, not specific fields within it
Both can be solved with a Code node.

Parsing Arrays from Strings

Arrays are often passed between workflow steps as strings or JSON rather than native arrays. This happens when:
  • Receiving data from external APIs via HTTP Request
  • Processing webhook payloads
  • Passing data between workflow steps
Solution: Add this pattern at the start of your Code action:
The key line typeof users === "string" ? JSON.parse(users) : users checks if the input is a string, parses it if needed, or uses it directly if it’s already an array.

Extracting Individual Fields from Arrays

A webhook might return an array like answers: [...], but in subsequent workflow steps you can only select the entire array — not individual items within it. Solution: Add a Code node to extract specific fields and return them as a structured object:
The Code node returns a structured object instead of an array. In subsequent steps, you can now select individual fields like answer.firstname and answer.name from the variable picker.
Want to loop over the array instead of extracting fields? When a Code or Logic Function step returns a top-level array, you can feed it straight into an Iterator: select the step’s Whole list option as the Iterator’s input, then reference each element with {{iterator.currentItem}} inside the loop. In that case you don’t need to restructure the array into an object.
Click the square icon at the top right of the code editor to display it in full screen — helpful since the default editor width is limited.