Membuat Integrasi Telegram ke Google Sheets via n8n: Keren Gak Sih?
Hai, Sobat Tekno! Kalian pasti sering banget kan pake Telegram buat berkomunikasi, baik personal atau buat proyek bareng tim. Nah, pernah gak sih kepikiran buat ngeset biar pesan-pesan di Telegram bisa otomatis masuk ke Google Sheets? Misalnya buat tracking pesanan, atau mungkin absen online? Nah, kalo gitu, lo perlu coba pake n8n!
n8n itu nggak cuma keren namanya, tapi juga keren fungsinya. Ini adalah nggak cuma alat automation, tapi juga workflow automation tool yang open-source dan gratis banget buat dipake. Bisa lo deploy sendiri di server pribadi, kalo mau aman dan privasi tetep terjaga.
Nah, gimana caranya nge-integrate Telegram dan Google Sheets via n8n? Nih, gue kasih tutorial simpelnya buat lo semua.
Langkah 1: Nyiapin n8n
Pertama-tama, pastiin lo udah paham gimana caranya nginstall n8n. Kalo belum pernah, lo bisa baca dokumentasi resminya langsung dari n8n di situ. Ada beberapa cara buat install, pake Docker, npm, atau langsung di Ubuntu. Pilih yang paling nyaman aja buat lo.
Contoh kalo mau pake Docker, cukup jalanin perintah:
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
Atau kalo mau pake npm, tinggal npm install n8n -g
, terus jalanin pake n8n
. Gampang, kan?
Langkah 2: Bikin Bot Telegram
Nah, karena mau ngambil pesan dari Telegram, lo butuh bot biar bisa punya akses ke pesan yang masuk. Lo bisa buat bot via @BotFather di Telegram. Caranya:
- Search
@BotFather
di Telegram, terus start chat sama dia. - Ketik
/newbot
dan ikuti instruksinya. - Nanti lo dapet API Token, yang bentuknya kaya gini:
123456:abcA_DEFghijklmnopqrSTUVwxy
.
Simpen API Token ini baik-baik karena bakal lo pake di n8n.
Langkah 3: Buat Workflow di n8n
Sekarang waktunya nge-trigger n8n biar bisa dapetin pesan dari bot Telegram.
- Buka n8n di browser (defaultnya
http://localhost:5678
, atau bisa ganti kalo lo deploy di tempat lain). - Pilih “Workflows” dan buat yang baru dengan ngeklik tombol “New”.
- Drag node “Telegram Trigger” dari panel kiri ke canvas di tengah.
- Open node “Telegram Trigger” dan isi kolom Telegram API dengan API Token bot yang tadi lo buat.
- Klik “Save” dan “Execute Node” buat ngetes koneksinya. Kalo berhasil, lo bakal dapet list chat update.
Langkah 4: Setup Google Sheets
Sekarang waktunya bikin sheet baru di Google Sheets buat nerima data dari Telegram. Pastiin aja lo udah punya sheet kosong dan tahu URL sheetnya. Lo juga perlu enable Google Sheets API di Google Cloud Console, terus bikin credential OAuth 2.0 buat ini.
- Buka Google Cloud Console, pilih project, dan enable “Google Sheets API”.
- Bikin OAuth 2.0 credentials dan simpen
credentials.json
yang di-download. - Di n8n, pilih menu “Credential” di kiri dan bikin credential baru buat Google Sheets. Pilih “Use Own OAuth2 Credentials” dan upload file
credentials.json
tadi. Kemudian klik opsi “Create Token”, login ke akun Google lo, dan simpen token yang haslinya.
Langkah 5: Nambahin Node Google Sheets ke Workflow
Balik lagi ke workflow yang tadi, tambahkan node “Google Sheets” dari panel sebelah kiri ke canvas, terus konekin dari node “Telegram Trigger” tadi.
- Pilih action Append biar data nanti nambah di bawah aja.
- Pilih spreadsheet dan range (misalnya,
Sheet1!A1:Z1
). - Buka mode “Set Manually”, dan kita atur agar pesan dari Telegram otomatis terpetakan ke kolom di Sheets.
- Misalnya kalo mau masukin
chat_id
,text
, danfirst_name
, lo bisa pake rumus ekspresi kaya gini:chat_id
:{{ $json["message"]["chat"]["id"] }}
text
:{{ $json["message"]["text"] }}
first_name
:{{ $json["message"]["from"]["first_name"] }}
- Misalnya kalo mau masukin
Terus, semua di-set sesuai kebutuhan lo. Save dan cobain lagi dengan Execute Workflow
dan ngetes kirim pesan di bot Telegram. Cek deh, di Google Sheets-nya udah muncul kan?
Langkah 6: Simpen dan Publish
Terakhir, kalo udah berhasil cobain, simpen workflow-nya. Bisa juga lo atur biar jalan otomatis dengan nyalain “Active Workflow”.
Nah, gimana? Gampang banget kan? Dengan n8n, lo bisa bikin integrasi tanpa perlu ngoding ribet-ribet amat!