n8n for Beginners: Looping Over Items - n8n Workflow | Neura Market
n8n for Beginners: Looping Over Items
# N8N for Beginners: Looping Over Items
## Description
This workflow is designed for **n8n beginners** to understand how n8n handles **looping (iteration)** over multiple items. It highlights two key behaviors:
- **Built-In Looping:** By default, most n8n nodes iterate over each item in an input array.
- **Explicit Looping:** The **Loop Over Items** node allows controlled iteration, enabling **custom batch processing** and multi-step workflows.
This workflow demonstrates the difference between processing an **unsplit array of strings (single item)** vs. **a split array (multiple items)**.
---
## Setup
### 1. Input Data
To begin, **paste the following JSON** into the **Manual Trigger** node:
```json
{ "urls": [ "https://www.reddit.com", "https://www.n8n.io/", "https://n8n.io/", "https://supabase.com/", "https://duckduckgo.com/" ] }
```
**Steps to Paste Data:**
- **Double-click** the Manual Trigger node.
- Click **Edit Output** (top-right corner).
- Paste the JSON and **Save**.
- The node **turns purple**, indicating that test data is pinned.
### 2. Click Test Workflow button at the bottom of the canvas
---
## Explanation of the n8n Nodes in the Workflow
| Node Name | Purpose | Documentation Link |
|-----------|---------|--------------------|
| **[Manual Trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualtrigger/)** | Starts the workflow manually and sends test data | [Docs](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualtrigger/) |
| **[Split In](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitin/)** | Converts an array of strings into separate JSON objects | [Docs](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitin/) |
| **[Loop Over Items (Loop Over Items 1)](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/)** | Demonstrates how an **unsplit** array is treated as one item | [Docs](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) |
| **[Loop Over Items (Loop Over Items 2)](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/)** | Iterates over **each item separately** | [Docs](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/) |
| **[Wait](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/)** | Introduces a delay per iteration (set to 1 second) | [Docs](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/) |
| **[Code](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/)** | Adds a constant parameter (`param1`) to each item | [Docs](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/) |
| **[NoOp (Result Nodes)](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.noop/)** | Displays output for inspection | [Docs](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.noop/) |
---
## Execution Details
### 1. How the Workflow Runs
- **Manual Trigger starts execution** with the pasted JSON data.
- The workflow follows **two paths**:
1. **Unsplit Array Path**
- **Loop Over Items 1** - Processes the entire array as **a single item**.
- **Result1 & Result5:** Show that the array was **not split**.
2. **Split Array Path**
- **Split In → Loop Over Items 2** - **Splits** the array into **separate objects**.
- **Result2, Result3, Result4:** Show that each item is processed **individually**.
- A **Wait node (1 sec delay)** demonstrates **controlled execution**.
- Code nodes modify the JSON, adding a parameter (`param1`).
### 2. What You Will See
| Node | Expected Output |
|------|-----------------|
| **Result1 & Result5** | The entire array is processed **as one item**. |
| **Result2, Result3, Result4** | The array is **split and processed** as **individual items**. |
| **Wait Node** | Adds a **1-second delay per item** in **Loop Over Items 2**. |
---
## Use Cases
This workflow is useful for:
- **API Data Processing:** Loop through **API responses** containing arrays.
- **Web Scraping:** Process **multiple URLs** individually.
- **Task Automation:** Execute **a sequence of actions per item**.
- **Workflow Optimization:** Control execution order, delays, and dependencies.
---
## Notes
- Sticky notes are included in the workflow **for easy reference**.
- The **Wait node** is **optional**—remove it for faster execution.
- This template is structured for **beginners** but serves as a **building block** for more advanced automations.
---
Platform
n8n
Category
Data & Analytics
Price
Free
Creator
Dominik Baranowski
code
noOp
wait
splitOut
stickyNote
manualTrigger
splitInBatches
How to import this workflow into n8n
1Purchase or download the workflow to get the n8n workflow JSON file.
2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
3Open each node marked with a credential warning and connect your own accounts and API keys.
4Run the workflow once manually to verify the data flow, then toggle it to Active.