Mendalami sumber pemicu workflow n8n: webhook untuk event eksternal, cron dan schedule untuk jadwal berkala, polling untuk menarik data dari API, serta event-based trigger dari cloud services. Termasuk konfigurasi webhook yang aman, validasi payload, dan cara memilih trigger yang tepat.

Di episode 4 kalian sudah membangun workflow pertama yang dipicu webhook dan berhasil mengirim email. Sekarang kita bedah sumber pemicu secara menyeluruh — karena trigger adalah keputusan arsitektur pertama yang menentukan kapan dan bagaimana workflow berjalan.
Episode ini membahas kategori trigger di n8n — webhook, cron, polling, dan event-based — konfigurasi webhook yang aman, serta cara memicu workflow dari cloud services dan integrasi API. Di akhir episode kalian bisa memilih trigger yang tepat untuk setiap skenario.
Semua workflow dimulai dari sebuah trigger node. Berdasarkan cara ia dipicu, ada empat kategori besar:
| Kategori | Cara Kerja | Contoh Node | Cocok Untuk |
|---|---|---|---|
| Webhook | Endpoint HTTP dipanggil sistem lain | Webhook | Event real-time dari service eksternal |
| Schedule / cron | Menjalankan di waktu terjadwal | Schedule Trigger | Job rutin harian/mingguan |
| Polling | Menarik data secara berkala | Gmail Trigger, RSS Trigger | Mengambil data baru dari API |
| Event-based | Mendengarkan event dari platform | Slack, GitHub, WebSocket | Sinkronisasi real-time |
Satu hal yang sering membingungkan pemula: pada aplikasi trigger seperti Gmail, n8n umumnya memakai polling — mengecek inbox tiap interval, bukan menerima push. Konsekuensinya, muncul latensi maksimal sebesar interval polling. Untuk latensi nyaris nol, pakai webhook.
Node Webhook membuat n8n menjadi endpoint HTTP. Saat dikonfigurasi, n8n menghasilkan dua URL:
/webhook-test/... — hanya aktif saat workflow dalam mode test, aman untuk eksperimen./webhook/... — hanya melayani request ketika workflow diaktifkan.Perbedaan ini disengaja: mode test mencegah workflow separuh jadi ikut terpancing event produksi. Ingat juga bahwa n8n mengembalikan HTTP 200 langsung begitu payload diterima — kemudian eksekusi berjalan di belakang. Ini membuat webhook n8n responsif, tetapi berarti kalian harus memastikan payload valid sejak awal karena workflow tidak menunggu.
Webhook yang terbuka di internet adalah pintu masuk yang menggoda penyerang. Kencangkan dengan beberapa lapis:
x-api-key.IF untuk memvalidasi field penting; tolak (atau log) request yang formatnya mencurigakan.Contoh uji webhook production dengan API key — jalankan lewat terminal dengan curl -X POST http://localhost:5678/webhook/notifikasi-pesanan sebagai awalan:
curl -X POST http://localhost:5678/webhook/notifikasi-pesanan \
-H "Content-Type: application/json" \
-H "x-api-key: rahasia-anda" \
-d '{"nama":"Arief","email":"arief@example.com","total":1250000}'Dengan auth aktif, request tanpa header x-api-key yang benar akan ditolak sebelum workflow dijalankan — alur tetap aman meski endpointnya publik.
Ingat juga prinsip minimum exposure: jangan mengaktifkan webhook yang tidak terpakai, matikan workflow saat tidak dibutuhkan, dan batasi method HTTP sesuai kebutuhan. Semakin sedikit endpoint yang terbuka, semakin kecil permukaan serangan.
Untuk pekerjaan berkala — laporan pagi, sinkronisasi harian, cleanup data — gunakan Schedule Trigger. Dua mode utama:
Contoh cron: setiap hari pukul 09.00 waktu instance — pastikan pola ini kalian tulis langsung di field cron node Schedule Trigger, bukan di terminal:
0 9 * * *Penting: jadwal mengikuti timezone instance yang ditetapkan lewat GENERIC_TIMEZONE (misal Asia/Jakarta). Jika instance berjalan di server waktu UTC, pukul 09.00 berarti jam yang berbeda dari jam lokal kalian — pastikan timezone sudah benar di setup.
Banyak trigger aplikasi bekerja dengan polling: pada interval tertentu, n8n memanggil API service untuk mencari data baru. Contoh nyata:
Gmail Trigger — memeriksa email baru dan memicu workflow saat ada pesan baru.RSS Trigger — menarik feed dan mendeteksi item baru.Schedule Trigger + node HTTP Request — pola manual untuk polling API yang tidak punya webhook.Dengan polling, n8n mengingat item yang sudah diproses sehingga tidak memicu ulang data lama. Karena tiap polling adalah eksekusi, pilih interval yang seimbang: terlalu sering membuang resource, terlalu jarang menunda event.
Praktik yang umum: gabungkan polling dengan trigger lain. Misalnya jadwalkan polling dengan Schedule Trigger lalu panggil API lewat node HTTP Request, atau gunakan Gmail Trigger yang intervalnya diatur langsung di konfigurasi node. Yang penting selalu ketahui interval default dan maksimal dari node yang dipakai, agar ekspektasi latensi workflow realistis.
Warning
Beberapa API membatasi jumlah request per menit. Saat mengonfigurasi polling ke service dengan rate limit ketat, gunakan interval yang aman dan tambahkan node untuk menangani kegagalan rate limit — misalnya Wait atau retry.
Sejumlah node memakai event subscription murni: service mengirim event ke n8n tanpa perlu polling. Contohnya trigger WebSocket yang mendengarkan koneksi secara langsung, atau integrasi platform tertentu yang mendaftarkan webhook balik ke n8n.
Kapan memakai trigger mana? Gunakan aturan praktis ini:
Pilihan trigger menentukan latensi, beban, dan keandalan workflow kalian — luangkan waktu memilihnya dengan benar sejak awal.
Episode ini memetakan seluruh sumber pemicu n8n: webhook untuk event real-time, cron untuk jadwal, polling untuk menarik data baru dari API, dan event-based untuk sinkronisasi langsung — lengkap dengan praktik mengamankan webhook dan aturan memilih trigger yang tepat.
Inti yang harus dibawa pulang:
GENERIC_TIMEZONE dengan benar.Di episode 6 berikutnya, kita masuk ke jantung pengolahan data: nodes, data & transformation — cara data mengalir antar node, penggunaan node Set, Merge, dan SplitInBatches, data transformation, conditional logic, hingga loop patterns. Sampai jumpa!