Kembali ke Blog

Tutorial n8n #12: Memproses Banyak Data dengan Loop Over Items

Tutorial praktis memakai Loop Over Items di n8n untuk memproses banyak item secara bertahap, menguji dengan data kecil, dan menerapkan guardrail sebelum produksi.

•
Frendi Triarista
Tutorial n8n #12: Memproses Banyak Data dengan Loop Over Items

Pembuka

Setelah workflow n8n mulai dipakai untuk lead, invoice, tiket, laporan, atau notifikasi, masalah berikutnya biasanya bukan lagi cara menjalankan satu aksi, melainkan cara memproses banyak data dengan aman dan terkontrol.

Secara default, n8n sudah bisa memproses banyak incoming items. Banyak node akan menerima beberapa item, menjalankan operasi untuk setiap item, lalu mengeluarkan hasilnya. Namun, ada situasi ketika kita perlu mengatur proses secara eksplisit, misalnya ingin memproses data satu per satu, membatasi batch agar tidak menabrak rate limit API, atau memastikan workflow baru lanjut setelah semua item selesai.

Di tutorial n8n #12 ini, kita akan memakai node Loop Over Items untuk memproses daftar data secara bertahap.

Hubungan dengan tutorial sebelumnya

Pada tutorial #1 sampai #11, pembaca sudah mempelajari dasar workflow, trigger, mapping data, condition, HTTP Request, webhook, merge, error handling, penyimpanan data, Supabase, dan approval.

Tutorial ini melanjutkan fondasi tersebut. Setelah data bisa diambil, divalidasi, disimpan, atau disetujui, kita perlu pola untuk memproses daftar data tanpa langsung menembakkan semua aksi sekaligus. Loop Over Items membantu workflow bergerak lebih rapi ketika jumlah item mulai banyak.

Problem/setup: kapan Loop Over Items diperlukan

Gunakan Loop Over Items ketika workflow perlu mengulang proses sampai seluruh item selesai diproses. Contoh kasus:

  • Mengambil daftar lead dari CRM, lalu memproses setiap lead satu per satu.
  • Mengecek invoice yang belum dibayar, lalu menyiapkan tindakan lanjutan per invoice.
  • Membaca daftar tiket support, lalu menerapkan routing atau tagging bertahap.
  • Mengambil laporan berkala, lalu mengirim hasilnya ke node lain setelah semua item selesai.
  • Mengontrol pemanggilan API eksternal agar tidak terlalu agresif.

Penting: loop tidak selalu diperlukan. Jika node tujuan sudah otomatis memproses semua item dan tidak ada kebutuhan batch, rate limit, atau kontrol khusus, workflow bisa tetap dibuat linear tanpa Loop Over Items.

Prasyarat

Sebelum mengikuti tutorial ini, pastikan Anda sudah memiliki:

  • Instance n8n yang berjalan.
  • Pemahaman dasar tentang workflow, node, item, expression, dan eksekusi manual.
  • Sumber data yang menghasilkan beberapa item, misalnya HTTP Request ke [API_URL], data dari form, database, spreadsheet, atau node lain dari tutorial sebelumnya.
  • Pemahaman dasar tentang data mapping dan error handling.

Gunakan credential, URL, dan data contoh berbentuk placeholder seperti [API_URL], [REDACTED], atau [email protected]. Jangan memakai data pelanggan asli saat latihan.

Konsep: item, batch, jalur loop, dan output selesai

Di n8n, item bisa dibayangkan seperti satu baris data. Jika sebuah node menerima 10 item, banyak node n8n akan menjalankan operasi untuk 10 item tersebut secara otomatis.

Loop Over Items dipakai ketika kita ingin mengontrol iterasi. Node ini mengambil daftar item, lalu mengeluarkannya dalam batch. Jika Batch Size diatur ke 1, workflow memproses item satu per satu. Jika Batch Size diatur ke 5, workflow memproses 5 item per putaran.

Pola umumnya seperti ini:

  1. Node sumber menghasilkan banyak item.
  2. Loop Over Items menerima semua item.
  3. Jalur loop memproses batch saat ini.
  4. Node terakhir di jalur proses disambungkan kembali ke Loop Over Items agar batch berikutnya diproses.
  5. Output selesai digunakan untuk melanjutkan workflow setelah seluruh item selesai.

Dengan pola ini, kita bisa membedakan proses per item atau per batch dari proses setelah semua data selesai.

Workflow contoh

Kita akan membuat workflow sederhana untuk memproses daftar lead. Tujuannya bukan mengirim email sungguhan, melainkan menyiapkan payload tindakan agar aman untuk latihan.

Struktur workflow:

  1. Manual Trigger
  2. Node sumber data, misalnya HTTP Request ke [API_URL]/leads atau node lain yang menghasilkan beberapa item
  3. Loop Over Items
  4. Node validasi atau IF untuk mengecek field penting
  5. Node pemrosesan, misalnya Edit Fields untuk menyiapkan status dan payload
  6. Koneksi kembali ke Loop Over Items
  7. Output selesai menuju node lanjutan, misalnya penyimpanan log atau ringkasan

Contoh bentuk item lead yang dipakai:

{
  "id": "lead_001",
  "name": "Contoh Lead",
  "email": "[email protected]",
  "status": "new"
}

Jika sumber data Anda berbeda, sesuaikan nama field pada langkah mapping.

Langkah demi langkah konfigurasi

1. Buat workflow baru

Buka n8n, lalu buat workflow baru. Tambahkan Manual Trigger agar workflow bisa diuji secara aman tanpa menunggu event produksi.

Manual Trigger cocok untuk latihan karena Anda bisa menjalankan workflow berkali-kali dengan data kecil.

2. Tambahkan node sumber data

Tambahkan node yang menghasilkan beberapa item. Anda bisa memakai sumber dari tutorial sebelumnya, misalnya:

  • HTTP Request ke [API_URL]/leads
  • Query database yang mengembalikan daftar invoice
  • Data form yang sudah disimpan
  • Spreadsheet berisi daftar tiket atau kontak

Pastikan output node ini berisi lebih dari satu item. Untuk latihan, gunakan 3 sampai 5 item saja.

Contoh field minimum yang disarankan:

  • id
  • name
  • email atau identifier lain
  • status

Jangan langsung memakai ratusan atau ribuan item ketika workflow belum teruji.

3. Tambahkan Loop Over Items

Tambahkan node Loop Over Items setelah node sumber data.

Konfigurasi utama:

  • Batch Size: 1 untuk memproses item satu per satu.
  • Jika sudah stabil, Anda bisa mencoba batch lebih besar, misalnya 5 atau 10, sesuai kapasitas API atau sistem tujuan.

Untuk pemula, Batch Size 1 lebih mudah dipahami karena setiap putaran loop hanya membawa satu item.

4. Tambahkan validasi sederhana

Setelah output loop, tambahkan node IF atau validasi yang mengecek field penting. Misalnya:

  • id tidak kosong
  • email tidak kosong jika workflow akan menyiapkan komunikasi
  • status bernilai new atau pending

Jika item tidak valid, arahkan ke jalur logging atau tandai sebagai skipped. Jika valid, lanjutkan ke node pemrosesan.

Prinsipnya, jangan mengirim item mentah langsung ke sistem eksternal tanpa validasi.

5. Tambahkan node pemrosesan

Tambahkan node pemrosesan sesuai kebutuhan. Untuk latihan aman, gunakan Edit Fields atau node serupa untuk menyiapkan hasil seperti:

  • lead_id dari id
  • action_status menjadi prepared
  • processed_at menggunakan waktu eksekusi
  • note berisi pesan internal, bukan pesan yang dikirim ke pelanggan

Jika Anda ingin menghubungkan ke API eksternal, gunakan placeholder [API_URL] dan credential [REDACTED] saat latihan. Jangan gunakan endpoint produksi sebelum guardrail siap.

6. Sambungkan kembali ke Loop Over Items

Ini bagian penting. Sambungkan output terakhir dari jalur pemrosesan kembali ke node Loop Over Items. Koneksi balik ini memberi tahu workflow untuk mengambil batch berikutnya sampai semua item selesai.

Jika ada jalur valid dan tidak valid, pastikan keduanya ditangani dengan jelas. Anda bisa mengarahkannya ke node logging terlebih dahulu, lalu kembali ke Loop Over Items agar workflow tidak berhenti di tengah daftar.

7. Gunakan output selesai untuk langkah akhir

Dari output selesai Loop Over Items, sambungkan ke node lanjutan. Contohnya:

  • Menyimpan ringkasan ke database
  • Mengirim notifikasi internal bahwa batch selesai
  • Membuat log eksekusi
  • Meneruskan hasil ke workflow approval

Output selesai sebaiknya dipakai untuk tindakan setelah semua item diproses, bukan untuk aksi per item.

Expected result

Jika workflow dikonfigurasi dengan benar, hasil yang diharapkan adalah:

  • Node sumber menghasilkan beberapa item.
  • Loop Over Items memproses item sesuai Batch Size.
  • Dengan Batch Size 1, setiap lead diproses satu per satu.
  • Node validasi hanya meloloskan item yang memenuhi syarat.
  • Node pemrosesan berjalan untuk setiap item atau batch.
  • Setelah semua item selesai, workflow lanjut ke output selesai.
  • Tindakan akhir seperti logging atau notifikasi internal hanya berjalan setelah seluruh daftar selesai.

Gunakan execution view di n8n untuk memeriksa input dan output tiap node. Perhatikan apakah jumlah item masuk, item diproses, dan item selesai sudah sesuai ekspektasi.

Pengujian dengan data kecil

Sebelum memakai data produksi, lakukan pengujian bertahap:

  1. Jalankan workflow dengan 1 item.
  2. Jalankan dengan 3 item.
  3. Tambahkan 1 item tidak valid untuk menguji jalur validasi.
  4. Coba Batch Size 1.
  5. Jika aman, coba Batch Size kecil seperti 5.
  6. Periksa execution log setelah setiap percobaan.

Pengujian kecil membantu menemukan salah mapping, koneksi loop yang keliru, atau aksi yang tidak sengaja berjalan terlalu banyak.

Troubleshooting

Workflow hanya memproses item pertama

Periksa apakah node setelah Loop Over Items sudah disambungkan kembali ke Loop Over Items. Tanpa koneksi balik yang benar, workflow tidak akan mengambil batch berikutnya.

Output selesai tidak pernah berjalan

Periksa apakah jalur loop selalu kembali ke Loop Over Items. Jika ada cabang IF yang berhenti tanpa kembali, loop bisa terputus sebelum selesai.

Item tidak valid ikut diproses

Periksa kondisi pada node IF atau validasi. Pastikan field yang dicek sesuai dengan struktur item dari node sumber.

API eksternal menolak request

Kurangi Batch Size. Jika sistem tujuan memiliki rate limit, jangan memaksa semua item diproses terlalu cepat. Tambahkan mekanisme tunggu, retry, atau pembatasan sesuai kebutuhan sistem tujuan.

Data hasil tidak sesuai

Buka execution view, lalu bandingkan output dari node sumber, Loop Over Items, validasi, dan node pemrosesan. Biasanya masalah berasal dari nama field yang berbeda, expression yang salah, atau asumsi bahwa semua item memiliki struktur sama.

Workflow terasa lambat

Batch Size 1 memang lebih aman untuk pemahaman dan kontrol, tetapi bisa lebih lambat. Setelah validasi dan logging matang, naikkan batch secara bertahap sambil memantau error dan beban sistem tujuan.

Guardrail produksi

Loop membantu mengontrol proses, tetapi bukan jaminan workflow aman untuk produksi. Sebelum digunakan untuk data nyata, terapkan guardrail berikut:

  • Validasi input sebelum item diproses.
  • Gunakan Batch Size proporsional dengan kapasitas API dan database tujuan.
  • Terapkan retry dan error handling untuk kegagalan sementara.
  • Simpan log item yang sukses, gagal, dan dilewati.
  • Gunakan credential dengan prinsip least privilege.
  • Hindari memakai token atau rahasia di field biasa. Gunakan credential n8n.
  • Tambahkan approval sebelum tindakan yang mengubah data penting atau mengirim komunikasi eksternal.
  • Uji dengan subset data sebelum menjalankan seluruh data produksi.
  • Pantau execution history dan error rate setelah workflow aktif.

Detail antarmuka dan nama pengaturan dapat berubah mengikuti versi n8n. Jika tampilan Anda berbeda, gunakan dokumentasi resmi n8n sebagai rujukan utama.

Ringkasan praktik terbaik

Loop Over Items berguna ketika workflow perlu memproses banyak data secara bertahap. n8n memang biasanya memproses incoming items secara otomatis, tetapi loop eksplisit membantu ketika kita membutuhkan kontrol batch, urutan, rate limit, atau langkah akhir setelah semua item selesai.

Untuk pemula, mulai dari Batch Size 1, validasi setiap item, sambungkan jalur proses kembali ke Loop Over Items, lalu gunakan output selesai untuk langkah akhir. Setelah workflow stabil, barulah naikkan batch secara bertahap.

Otomasi yang baik bukan hanya cepat, tetapi juga terukur, bisa diaudit, dan aman ketika terjadi data tidak valid atau API tujuan bermasalah.

Referensi