Featured

    Featured Posts

  • dimana kehidupan
  • disitulah jawaban

Belajar Setting Webhook Telegram di n8n + Cloudflare Tunnel


Belajar Setting Webhook Telegram di n8n + Cloudflare Tunnel

Setting Webhook Telegram di n8n + Cloudflare Tunnel

Hari ini saya mau berbagi pengalaman pribadi saya ketika belajar menghubungkan Telegram dengan n8n. Prosesnya lumayan panjang, ada error sana-sini, tapi alhamdulillah akhirnya bisa jalan juga. Yang nemenin saya belajar? Ya si ChatGPT ini 😅, sabar banget dipake tanya bolak-balik.

Awal Cerita

Jadi ceritanya saya sudah punya n8n yang bisa diakses lewat domain publik https://n8n.domain-saya.com (disini saya pakai subdomain di Cloudflare Tunnel). Targetnya: bikin workflow sederhana dengan Telegram Trigger. Intinya kalau saya kirim pesan ke bot, n8n bisa nangkep.

Setting Webhook Telegram di n8n

Masalah Pertama: Webhook masih localhost

Waktu saya coba aktifkan workflow, ternyata error:

Bad Request: bad webhook: An HTTPS URL must be provided for webhook

Lha jelas, webhook-nya masih ke http://localhost:5678/.... Padahal Telegram cuma mau nerima HTTPS URL publik. Di sini ChatGPT nyaranin saya untuk menambahkan beberapa environment variables di container n8n.

Set Environment Variables

Saya buka CasaOS → App n8n → Settings → Environment Variables, lalu saya tambahkan:

N8N_PUBLIC_URL=https://n8n.domain-saya.com
WEBHOOK_URL=https://n8n.domain-saya.com
N8N_HOST=n8n.domain-saya.com
N8N_PROTOCOL=https

Habis itu saya restart container n8n. Begitu buka lagi workflow, Webhook URL-nya sudah berubah jadi pakai domain HTTPS saya. Mantap!

Hapus Webhook Lama di Telegram

Supaya Telegram nggak nyangkut di webhook lama, saya hapus dulu dengan command:

curl -s "https://api.telegram.org/bot<TOKEN>/deleteWebhook"

Lalu cek apakah kosong:

curl -s "https://api.telegram.org/bot<TOKEN>/getWebhookInfo"

Kalau hasilnya "url": "" berarti sudah aman.

Daftarkan Webhook Baru

Langkah selanjutnya, saya daftarkan webhook ke URL produksi n8n. Formatnya gini:

curl -s "https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://n8n.domain-saya.com/webhook/<WEBHOOK_ID>/webhook"

<WEBHOOK_ID> ini ID unik workflow saya (otomatis ada di n8n). Begitu jalan, saya cek lagi:

curl -s "https://api.telegram.org/bot<TOKEN>/getWebhookInfo"

Hasilnya sudah ada URL HTTPS domain saya sendiri. YES! 🚀

Uji Coba

Saya coba kirim pesan ke bot Telegram saya. Dan bener aja, di n8n → Executions langsung muncul workflow run. Rasanya puas banget, karena dari error “bad webhook” akhirnya bisa solved.

Diagram Alur Webhook Telegram ke n8n

Biar kebayang alurnya:

User kirim pesan Telegram Server Telegram Webhook call Cloudflare Tunnel n8n.your-domain.com n8n http://localhost:5678 Workflow jalan Trigger → Nodes

Contoh Hasil Executions di n8n

Kalau webhook Telegram sudah berhasil, di tab Executions n8n bakal muncul log baru setiap ada pesan masuk. Kira-kira tampilannya seperti ini (dummy data):

Execution #123

Status: ✅ Success

Started: 2025-09-04 15:12:33

Finished: 2025-09-04 15:12:34


Input Data (Telegram Trigger)

{
  "update_id": 987654321,
  "message": {
    "message_id": 45,
    "from": {
      "id": 11223344,
      "is_bot": false,
      "first_name": "Budi"
    },
    "chat": {
      "id": 11223344,
      "type": "private"
    },
    "date": 1725436353,
    "text": "Halo n8n!"
  }
}
  

Output Data (Set Node)

{
  "username": "Budi",
  "message": "Halo n8n!",
  "isStudent": true
}
  

Insight Buat Saya

  • n8n butuh tahu URL publik → atur di environment variables.
  • Telegram cuma mau HTTPS → makanya perlu domain + Cloudflare Tunnel.
  • Webhook lama harus dihapus → biar nggak nyangkut.
  • Proses belajar sambil trial-error itu seru, apalagi kalau ada ChatGPT jadi mentor dadakan 😆

Penutup

Itu catatan belajar hari ini. Semoga bermanfaat buat yang lagi belajar juga. Kalau ada yang bingung, santai aja... error itu bagian dari belajar 😁

author

Dwi Yanto

Sebuah Catatan Kecil Hidup Inyonk


Tulis yang dikerjakan, Kerjakan apa yang ditulis

Dapatkan Update Gratis disini!

Posting Komentar

www.CodeNirvana.in

Online Sejak 2013 Dwi Yanto | Blogger Templates | Designed By Code Nirvana