Cara connect n8n menjelaskan langkah-langkah teknis untuk menghubungkan messaging platform ke workflow automation-mu menggunakan n8n.
Artikel ini akan membahas persiapan akun, setup authentication (API key / OAuth), pembuatan webhook, contoh node untuk WhatsApp, Telegram, dan Slack, serta testing dan troubleshooting dasar agar integrasi berjalan andal.
Persiapan Akun dan Otorisasi untuk Integrasi n8n

💻 Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar SekarangSebelum menyentuh workflow di n8n, kamu perlu menyiapkan akun dan otorisasi di tiap platform pesan. Untuk WhatsApp, opsi paling umum adalah WhatsApp Business Cloud API dari Meta atau gateway pihak ketiga yang menjadi perantara. Telegram memakai Telegram Bot API yang gratis dan langsung bisa dipakai setelah membuat bot. Slack menggunakan Slack App dengan mekanisme OAuth 2.0 dan scope yang harus kamu pilih sesuai kebutuhan.
Di Telegram, buka kontak @BotFather, jalankan perintah /newbot, lalu simpan bot token yang diberikan. Di Slack, masuk ke API Dashboard, buat Slack App, aktifkan fitur OAuth & Permissions, lalu catat Client ID, Client Secret, dan Bot token setelah instalasi ke workspace. Untuk WhatsApp, buat aplikasi di Meta for Developers, aktifkan WhatsApp, lalu ambil permanent access token, phone number ID, dan WhatsApp Business Account ID atau ikuti panduan dari penyedia gateway.
Semua credential ini jangan pernah disimpan di kode workflow secara langsung. Gunakan environment variables seperti N8N_TELEGRAM_TOKEN atau fitur Credentials bawaan n8n, atau integrasikan dengan secret manager seperti Vault jika self–hosted. Tujuannya agar token mudah diganti, terlindungi, dan tidak bocor saat kamu membagikan contoh workflow.
Pastikan juga prasyarat di sisi n8n terpenuhi. Gunakan versi n8n yang relatif baru agar node resmi untuk Telegram, Slack, dan WhatsApp atau HTTP tetap stabil. Untuk pengembangan lokal, sediakan akses public URL ke webhook n8n dengan ngrok atau tunnel serupa. Jika n8n self–hosted di balik reverse proxy, pastikan pengaturan CORS dan SSL benar karena ini akan berpengaruh ketika kamu mulai menguji webhook dari bot di bab berikutnya.
Membuat Webhook di n8n dan Menguji Payload dari Bot
Webhook node di n8n berfungsi sebagai “pintu masuk” HTTP untuk menerima data dari luar, misalnya dari bot Telegram atau Slack. Berbeda dengan HTTP Request node yang dipakai untuk memanggil API pihak ketiga, Webhook dipakai ketika layanan eksternal yang akan mengirim data ke n8n. Ini penting untuk skenario event-driven, seperti pesan masuk atau notifikasi status.
Di n8n, tambahkan Webhook node, pilih HTTP Method (umumnya POST untuk pesan), lalu tentukan Path, misalnya /bot-inbound. Atur Response Code ke 200 dan isi Response Body sementara seperti {“status”:”ok”} agar bot menganggap permintaan berhasil. Aktifkan mode Test, lalu salin URL webhook yang disediakan n8n.
Saat self-hosted, kamu bisa mengekspos n8n lewat ngrok dengan perintah:
ngrok http 5678
Port menyesuaikan konfigurasi n8n kamu. Jangan membagikan URL ngrok ke publik tanpa proteksi, dan matikan tunnel jika tidak digunakan.
Kirim pesan uji dari Telegram, Slack, atau WhatsApp ke bot yang sudah diarahkan ke URL webhook. Di n8n, jalankan workflow lalu periksa tab Execution untuk melihat struktur JSON yang diterima. Gunakan node Set dan Function atau Code untuk menormalisasi bidang seperti chat_id, message_id, text, dan lampiran, sehingga siap dipakai di langkah berikutnya.
Integrasi Telegram dan Whatsapp Perbedaan dan Contoh Kasus

Setelah webhook di n8n berfungsi, langkah berikutnya adalah memilih kanal pesan. Telegram Bot memakai Bot API token yang kamu dapat dari @BotFather. WhatsApp Business memakai Cloud API dari Meta dengan access token, nomor bisnis terverifikasi, dan aturan ketat pada template message. Perbedaan besar lain: Telegram gratis dan longgar, sedangkan WhatsApp menerapkan biaya per percakapan atau per template dan kebijakan konten yang lebih ketat.
Untuk notifikasi transaksi, Telegram cocok sebagai kanal cepat dan murah, misalnya kirim ringkasan pembayaran ke admin. WhatsApp lebih pas untuk pesan ke pelanggan karena tingkat keterbacaan tinggi, tapi wajib memakai approved template untuk pesan yang customer-initiated window-nya sudah lewat. Auto-reply customer support di Telegram bisa lebih bebas, sementara di WhatsApp harus menjaga format, bahasa, dan jenis konten agar tidak melanggar kebijakan. Broadcast juga lebih fleksibel di Telegram; di WhatsApp kamu perlu memikirkan biaya dan batasan template.
Di n8n, integrasi Telegram bisa memakai Telegram node atau HTTP Request ke Bot API. Contoh sederhana:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
{ "chat_id": {{$json["message"]["chat"]["id"]}}, "text": "Terima kasih, transaksi #" + $json["transactionId"] + " sudah kami terima." } chat_id diambil dari payload webhook Telegram, lalu dipakai di node respons. Untuk WhatsApp melalui Cloud API atau provider gateway, kamu biasanya mengirim ke endpoint seperti /messages dengan mapping: { "to": {{$json["contacts"][0]["wa_id"]}}, "type": "template", "template": { "name": "transaksi_berhasil", "language": { "code": "id" }, "components": [{ "type": "body", "parameters": [ { "type": "text", "text": $json["transactionId"] }, { "type": "text", "text": $json["amount"] } ] }] } } |
Pertimbangan khusus: untuk media di Telegram kamu bisa langsung kirim photo atau document dengan URL publik, sedangkan di WhatsApp sering perlu media upload dulu agar mendapat media_id. Di WhatsApp, hampir semua pesan outbound yang bersifat inisiatif bisnis sebaiknya memakai template yang sudah di-approve, termasuk notifikasi pengingat dan promo. Hal ini memengaruhi desain workflow di n8n karena kamu perlu memisahkan logika pesan bebas dalam jendela 24 jam dan pesan berbasis template di luar jendela tersebut.
Langkah Praktis Cara Connect n8n ke Whatsapp Telegram dan Slack
Pertama, pastikan kamu sudah punya token atau credential untuk setiap platform, serta webhook endpoint n8n yang publik. Di n8n, buat workflow baru, tambahkan node Webhook sebagai pintu masuk, lalu salin URL yang akan dipasang di masing-masing layanan.
Untuk WhatsApp via provider (misalnya API resmi atau gateway pihak ketiga), gunakan node HTTP Request. Atur method ke POST, isi URL dengan endpoint kirim pesan, lalu tambahkan header seperti:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ "Authorization": "Bearer <YOUR_API_TOKEN>", "Content-Type": "application/json" } Pada body JSON, kirim format seperti berikut. { "to": "6281234567890", "type": "template", "template": { "name": "order_update", "language": { "code": "id" }, "components": [ { "type": "body", "parameters": [{ "type": "text", "text": "INV-00123" }] } ] } } |
Jika provider WhatsApp mendukung webhook, arahkan callback URL ke Webhook node n8n. Di dalam workflow, gunakan Set atau Function node untuk memetakan payload masuk, misalnya mengambil sender, isi pesan, lalu membentuk respons atau meneruskan ke sistem lain.
Untuk Telegram, buat Bot lewat @BotFather dan salin bot token. Di n8n, kamu bisa pakai Telegram node dengan credentials Telegram Bot API, lalu pilih operasi sendMessage, isi chat_id dan text. Jika ingin pakai keyboard buttons, isi reply_markup seperti berikut.
|
1 2 3 4 5 6 7 8 |
{ "inline_keyboard": [ [ { "text": "Setuju", "callback_data": "approve" }, { "text": "Tolak", "callback_data": "reject" } ] ] } |
Untuk menerima update Telegram via webhook, arahkan webhook URL ke Webhook node n8n, lalu baca payload seperti body.message.chat.id dan body.message.text. Ini penting agar kamu bisa membalas ke chat yang benar dan memicu logika lanjutan.
Untuk Slack, buat Slack App, aktifkan scopes seperti chat:write. Bila perlu, tambahkan incoming–webhook juga. Lalu, jalankan OAuth flow untuk mendapatkan bot token. Di n8n, gunakan HTTP Request node ke https://slack.com/api/chat.postMessage dengan header:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "Authorization": "Bearer xoxb-...", "Content-Type": "application/json; charset=utf-8" } Contoh body dengan blocks: { "channel": "#general", "text": "Notifikasi baru", "blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": "*Order baru* #INV-00123" } } ] } |
Untuk pengujian, kirim pesan percobaan dari n8n dengan menekan tombol Execute Workflow atau memicu webhook lewat curl atau Postman. Pastikan pesan benar-benar tiba di WhatsApp, Telegram, dan Slack, lalu cek Execution log di n8n untuk melihat status code, response body, dan waktu eksekusi, karena data ini akan sangat berguna saat kamu mulai menyiapkan strategi retry dan rate limit handling di tahap berikutnya.
Menangani Error Retry Rate Limit dan Logging di Workflow N8n

Setelah koneksi ke WhatsApp, Telegram, atau Slack berjalan, langkah penting berikutnya adalah menangani error secara konsisten. Di n8n, error umum biasanya berupa authentication failed, respons 4xx/5xx, dan network timeout. Kamu bisa memakai Error Trigger node untuk menangkap workflow yang gagal, lalu menambahkan Function node untuk membuat format logging yang rapi sebelum dikirim ke penyimpanan.
Untuk retry, manfaatkan opsi Retry On Fail di HTTP Request node dan atur Max. Attempts serta Retry Delay. Jika butuh kontrol lebih, kamu bisa membuat exponential backoff dengan Function node seperti:
|
1 2 3 |
const attempt = $json.attempt || 1; const delay = Math.min(60000, 1000 * 2 (attempt - 1)); return [{ attempt: attempt + 1, delay }]; |
Kemudian kirim nilai delay ke Wait node. Untuk rate limit, baca header seperti X-RateLimit-Remaining di HTTP Request node, lalu kombinasikan SplitInBatches dan Wait agar pesan mengalir bertahap, bukan meledak sekaligus. Logging bisa disimpan ke database atau layanan eksternal, dan kamu dapat menambahkan notifikasi email atau Slack ketika workflow gagal berulang. Terakhir, siapkan pola fallback: jika HTTP Request ke provider utama gagal, gunakan IF node untuk mengalihkan ke provider cadangan sehingga pesan tetap terkirim.
Strategi Deployment Self Hosted Vs Cloud untuk Otomasi Pesan
Pada tahap deployment, kamu perlu memilih antara n8n Cloud atau self-hosted seperti Docker dan Kubernetes. n8n Cloud cocok jika kamu ingin fokus ke bisnis, karena scaling, security patch, dan maintenance ditangani penyedia. Self-hosted memberi kontrol penuh atas credential, cocok untuk kebutuhan compliance ketat dan integrasi jaringan internal.
Untuk keamanan, aktifkan enkripsi at-rest di basis data dan gunakan SSL/TLS untuk semua webhook. Simpan kunci API di environment variables, misalnya lewat docker–compose atau Secrets di Kubernetes, bukan di dalam node. Terapkan rotation berkala pada credential penting seperti API WhatsApp atau Telegram.
Jika beban pesan tinggi, jalankan n8n dalam queue mode dengan Redis. Webhooks masuk ke satu webhook worker, lalu dieksekusi oleh banyak workers yang bisa di-autoscale di Kubernetes. Tambahkan load balancer di depan webhook untuk menghindari single point of failure.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Contoh potongan deployment n8n queue mode dengan Docker version: "3.8" services: n8n: image: n8nio/n8n:latest environment: - N8N_ENCRYPTION_KEY=<ganti_dengan_key_panjang> - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=<user_admin> - N8N_BASIC_AUTH_PASSWORD=<password_kuat> - QUEUE_BULL_REDIS_HOST=redis - N8N_EXECUTIONS_MODE=queue depends_on: - redis redis: image: redis:7-alpine |
Konfigurasi ini memisahkan penyimpanan antrean di Redis dan mengaktifkan basic auth untuk akses UI. Di Kubernetes, pola serupa dapat dibagi menjadi deployment webhook dan worker yang masing-masing bisa di-scale sendiri.
Jangan lupa strategi backup dan recovery. Lakukan snapshot berkala pada basis data dan biasakan export workflow JSON sebelum mengubah otomasi pesan kritis. Siapkan prosedur rollback saat versi baru menimbulkan error, misalnya dengan menyimpan dua versi image dan satu tag stabil.
Setelah deploy, jalankan checklist singkat: audit permission pengguna, uji end-to-end dari webhook hingga pesan terkirim, lalu jadwalkan maintenance window rutin. Dokumentasikan runbook troubleshooting untuk kasus umum seperti rate limit, kegagalan webhook, dan antrean menumpuk, sehingga tim bisa merespons insiden dengan cepat.
Penutup
Ringkasnya, setelah mengikuti panduan ini kamu akan mampu membuat workflow di n8n yang terhubung ke layanan pesan populer dengan authentication yang benar, webhook yang handal, dan strategi error handling. Terapkan best practice keamanan dan monitoring untuk memastikan automasi pesan berjalan lancar dan scalable.
