Home / Artikel / Automation & n8n
Automation & n8n

Workflow n8n Makin Panjang? Pecah Menjadi Sub-workflow agar Mudah Dirawat

Workflow n8n yang awalnya sederhana bisa berubah menjadi kanvas panjang dengan banyak cabang, kredensial, dan logika yang sulit dilacak. Sub-workflow membantu memecah proses besar menjadi bagian-bagian kecil yang lebih…

Workflow n8n Makin Panjang? Pecah Menjadi Sub-workflow agar Mudah Dirawat

Workflow n8n biasanya tidak menjadi rumit dalam satu malam. Ia tumbuh sedikit demi sedikit: satu node untuk mengambil data, satu cabang untuk memeriksa kondisi, beberapa langkah untuk mengubah format, lalu tambahan notifikasi ketika proses selesai. Beberapa minggu kemudian, alurnya sudah memanjang dan sulit dipahami oleh orang lain—bahkan oleh pembuatnya sendiri.

Salah satu cara mengatasi masalah ini adalah memakai sub-workflow. Sederhananya, sub-workflow adalah workflow kecil yang dipanggil oleh workflow utama untuk mengerjakan satu bagian tertentu. Di n8n, pola ini dijalankan menggunakan node Execute Sub-workflow dan Execute Sub-workflow Trigger.

Manfaatnya bukan sekadar membuat tampilan canvas lebih rapi. Struktur yang terpisah membuat proses lebih mudah diuji, dipakai ulang, dan diperbaiki ketika kebutuhan berubah.

Kapan workflow perlu dipecah?

Tidak semua workflow harus langsung dibuat menjadi banyak bagian. Memecah proses terlalu cepat juga bisa membuat hubungan antarsub-workflow sulit diikuti. Namun, ada beberapa tanda bahwa workflow mulai membutuhkan struktur baru.

  • Satu workflow memiliki banyak cabang dengan tujuan yang berbeda.
  • Bagian tertentu, seperti normalisasi data atau pengiriman notifikasi, dipakai oleh beberapa workflow.
  • Anda harus menggulir jauh untuk memahami alur dari trigger hingga hasil akhir.
  • Satu perubahan kecil berisiko memengaruhi banyak bagian yang tidak berkaitan.
  • Tim lain perlu menggunakan sebagian logika tanpa menyalin seluruh workflow.

Contohnya, sebuah bisnis menerima pesanan dari formulir, marketplace, dan WhatsApp. Ketiga sumber itu memiliki format data berbeda. Daripada masing-masing workflow mengulang logika yang sama untuk membersihkan nama pelanggan, nomor telepon, dan alamat, proses normalisasi dapat ditempatkan dalam satu sub-workflow.

Bedakan workflow utama dan sub-workflow

Workflow utama sebaiknya berperan sebagai pengatur urutan proses. Ia menerima pemicu, memanggil bagian-bagian yang diperlukan, lalu menentukan apa yang dilakukan setelah hasilnya kembali.

Sementara itu, sub-workflow sebaiknya memiliki tanggung jawab yang jelas. Misalnya:

  • Normalize Customer Data: menyamakan format nama, email, dan nomor telepon.
  • Create Invoice: membuat invoice berdasarkan data pesanan.
  • Send Internal Notification: mengirim pemberitahuan ke Slack, email, atau WhatsApp.
  • Build Daily Report: menggabungkan data menjadi laporan harian.

Jika nama sub-workflow dapat dijelaskan dalam satu kalimat, biasanya batas tanggung jawabnya cukup jelas. Sebaliknya, nama seperti “Process Everything” adalah tanda bahwa isinya mungkin masih terlalu besar.

Cara membuat sub-workflow di n8n

  1. Buat workflow baru. Workflow ini akan menjadi komponen yang dipanggil dari workflow utama.
  2. Tambahkan Execute Sub-workflow Trigger. Node ini menjadi titik masuk ketika workflow dipanggil oleh workflow lain.
  3. Tentukan input. Anda dapat mendefinisikan nama field dan tipe data, memberikan contoh JSON, atau menerima semua data tanpa struktur tetap.
  4. Bangun logika di dalamnya. Tambahkan node yang hanya berkaitan dengan tugas sub-workflow tersebut.
  5. Simpan dan uji secara terpisah. Pastikan input, hasil, dan perilaku ketika data kosong sudah dipahami.
  6. Panggil dari workflow utama. Tambahkan node Execute Sub-workflow, pilih workflow tujuan, lalu petakan nilai input yang dibutuhkan.

Dokumentasi n8n menjelaskan bahwa input yang sudah didefinisikan pada trigger dapat muncul secara otomatis di node pemanggil. Ini lebih aman dibanding membiarkan setiap pemanggil menebak-nebak struktur data yang diperlukan.

Gunakan kontrak input dan output

Sub-workflow akan lebih mudah dirawat jika memiliki “kontrak” sederhana: data apa yang harus diterima dan data apa yang akan dikembalikan.

Misalnya, sub-workflow normalisasi pelanggan menerima:

{
  "name": "  Siti Rahma ",
  "phone": "08123456789",
  "email": "SITI@EXAMPLE.COM"
}

Lalu mengembalikan:

{
  "name": "Siti Rahma",
  "phone": "+628123456789",
  "email": "siti@example.com",
  "isValid": true
}

Format seperti ini membantu pemanggil memahami hasil tanpa perlu membuka seluruh isi sub-workflow. Jika struktur output berubah, workflow yang bergantung padanya juga dapat diperiksa dengan lebih mudah.

Hindari mengirim seluruh data mentah jika sub-workflow hanya membutuhkan tiga field. Data yang terlalu besar membuat alur lebih sulit dipahami dan dapat meningkatkan risiko informasi sensitif ikut berpindah ke bagian yang tidak membutuhkannya.

Pilih mode eksekusi dengan hati-hati

Node Execute Sub-workflow menyediakan pilihan untuk menjalankan sub-workflow sekali dengan seluruh item atau sekali untuk setiap item. Pilihan ini memengaruhi biaya proses dan hasil akhirnya.

Gunakan mode sekali dengan seluruh item jika sub-workflow perlu melihat kumpulan data, misalnya ketika membuat ringkasan dari banyak transaksi. Gunakan mode sekali per item jika setiap baris harus diproses secara mandiri, misalnya mengirim satu notifikasi untuk setiap pelanggan.

n8n juga menyediakan opsi untuk menunggu sub-workflow selesai sebelum workflow utama melanjutkan proses. Aktifkan pilihan ini jika hasil sub-workflow diperlukan pada langkah berikutnya. Sebaliknya, jika hanya mengirim pencatatan atau notifikasi yang tidak memengaruhi hasil utama, proses dapat dirancang agar workflow utama tidak perlu menunggu.

Jangan menyembunyikan kompleksitas baru

Sub-workflow bukan solusi untuk semua masalah. Ia dapat membuat workflow utama lebih rapi, tetapi menambah hubungan antarworkflow. Jika terlalu banyak lapisan dibuat, Anda mungkin harus membuka beberapa workflow hanya untuk memahami satu proses.

Karena itu, gunakan beberapa kebiasaan berikut:

  • Beri nama workflow dengan pola yang konsisten.
  • Jelaskan input dan output pada catatan workflow.
  • Hindari sub-workflow yang hanya berisi satu node sederhana, kecuali memang akan dipakai ulang.
  • Batasi kedalaman pemanggilan agar alur tidak menjadi seperti rantai yang sulit dilacak.
  • Uji sub-workflow dengan data kosong, data tidak lengkap, dan data yang tidak sesuai tipe.
  • Pastikan workflow yang dipanggil tidak memiliki error konfigurasi sebelum digunakan dari workflow utama.

n8n menyediakan tautan untuk melihat eksekusi sub-workflow dari workflow utama, dan sebaliknya. Fitur ini berguna saat mencari tahu apakah masalah terjadi sebelum pemanggilan, di dalam sub-workflow, atau ketika hasil dikembalikan.

Apa artinya bagi kita?

Memecah workflow bukan sekadar pekerjaan merapikan canvas. Ini adalah cara membuat otomatisasi lebih mudah dipahami oleh manusia. Ketika workflow menjadi bagian dari proses bisnis, orang lain perlu bisa memeriksa, menguji, dan mengubahnya tanpa takut merusak seluruh rangkaian.

Mulailah dari bagian yang paling jelas batasnya dan paling sering dipakai ulang. Misalnya, pisahkan proses membuat laporan, mengubah format data, atau mengirim pemberitahuan. Setelah itu, dokumentasikan input dan outputnya sebelum memindahkan logika lain.

Otomatisasi yang baik bukan hanya yang berhasil berjalan hari ini. Ia juga harus cukup jelas untuk diperbaiki ketika API berubah, format data bertambah, atau orang yang membuatnya sudah tidak lagi menangani proses tersebut.

Sumber & bacaan lebih lanjut

– Rio Yotto @rioyotto