Broadcast WhatsApp Massal dari n8n dengan Loop & Jeda Aman

Oleh Jalinara · 2026-07-20 · 8 menit baca
Ringkasan singkat: Broadcast massal yang aman butuh ritme, bukan kecepatan. Rangkai Google Sheets, Loop Over Items, HTTP Request ke API Jalinara, dan node Wait supaya tiap pesan keluar berjeda seperti kiriman manusia. Kirim hanya ke kontak opt-in, variasikan teks, dan panaskan nomor baru sebelum blast besar.

Broadcast massal itu godaan sekaligus jebakan. Godaannya jelas: satu klik, ratusan pelanggan dapat kabar promo atau pengumuman penting. Jebakannya juga nyata. Kalau semua pesan meluncur serentak dengan teks yang persis sama, WhatsApp membaca pola itu sebagai perilaku spam, dan nomor kamu berisiko dibatasi atau bahkan diblokir. Kabar baiknya, n8n memberi kamu kendali penuh atas ritme pengiriman, dan API WhatsApp Jalinara menyediakan jalur kirim yang stabil lewat satu panggilan HTTP.

Di panduan ini kita rakit alur broadcast yang sadar risiko: baca daftar kontak dari Google Sheets, proses satu per satu dengan Loop Over Items, kirim lewat HTTP Request ke endpoint Jalinara, lalu sisipkan node Wait supaya ada jeda manusiawi di antara setiap pesan. Semua node yang dipakai adalah node bawaan n8n, jadi kamu tidak perlu memasang community node apa pun. Kalau kamu belum pernah menyambungkan n8n ke Jalinara sama sekali, mulai dulu dari cara kirim WhatsApp dari n8n baru kembali ke sini untuk versi massalnya.

Peta alur broadcast di n8n

Sebelum menyentuh node, bayangkan aliran datanya. Broadcast yang tahan lama itu selalu berbentuk perulangan berjeda, bukan semburan sekaligus. Rangkaiannya kira-kira begini:

  1. Sumber data: node Google Sheets membaca daftar nomor dan variabel pesan (nama, kota, kode promo).
  2. Perulangan: node Loop Over Items (atau Split in Batches) memecah daftar itu supaya diproses satu per satu.
  3. Penyusun pesan: node Edit Fields (Set) merangkai teks personal untuk setiap kontak.
  4. Pengirim: node HTTP Request memanggil endpoint kirim Jalinara.
  5. Rem: node Wait memberi jeda sebelum lanjut ke kontak berikutnya.

Kunci keamanan ada di dua node terakhir. HTTP Request yang mengirim, Wait yang menjaga kamu tidak terlihat seperti robot penyebar spam.

Langkah 1: Baca kontak dari Google Sheets

Simpan daftar penerima di satu spreadsheet dengan kolom yang rapi, minimal kolom nomor dan nama. Format nomor pakai kode negara tanpa tanda plus, misalnya 628123456789, karena itu format yang diminta API Jalinara. Tambahkan juga kolom seperti status_optin supaya kamu bisa memfilter hanya kontak yang benar-benar setuju dihubungi.

Di n8n, pakai node Google Sheets dengan operasi baca (Get Rows). Sambungkan kredensial Google-mu, pilih spreadsheet dan tab yang benar, lalu jalankan sekali untuk memastikan datanya masuk sebagai item. Kalau kamu ingin dua arah, misalnya menandai kontak yang sudah dikirim, pola membaca dan menulis balik ke sheet dibahas terpisah di integrasi WhatsApp dengan Google Sheets.

Langkah 2: Perulangan dengan Loop Over Items

Node Loop Over Items memproses item satu per satu dan mengembalikan alur ke dirinya setelah setiap putaran. Ini penting: kalau kamu langsung menyodok seratus item ke HTTP Request tanpa perulangan, semua request berpotensi berangkat hampir bersamaan, dan justru pola serentak itulah yang berbahaya. Dengan Loop Over Items kamu bisa menyisipkan node Wait di dalam putaran, sehingga jeda benar-benar terjadi antar kontak, bukan cuma sekali di awal.

Atur batch size kecil, misalnya 1, supaya tiap putaran menangani satu kontak. Cabang "loop" dari node ini yang akan berisi rangkaian susun pesan, kirim, lalu tunggu.

Langkah 3: Kirim lewat HTTP Request ke Jalinara

Inilah panggilan API intinya. Tambahkan node HTTP Request dengan konfigurasi berikut:

  • Method: POST
  • URL: https://app.jalinara.id/send
  • Header: Authorization: Bearer <token>
  • Body: JSON berisi target (nomor tujuan) dan message (isi pesan)

Bentuk body-nya sederhana, misalnya { "target": "628123456789", "message": "Halo Budi, ada promo untukmu" }. Isi target dan message dengan ekspresi n8n yang menunjuk ke kolom dari Google Sheets dan hasil node Edit Fields.

Satu hal yang wajib kamu simpan sebagai kebiasaan: jangan menuliskan token langsung di URL atau di field terbuka. Simpan sebagai kredensial Header Auth di n8n, lalu pakai kredensial itu di node HTTP Request. Token dibuat sekali di dashboard Jalinara dan sebaiknya tidak pernah tampil di ekspor workflow. Detail parameter opsional lain seperti url untuk lampiran media bisa kamu lihat di halaman developer.

Respons sukses dari endpoint ini kira-kira berbunyi {"status":true,"detail":"message queued"}. Perhatikan kata "queued". Artinya pesan diterima dan masuk antrean, bukan bahwa pesan sudah sampai di layar penerima detik itu juga. Kita bahas ini lagi di bawah.

Cek nomor dulu bila perlu

Kalau daftarmu campur aduk dan kamu ragu sebagian nomor tidak terdaftar di WhatsApp, ada endpoint POST /validate untuk memeriksa nomor tanpa memakan kuota pesan. Selipkan node HTTP Request tambahan ke endpoint itu sebelum langkah kirim, lalu pakai node IF untuk melewati nomor yang tidak valid. Langkah ini menghemat kuota dan menjaga rasio kirim kamu tetap sehat.

Langkah 4: Sisipkan node Wait berjeda acak

Node Wait adalah rem yang membuat broadcast-mu terlihat manusiawi. Letakkan di dalam putaran Loop Over Items, setelah HTTP Request, sebelum alur kembali mengambil kontak berikutnya. Prinsipnya: jangan pakai jeda tetap yang kaku. Manusia tidak mengirim pesan dengan interval yang persis sama setiap kali.

Buat jeda acak. Salah satu caranya, pakai node Code atau ekspresi untuk menghasilkan angka acak dalam rentang tertentu (misalnya antara 8 sampai 25 detik), lalu umpankan ke node Wait. Rentang yang pas bergantung pada volume dan usia nomormu, dan itu dibahas lebih dalam di panduan jeda aman WA blast. Yang penting: variasi, bukan keseragaman.

Jalur WhatsApp Web di Jalinara memakai sesi WhatsApp biasa lewat pemindaian QR, bukan WhatsApp Business API resmi dari Meta, dan Jalinara tidak berafiliasi dengan Meta. Jalur ini praktis untuk UMKM dan tim kecil, tapi karena tetap tunduk pada aturan pemakaian wajar WhatsApp, broadcast agresif selalu berisiko. Untuk kebutuhan skala besar atau OTP, pertimbangkan jalur WhatsApp Cloud API resmi yang juga tersedia di Jalinara.

Langkah 5: Variasikan isi pesan

Teks yang identik dikirim ke ratusan orang adalah sinyal spam paling gampang dikenali. Maka variasikan. Node Edit Fields (Set) bisa merangkai sapaan personal berbasis kolom nama, dan kamu bisa menyiapkan beberapa varian kalimat pembuka lalu memilihnya secara bergantian dengan node Code sederhana. Ganti susunan kalimat, ganti kata sapaan, selipkan detail yang relevan per pelanggan.

Variasi ini bukan sekadar trik menghindari deteksi. Pesan yang terasa personal juga lebih sering dibalas, dan itu justru bagus untuk reputasi nomormu. Praktik lengkap soal menjaga nomor tetap aman ada di cara broadcast WhatsApp tanpa diblokir.

Aturan main yang tidak bisa ditawar

Tooling yang rapi tidak akan menyelamatkanmu kalau daftar dan kebiasaannya keliru. Pegang tiga hal ini:

  • Hanya kontak opt-in. Kirim ke orang yang memang setuju dihubungi. Broadcast ke nomor yang dibeli atau di-scrape adalah jalan tercepat menuju blokir dan laporan spam.
  • Hormati batas wajar. Jangan menembak ribuan pesan dari satu nomor baru dalam sehari. Naikkan volume bertahap sambil memantau kesehatan sesi.
  • Panaskan nomor baru. Nomor yang baru aktif langsung dipakai blast massal sangat rentan. Bangun aktivitas normal dulu, seperti dijelaskan di warm up nomor WhatsApp baru, sebelum menaikkan volume.

Ingat: pesan masuk antrean di sisi Jalinara

Endpoint kirim mengembalikan status "message queued", dan ini fitur, bukan kekurangan. Di belakang layar, Jalinara mengantre pesan dengan retry otomatis (default beberapa kali dengan jeda), sadar kondisi koneksi sehingga mengantre ulang saat perangkat sempat offline, plus proteksi anti-ganda. Artinya, kalau perangkatmu sesaat terputus, pesan tidak langsung hangus.

Konsekuensinya untuk desain workflow: jangan menilai keberhasilan hanya dari respons HTTP Request. Respons sukses berarti pesan diterima antrean, bukan pasti sampai. Untuk memantau status koneksi perangkat sebelum memulai blast, kamu bisa mengecek endpoint GET /device. Dan karena ada antrean plus jeda dari node Wait, broadcast besar wajar butuh waktu untuk tuntas. Itu justru tanda ritmenya sehat.

Broadcast yang bertahan lama bukan soal siapa paling cepat, tapi siapa paling sabar dan paling personal. Dengan kombinasi Google Sheets, Loop Over Items, HTTP Request, dan Wait di n8n, plus antrean tahan-banting di sisi Jalinara, kamu punya fondasi kirim massal yang tidak gampang bikin nomor tumbang. Siap merakitnya? Buat token gratis di Jalinara dan mulai uji alur broadcast-mu dari daftar kecil dulu.

Poin Penting

  • Alur inti broadcast aman: Google Sheets memberi daftar, Loop Over Items memutar per kontak, HTTP Request mengirim, node Wait memberi jeda, lalu ulang.
  • Panggilan kirim: HTTP Request POST ke https://app.jalinara.id/send, header Authorization: Bearer, body JSON berisi target dan message. Nomor pakai format 62..., tanpa tanda plus.
  • Node Wait wajib ada di dalam putaran. Pakai jeda acak (misalnya 8 sampai 25 detik) agar ritme kirim menyerupai manusia dan menekan risiko blokir.
  • Variasikan isi pesan lewat Edit Fields dan Code. Teks identik ke banyak orang adalah sinyal spam yang paling mudah dikenali.
  • Disiplin dasar tetap menentukan: kirim hanya ke kontak opt-in, hormati batas wajar harian, dan panaskan nomor baru sebelum blast besar.
  • Respons /send berarti 'message queued', bukan 'sudah terkirim'. Pesan masuk antrean Jalinara dengan retry otomatis dan sadar kondisi koneksi.

Pertanyaan yang sering ditanyakan

Apakah broadcast lewat Jalinara memakai API resmi WhatsApp?

Jalur WhatsApp Web di Jalinara memakai sesi WhatsApp biasa lewat pemindaian QR, bukan WhatsApp Business API resmi dari Meta, dan Jalinara tidak berafiliasi dengan Meta. Praktis untuk UMKM, tapi tetap tunduk pada aturan pemakaian wajar WhatsApp. Untuk skala besar atau OTP tersedia jalur WhatsApp Cloud API resmi.

Node n8n apa yang membuat perulangan untuk broadcast?

Pakai node Loop Over Items (dikenal juga sebagai Split in Batches). Node ini memproses daftar satu per satu, sehingga kamu bisa menyisipkan HTTP Request dan node Wait di dalam setiap putaran, bukan menembak semua request sekaligus.

Berapa jeda ideal antar pesan?

Tidak ada angka tunggal yang cocok untuk semua. Prinsipnya pakai jeda acak, bukan interval tetap, dan mulai dari volume kecil untuk nomor yang belum panas. Rentang yang pas dibahas lebih detail di panduan jeda aman WA blast; sesuaikan dengan usia nomor dan volume kirimmu.

Bagaimana cara memvariasikan isi pesan di n8n?

Gunakan node Edit Fields (Set) untuk menyisipkan nama atau data personal per kontak, dan node Code untuk memilih varian kalimat pembuka secara bergantian. Tujuannya membuat setiap pesan terasa berbeda dan lebih manusiawi.

Kenapa pesan belum sampai padahal respons API sukses?

Respons /send berbunyi 'message queued', artinya pesan diterima dan masuk antrean di sisi Jalinara, bukan pasti sampai detik itu juga. Ada retry otomatis dan mekanisme sadar-koneksi, jadi pengiriman bisa memakan waktu, apalagi dengan jeda dari node Wait.

Bisakah cek dulu apakah nomor terdaftar di WhatsApp sebelum kirim?

Bisa. Endpoint POST /validate memeriksa apakah sebuah nomor terdaftar tanpa memakan kuota pesan. Selipkan node HTTP Request ke endpoint itu lalu saring hasilnya dengan node IF, sehingga nomor tidak valid dilewati.