The Looping Action in SmartSuite expands your automation possibilities by allowing you to repeat one or more actions for each item in a designated input list. Whether you’re processing multiple records returned by a Find action, iterating over arrays received from a Webhook, or preparing for future integrations like AI outputs, the Looping Action delivers a streamlined way to handle repetitive tasks. By placing these repeated actions inside a dedicated “container” within the new Advanced Logic section, you can build more robust workflows and keep your automation steps organized.
Feature Overview Video
Plan Availability | All plans |
Permissions | Admin, Solution Manager |
Related Reading |
|
What is an Action?
In SmartSuite automations, an action is the "then" part of an automation sequence. It specifies the task performed when a certain event (trigger) occurs and conditions are met. Actions range from simple tasks like updating records to more complex ones like triggering webhooks or syncing data with external systems.
Configuring the Looping Action
The Looping Action allows you to repeat a set of actions for each item in a selected input list—perfect for processing a batch of records returned by a Find Action, iterating over webhook results, or other similar repetitive tasks. Follow the steps below to get started.
1. Access the Advanced Logic Section
Open an existing Automation or create a new one in SmartSuite.
Click + Add Action, then select Advanced Logic from the action picker (if no Looping Action or Conditional Logic group is already in use).
Choose Looping to add a Looping group container to your automation. Remember that:
Only one Looping group can be added to each Automation.
Once added, you cannot add further actions after the Looping group.
2. Specify the Input List
Inside the Looping container, you’ll first configure which list should be iterated by the Looping Action:
Select an “Input List” from the dropdown. This can be:
A Find Action returning multiple records (up to 100 records).
A Webhook Trigger or Action that outputs an array (of simple types or objects).
Additional future sources (AI outputs are coming soon!)
If your selected source (e.g., a Webhook Action or trigger) returns multiple arrays, an additional dropdown appears to let you pick the specific array you want to loop through.
More About Looping Inputs
The following are valid options for the “Input List” for a Loop:
Find action
You can select the output of a Find action, which supports both single and multiple Finds, as the input list. A Find action can return a maximum of 100 records that will be processed by the loop.
Webhook action
If a Webhook action returns a list of simple types or objects (an array), you can use this as the input list for a loop.
Webhook trigger
Webhook triggers that output an array of simple types or an array of objects can be used as an input list.
Note
A top-level array can be the root element or a direct child of the root JSON object. You can select either the entire root array or a nested array within the root object as input. Currently only arrays contained within a root-level object are valid selections; arrays nested within other arrays are not supported.
AI action: (When released) the output of an AI action may also serve as an input list if it is an array type.
3. (Optional) Name Your Looping Group
If desired, provide a custom name for your Looping group in the Group Name field. If left blank, SmartSuite will display a default name in the format:
Repeat for each record in [Selected Input List]
4. Add Actions Inside the Loop
The Looping Action acts as a container for the actions you want to repeat:
Click “+ Add” within the Looping group container in the left sidebar to add actions.
Configure each action as you normally would. You can add up to 10 actions inside one Looping group.
Nested Logic is supported, meaning you can include a Conditional Logic group inside the Looping group (once available). However, you cannot add another Looping group inside it.
Current Item
For each iteration, a special output called “Current item” becomes available. This represents the record or array element for that iteration and can be referenced in subsequent actions.
Use “Current item” references inside your actions to dynamically access fields (if iterating over records) or JSON keys (if iterating over objects).
5. Save & Test
Once your Looping group and actions are configured:
Save your Automation in the top-right corner of the screen.
Test your workflow by running or triggering the automation to ensure the Looping Action correctly iterates over all items in your input list.
Working With Actions Inside a Loop
Once you’ve added a Looping Action and chosen your input list, you can configure and manage the actions that will be repeated for each item in the list. This container-based approach helps you automate repetitive tasks in a structured, intuitive way.
Adding Actions to the Loop
Locate the Looping Container in your automation’s left sidebar.
Click + Add within the container to open the standard action picker.
Select an action to include in the loop (e.g., Create Record, Update Record, Send Webhook, etc.).
Configure your new action just as you would outside a loop—fields, parameters, and so on.
Note: You can add up to 10 actions inside a single Looping group.
Referencing “Current Item”
A special output called “Current Item” becomes available inside any action within the loop. This represents the specific record or array element being processed in that iteration:
Record-Based Inputs (e.g., Find Action)
“Current Item” gives you access to each record’s fields (just like a single record output from a Find Action).Array of Simple Types (e.g., [ "task1", "task2" ])
“Current Item” is simply the value of the current element, such as “task1” or “task2”.Array of Objects (e.g.,
[ { "id": "123", "name": "Alpha" }, … ]
)
“Current Item” lets you reference each object’s keys—“id,” “name,” etc.—similar to how you would access fields in a record.
This makes it easy to customize the behavior of each repeated action, for example by inserting “Current Item” details into a new record or sending a parameterized webhook request.
Reordering or Removing Actions
Each action inside the Looping container is displayed in the left sidebar, where you can:
Drag and drop actions to reorder them (if needed).
Remove unneeded actions by selecting the trash (or equivalent) icon.
The order shown in the sidebar is the order in which actions execute for each item in the loop.
Action Limitations Inside the Loop
Certain actions or “Merge” automation actions may not be available for use inside a Looping group (depending on your SmartSuite configuration).
Ensure that Find Actions (or any action that generates the input list) are placed outside the Looping group if you’re using them as the source for “Current Item” references.
Saving & Testing
Once you’ve added and configured the actions inside your Looping container, click Save or Publish your automation. Testing your automation (manually or via a trigger) will confirm that each item in the input list is processed, and each action in the loop fires in sequence for that item.
Practical Use Cases and Scenarios
The Looping Action unlocks a range of possibilities for tackling repetitive tasks and bulk operations in SmartSuite. Below are some common scenarios where looping can streamline your workflow:
1. Bulk Record Updates from a Find Action
If you’ve used a Find Action to retrieve multiple records (e.g., 50 tasks that need to be marked as “Complete”), you can loop through each record and run an Update Record action to change statuses, assign owners, or modify custom fields—all automatically.
2. Sending Multiple Messages or Notifications
Whether you’re integrating with Microsoft Teams, Slack, or a custom messaging system via Webhook, you might need to send individualized messages or alerts for each item in a list. By looping through the items, you can personalize the message content (using “Current Item” placeholders) and ensure that each recipient or channel gets the right information.
3. Iterating Over Webhook Data
A Webhook response often includes an array of items, such as leads, tasks, or customer details. You can use Looping to:
Parse through each item in the Webhook output.
Create new records in SmartSuite for each item (or only for those meeting specific conditions).
Perform follow-up calls to external APIs using each item’s data.
4. Conditional Workflows for Each Item
When Conditional Logic is available, you can nest a conditional group inside the Looping container to filter, branch, or halt actions based on each item’s data. For instance, you could loop through a list of orders and only send shipping confirmation emails if the order status is “Paid.”