Skip to main content

Looping Through Data from Webhook Actions

Peter Novosel avatar
Written by Peter Novosel
Updated over a week ago

The Looping action in SmartSuite allows you to repeat a set of actions for each item in a provided list. A powerful capability of the Looping action is its ability to process data received from Webhook actions or Webhook triggers. This enables advanced automation workflows where data retrieved from external systems can be iterated over to perform specific tasks for each item.

Plan Availability

All plan types

Permissions

Solution Creators – Can create, modify, and manage automation in the Solutions they manage.

Related Reading

Looping actions in SmartSuite allow you to automate repetitive tasks for each item in a list—especially when working with data from Webhook actions or triggers. This makes it easy to process external data, like orders, user info, or project tasks, directly in SmartSuite.


🔁 What Is a Looping Action?

A Looping Action repeats a set of actions for every item in a list (array). When used with Webhooks, it lets you iterate through data retrieved from external systems—like APIs—and do something useful for each entry, like creating records or updating fields.


🔗 Using Webhook Output in a Loop

You can loop through data received from:

  • A Webhook Action (available now)

  • A Webhook Trigger (coming soon)

How to Set It Up

  1. In your automation workflow, choose Looping as your action.

  2. Under Input List, select the output from your Webhook.

    • If the Webhook returns multiple arrays, an additional dropdown will appear.

  3. Choose the specific array you want to loop through.

💡 SmartSuite doesn't limit the size of the array received from a webhook.


🔎 Understanding the "Current Item" in a Loop

Inside the Looping action, you get access to a special value: Current item. This represents the item being processed in each loop.

If the array contains simple types (like text or numbers):

  • "Current item" is just the value.

  • No dropdown is needed.

Example:
For the array ["apple", "banana"],
Iteration 1: Current item = "apple"
Iteration 2: Current item = "banana"


If the array contains objects (like JSON records):

  • "Current item" becomes an object.

  • A dropdown lets you access specific keys like Current item > id, Current item > name.

Example:
For the array [{"id": "123", "status": "pending"}]
You can access:

  • Current item > id → "123"

  • Current item > status → "pending"


📦 Example: Creating Records from Webhook Orders

Scenario:

A webhook sends a list of new orders in this format:

jsonCopyEdit[ {"orderId": "ORD001", "product": "Laptop", "quantity": 1}, {"orderId": "ORD002", "product": "Mouse", "quantity": 2} ]

Workflow:

  1. Trigger: When a webhook is received

  2. Action 1: Loop through the array

  3. Action 2 (Inside Loop): Create a record in the "Orders" table

    • Map:

      • Order IDCurrent item > orderId

      • ProductCurrent item > product

      • QuantityCurrent item > quantity

✅ Result: Each order is added to your Orders table automatically.


📘 More Use Cases

1. Processing Regulatory Data Feed

Department: GRC / Operations
Scenario: Retrieve a regulatory data list via webhook, then create records.

Workflow:

  • Trigger: At a scheduled time

  • Action 1: Webhook request to get auth token

  • Action 2: Webhook request for data

  • Action 3: Loop through returned array

  • Action 4: Create a record in "Regulatory Data" for each item

    • Map fields like Title, Summary, and Agency using Current item > values


2. Task Templating for Selected Projects

Department: Project Management / Operations
Scenario: Automatically generate tasks when a project is created.

Workflow:

  • Trigger: When a project is created/updated

  • Action 1: Find matching project templates

  • Action 2: Loop through each project template

  • Action 3 (Inside Loop): Find related task templates

  • Action 4 (Inside Loop): Loop through each task template

  • Action 5: Create a task from the template

    • Link to project

    • Use data from the "Current item"

⚠️ Only one level of nesting is currently supported.


3. Updating Orders with Customer Care Info

Department: CRM / Sales
Scenario: Daily update of "Not delivered" orders with their care rep.

Workflow:

  • Trigger: Daily schedule

  • Action 1: Find all "Not delivered" orders

  • Action 2: Loop through orders

  • Action 3 (Inside Loop): Find care rep based on Sales Region

  • Action 4: Update the order with care rep info


🧠 Final Thoughts

Looping through webhook data unlocks advanced automation power. Whether you're syncing data, building dynamic templates, or managing records from APIs, Looping + Webhooks = seamless, scalable automation.

Did this answer your question?