Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Menggunakan IF Node di n8n untuk Mengecek Data Kosong dari Google Sheet


Dalam era digital saat ini, otomatisasi menjadi salah satu kunci untuk meningkatkan efisiensi kerja. Banyak perusahaan, startup, bahkan individu kini beralih menggunakan tools automation workflow untuk mempercepat proses bisnis mereka. Salah satu platform open-source yang cukup populer adalah n8n.

Dengan n8n, Anda dapat membangun alur otomatisasi (workflow) yang menghubungkan berbagai aplikasi tanpa harus menulis banyak kode. Salah satu integrasi yang sering digunakan adalah Google Sheets, karena spreadsheet sering dipakai sebagai database sederhana, tempat menyimpan data produk, laporan, hingga daftar tugas.

Namun, ada satu tantangan yang sering muncul: bagaimana jika data yang dibaca dari Google Sheet ternyata kosong atau tidak ditemukan?

Kondisi seperti ini sering terjadi ketika:

  • Anda hanya ingin membaca baris tertentu berdasarkan kondisi.

  • Sheet masih kosong atau belum ada data baru.

  • Pencarian data menggunakan filter tidak menghasilkan hasil.

Jika tidak ditangani dengan baik, workflow bisa error atau berhenti. Di sinilah IF Node berperan penting. Artikel ini akan membahas secara lengkap cara menggunakan IF Node di n8n untuk menangani kondisi data kosong pada Google Sheet, khususnya menggunakan expression:

{{ $('Valid by status sync product').item.json.isEmpty() }}

Mengenal IF Node di n8n

Sebelum masuk lebih jauh, mari kita pahami dulu apa itu IF Node di n8n.

  • IF Node adalah node logika yang memungkinkan workflow bercabang berdasarkan suatu kondisi.

  • Secara sederhana, node ini berfungsi layaknya perintah if...else dalam bahasa pemrograman.

  • IF Node memiliki dua output: True dan False.

    • Jika kondisi terpenuhi (True), workflow akan berjalan melalui jalur True.

    • Jika kondisi tidak terpenuhi (False), workflow akan berjalan melalui jalur False.

Contoh penggunaan IF Node:

  • Mengecek apakah nilai field lebih besar dari angka tertentu.

  • Mengecek apakah string sesuai dengan teks yang dicari.

  • Mengecek apakah data dari node sebelumnya kosong atau tidak.

Pada kasus integrasi dengan Google Sheet, penggunaan IF Node biasanya dipakai untuk memvalidasi hasil query sebelum workflow dilanjutkan ke tahap berikutnya.


Masalah Umum Saat Membaca Data dari Google Sheets

1. Data Tidak Ditemukan

Saat menggunakan Google Sheets node (misalnya Lookup atau Read), bisa jadi data yang kita cari tidak ada. Jika tetap diproses, maka node berikutnya bisa gagal karena menerima input kosong.

2. Data Kosong di Baris Baru

Kadang Google Sheets masih berisi header tetapi tidak ada isi. n8n bisa membaca file ini sebagai "ada data", padahal sebenarnya kosong.

3. Perbedaan Format Data

Terkadang hasil dari Google Sheets berupa array kosong ([]), atau object kosong ({}). Jika tidak di-handle, workflow bisa salah membaca.

Untuk mengatasi masalah ini, kita perlu menambahkan IF Node dengan Expression agar workflow tetap berjalan dengan aman.


Struktur Workflow Sederhana

Untuk memahami cara kerja IF Node dalam konteks ini, mari kita buat struktur workflow sederhana:

  1. Google Sheets Node

    • Bertugas membaca data dari sheet, misalnya mencari data berdasarkan status tertentu.

  2. Node Validasi (misalnya Function atau Rename)

    • Opsional, digunakan untuk memastikan format data sesuai.

  3. IF Node

    • Mengecek apakah hasil dari node sebelumnya kosong atau tidak.

  4. Branching (YES / NO)

    • Jika ada data → lanjutkan proses (misalnya insert ke database, update status, atau kirim API request).

    • Jika tidak ada data → hentikan proses atau kirim notifikasi (misalnya email "tidak ada data baru").

Dengan alur ini, workflow akan lebih stabil dan tidak berhenti karena error input kosong.


Menggunakan Expression di IF Node

Salah satu fitur powerful di n8n adalah penggunaan Expression. Expression memungkinkan kita menulis kondisi menggunakan JavaScript sederhana untuk membaca data dari node sebelumnya.

Untuk kasus mengecek data kosong, kita bisa menggunakan expression berikut:

{{ $('Valid by status sync product').item.json.isEmpty() }}

Penjelasan Rinci:

  1. $('Valid by status sync product')

    • Mengambil output dari node dengan nama Valid by status sync product.

    • Tanda $() adalah cara n8n mengakses node lain dalam workflow.

  2. .item.json

    • Mengakses data JSON hasil dari node tersebut.

    • Semua node di n8n umumnya menghasilkan output dalam bentuk JSON.

  3. .isEmpty()

    • Fungsi built-in di n8n untuk mengecek apakah data kosong.

    • Jika hasilnya true, berarti data kosong.

    • Jika hasilnya false, berarti ada data.


Contoh Kasus: Sinkronisasi Produk




Mari kita ambil contoh nyata:

Anda memiliki Google Sheet yang berisi daftar produk dengan kolom:

  • Product ID

  • Product Name

  • Status Sync

Tujuannya adalah membuat workflow di n8n yang akan mengambil produk dengan Status Sync = "Pending" untuk disinkronkan ke sistem ERP.

Langkah-langkah workflow:

  1. Google Sheets Node (Lookup) → Mencari produk dengan status "Pending".

  2. Valid by status sync product adalah nama google sheet

  3. IF Node dengan Expression:

    {{ $('Valid by status sync product').item.json.isEmpty() }}
    • Jika data ditemukan (False) → Lanjutkan ke node ERP API untuk insert/update produk.

    • Jika data tidak ditemukan (True) → Kirim notifikasi ke Slack/Email: "Tidak ada produk pending untuk disinkronkan."

Dengan workflow ini, Anda bisa memastikan proses sinkronisasi berjalan hanya jika ada data.


Alternatif Pendekatan

Selain menggunakan .isEmpty(), Anda juga bisa memeriksa jumlah data dengan:

{{ $('Valid by status sync product').all().length === 0 }}

Perbedaannya:

  • .isEmpty() lebih ringkas dan langsung.

  • .all().length === 0 memberi fleksibilitas jika Anda ingin mengecek jumlah data lebih detail (misalnya lebih dari 1, kurang dari 5, dsb).


Tips dan Best Practice

  1. Selalu Tambahkan Validasi
    Jangan pernah langsung melanjutkan workflow setelah membaca data dari sumber eksternal. Tambahkan IF Node untuk validasi.

  2. Gunakan Notifikasi Otomatis
    Jika data kosong, jangan hanya berhenti. Sebaiknya kirim notifikasi (Email, Slack, Telegram) agar tim mengetahui status workflow.

  3. Logging Workflow
    Simpan hasil log di database atau Google Sheet terpisah. Ini membantu melakukan troubleshooting jika workflow tidak berjalan sesuai harapan.

  4. Penamaan Node yang Jelas
    Gunakan nama node yang deskriptif seperti Valid by status sync product agar mudah dipanggil dalam expression.

  5. Testing dengan Data Kosong dan Data Ada
    Lakukan uji coba dengan dua kondisi: data ada dan data kosong. Pastikan workflow berjalan sesuai cabangnya masing-masing.


Keunggulan n8n dibanding Tools Lain

Mengapa menggunakan n8n untuk kasus ini lebih fleksibel dibanding Zapier, Make (Integromat), atau tools automation lain?

  • Open Source → Bisa di-host sendiri tanpa biaya per workflow.

  • Expression yang Powerful → Mendukung JavaScript langsung, memungkinkan logika kompleks.

  • Lebih Fleksibel → Tidak terbatas pada integrasi tertentu, bisa dikombinasikan dengan API custom.

  • Kostumisasi Tinggi → Bisa ditambah Function Node jika perlu manipulasi data yang lebih advance.


Ilustrasi Workflow

Bayangkan workflow seperti diagram bercabang:

[Google Sheets][Valid by status sync product][IF Node] --(True: Data kosong)--> [Send Email "Tidak ada data"] \ --(False: Ada data)--> [ERP API Insert Produk]

Dengan struktur ini, proses bisnis lebih aman dan tidak akan error ketika data kosong.


Studi Kasus Lain

1. Laporan Harian

Membaca laporan dari Google Sheet. Jika kosong → kirim pesan "Belum ada data laporan."

2. Pendaftaran Event

Membaca daftar peserta dari Google Sheet. Jika kosong → otomatis tutup pendaftaran dan update status di website.

3. Monitoring Stok

Membaca stok produk dari sheet. Jika kosong → kirim alert ke tim gudang.

Semua skenario di atas bisa diselesaikan dengan pola yang sama: Google Sheets → IF Node (isEmpty) → Aksi Lanjutan.


Kesimpulan

Menggunakan IF Node di n8n untuk mengecek data kosong dari Google Sheet adalah praktik penting dalam membangun workflow yang stabil dan bebas error.

Dengan expression:

{{ $('Valid by status sync product').item.json.isEmpty() }}

Anda bisa memastikan alur otomatisasi tetap berjalan dengan logika yang benar:

  • Jika data ada, workflow dilanjutkan.

  • Jika data kosong, workflow berhenti atau melakukan aksi alternatif.

Teknik ini tidak hanya berlaku untuk Google Sheet, tetapi juga bisa diterapkan pada API, database, atau sumber data lain yang hasilnya bisa kosong.

Dengan memahami dan menerapkan hal ini, workflow n8n Anda akan lebih andalan, fleksibel, dan siap untuk skala lebih besar.

Posting Komentar untuk "Cara Menggunakan IF Node di n8n untuk Mengecek Data Kosong dari Google Sheet"