Skip to main content

Looping with JSON Arrays in SmartSuite

Shape a webhook JSON array, at the root or under one key, so a Looping action can run once for each item.

Written by Peter Novosel

A JSON array is a list, and a Looping action runs its actions once per item in it. The array must be at the root of the payload or directly under one key.

Arrays inside arrays are not supported. If the list you need sits deeper, reshape the payload in the sending system.

Example: a Risk Register table in an Enterprise Risk Management solution. A vendor questionnaire tool sends each assessment as an object with a findings array. The loop reads findings and creates one risk per item.

Plan Availability

All plan types.

Permissions

Administrators, in any solution, and Solution Managers, in the solutions they manage, create and manage automations.

Platform

Web

Related Reading


My loop cannot read the JSON array: check these four things, in order

You need the Administrator role, or the Solution Manager role for the solution, to open History and change the automation.

  1. The automation did not run. History shows no run. See Fix an automation that did not run.

  2. The array's position. The loop reads an array at the root or under one key, not inside another array. See Looping Through Data from Webhook Triggers.

  3. No test payload. Send a test request, select Test Trigger, pick it and select Use this structure. Then build the loop. See Automation Trigger: Webhook.

  4. Several arrays. A second drop-down appears. Pick the array to loop through. See Automation Action: Looping.

Still stuck: select the chat button in the lower-right corner of SmartSuite, then Ask a question. Include the automation link, the time of the request and the response code your system got.


Which array shapes work?

An array at the root. The payload itself is the list:

["SKU-ABC-123", "SKU-DEF-456", "SKU-GHI-789"]

In Webhook response, pick Request Data. Current item is one text value per round, such as SKU-ABC-123. There is no list of keys, because the items are plain values.

An array under one key. The payload is an object, and the list sits under a key:

{ "vendor": "Acme Hosting", "findings": [ {"title": "No SOC 2 report", "severity": "High"}, {"title": "Weak password policy", "severity": "Medium"} ] }

In Webhook response, pick Request Data.findings. Current item is one object per round, with its keys title and severity.


What are the rules?

  • One level: an array at the root or under one key. Arrays inside arrays are not read.

  • Current item follows the item: plain values give the value, objects give their keys.

  • Length: no fixed limit, but a very large array slows the run.

  • Several arrays: the action asks you to pick one.


How do I map the items?

  1. Send a test request to the Request URL, select Test Trigger, pick the request and select Use this structure.

  2. Add Looping, with the trigger in Select List and the array in Webhook response.

  3. Inside the loop, add Create a record and map each key from Current item.

Payload.

Webhook response.

Mapping inside the loop.

A findings array of objects.

Request Data.findings.

Current item > title to Title, Current item > severity to a severity field.

A list of plain emails under new_contacts.

Request Data.new_contacts.

Current item to an Email field.

A root array of IDs.

Request Data.

Current item to a Text field.


Frequently asked questions

The payload has a file URL. How do I store it on a record?

Map Current item, or the key that holds the URL, into a Link or Text field in Create a record. The value is stored as the URL text.

Can the loop read an array inside an array?

No. It reads one level. Reshape the payload so the list sits at the root or under one key.

My payload holds two arrays. Which one does the loop use?

The one you pick. The action shows a second drop-down when it finds more than one array.

Why does Current item show no keys?

The array holds plain values, such as text or numbers. Current item is then the value itself.

Need more help? Ask the SmartSuite Community, where builders, administrators and the SmartSuite team answer questions about building on SmartSuite. For your account, billing or data, select the chat button in the lower-right corner of SmartSuite to reach support.

Last verified 1 Nov 2026.

Did this answer your question?