Cara Kirim Notifikasi Google Sheets Otomatis ke Telegram Tanpa Biaya Langganan
Pernahkah kamu mengalami situasi di mana tim kamu baru saja menginput data penting di Google Spreadsheet, atau ada calon pelanggan yang mengisi formulir pendaftaran, tetapi kamu baru menyadarinya beberapa jam kemudian?
Bagi kamu yang sering mengelola data operasional, pendaftaran webinar, absensi tim, hingga pesanan toko online, memantau spreadsheet sepanjang hari jelas bukan pekerjaan yang menyenangkan. Me-refresh tab browser setiap sepuluh menit sekali bukan hanya membuang waktu, melainkan juga menguras fokus yang seharusnya bisa dialokasikan untuk pekerjaan strategis lainnya.
Sebagian orang memilih berlangganan platform integrasi pihak ketiga seperti Zapier, Make, atau platform otomasi berbayar lainnya. Solusi tersebut memang bagus, tetapi kuota tugas gratisnya sangat terbatas. Begitu transaksi atau data harian kamu melonjak, biaya langganan bulanannya bisa cukup menguras anggaran.
Padahal, ada cara yang jauh lebih hemat, fleksibel, dan 100% gratis: memanfaatkan kolaborasi antara Google Apps Script dan Bot Telegram. Melalui panduan kali ini, kita akan bedah langkah demi langkah cara membangun sistem notifikasi instan langsung ke saku kamu, tanpa ribet dan tanpa perlu latar belakang pemrograman yang mendalam.
Mengapa Memilih Bot Telegram untuk Notifikasi Kerja?
Sebelum masuk ke teknis pembuatan, mungkin timbul pertanyaan: "Kenapa harus Telegram? Kenapa bukan WhatsApp atau Email?"
Ada tiga alasan mendasar mengapa Telegram menjadi kanal terbaik untuk sistem alert data:
- API yang Ramah Pengembang dan Terbuka: Membuat bot di Telegram tidak memerlukan verifikasi dokumen bisnis yang berbelit-belit layaknya WhatsApp Business API. Proses pembuatan akun bot hanya memakan waktu hitungan menit dan langsung siap pakai.
- Kapasitas dan Kecepatan Tinggi: Notifikasi Telegram dikirimkan via jalur push notification native yang sangat ringan. Pesan terkirim dalam sepersekian detik begitu pemicu (trigger) aktif.
- Format Pesan Fleksibel: Telegram mendukung format teks tebal, miring, tautan dinamis, bahkan inline button menggunakan standar format Markdown atau HTML sederhana, sehingga tampilan laporan menjadi rapi dan mudah dibaca sepintas lalu.
Tahap 1: Membuat Bot Telegram dan Mengambil Token API
Langkah pertama adalah membuat "wadah" bot yang bertugas sebagai kurir pengantar pesan.
- Buka aplikasi Telegram di smartphone atau laptop kamu.
- Pada kolom pencarian global, ketik @BotFather (pastikan akun memiliki tanda centang biru resmi dari Telegram).
- Klik tombol Start untuk memulai dialog, lalu ketik perintah
/newbotdan tekan kirim. - BotFather akan meminta kamu memberikan nama tampilan bot. Masukkan nama yang mudah dikenali, misalnya: Notifikasi Spreadsheet Toko.
- Selanjutnya, buat username unik untuk bot kamu. Syarat mutlaknya adalah username harus diakhiri dengan kata
bot(contoh:toko_notif_order_bot). - Jika username berhasil diterima, BotFather akan mengirimkan pesan konfirmasi yang memuat HTTP API Token. Bentuknya menyerupai barisan angka dan huruf acak seperti
7123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ12345. - Salin kode token tersebut dan simpan di catatan kamu. Token ini adalah kunci utama agar Google Sheets dapat menginstruksikan bot untuk mengirim pesan.
Tahap 2: Mengetahui Chat ID Akun atau Grup Tujuan
Agar bot tahu ke mana pesan harus diarahkan, bot membutuhkan identitas unik yang disebut chat_id. Kamu bisa mengirim notifikasi ini ke akun pribadi kamu sendiri, atau ke grup kerja tim.
Jika Mengirim ke Akun Pribadi:
- Di kolom pencarian Telegram, cari akun @userinfobot.
- Klik Start.
- Bot tersebut akan langsung membalas dengan menampilkan rincian profil kamu, termasuk deretan angka pada baris Id (misalnya:
987654321). Simpan nomor ID ini. - Buka bot yang baru saja kamu buat pada Tahap 1, lalu klik Start. Ini wajib dilakukan agar akun kamu mengizinkan bot tersebut mengirim pesan pertama kali.
Jika Mengirim ke Grup Tim:
- Buat grup Telegram baru atau buka grup yang sudah ada.
- Tambahkan bot kamu ke dalam grup tersebut sebagai anggota.
- Tambahkan juga bot pembantu bernama @RawDataBot ke dalam grup.
- Periksa pesan balasan dari @RawDataBot, cari bagian JSON bertuliskan
"chat":{"id": -100xxxxxxxxxx}. Angka minus beserta digit tersebut adalah ID grup kamu. Setelah ID didapat, kamu bisa mengeluarkan @RawDataBot dari grup.
Tahap 3: Menyiapkan Tabel dan Kode Google Apps Script
Sekarang, mari kita beralih ke lembar kerja Google Sheets.
- Buka spreadsheet yang ingin kamu pasangi sistem notifikasi. Pastikan data kamu memiliki struktur kolom yang teratur. Misalnya:
- Kolom A: Waktu Masuk (Timestamp)
- Kolom B: Nama Lengkap
- Kolom C: Alamat Email / Nomor HP
- Kolom D: Kategori Permintaan / Pesanan
- Pada menu bilah atas Google Sheets, klik Ekstensi (Extensions), lalu pilih Apps Script.
- Layar editor skrip akan terbuka di tab baru. Hapus seluruh baris kode contoh yang ada di dalam file
Code.gs. - Tempelkan potongan kode JavaScript berikut:
function kirimNotifikasiTelegram() {
// Masukkan kredensial yang sudah kamu dapatkan sebelumnya
const token = "PASTE_TOKEN_BOT_KAMU_DI_SINI";
const chatId = "PASTE_CHAT_ID_KAMU_DI_SINI";
// Mengambil lembar kerja yang sedang aktif
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const barisTerakhir = sheet.getLastRow();
// Pencegahan bila lembar kerja masih kosong atau hanya berisi baris judul
if (barisTerakhir <= 1) {
return;
}
// Mengambil nilai dari kolom baris terakhir (baris, kolom)
const waktu = sheet.getRange(barisTerakhir, 1).getValue();
const nama = sheet.getRange(barisTerakhir, 2).getValue();
const kontak = sheet.getRange(barisTerakhir, 3).getValue();
const kebutuhan = sheet.getRange(barisTerakhir, 4).getValue();
// Menyusun tata letak pesan notifikasi
const pesan = `🔔 *ADA DATA MASUK BARU!*\n` +
`━━━━━━━━━━━━━━━━━━\n` +
`⏱ *Waktu:* ${waktu}\n` +
`👤 *Nama:* ${nama}\n` +
`📞 *Kontak:* ${kontak}\n` +
`📌 *Kebutuhan:* ${kebutuhan}\n` +
`━━━━━━━━━━━━━━━━━━\n` +
`_Pesan dikirim otomatis dari Google Sheets_`;
// Endpoint API Telegram untuk kirim pesan
const url = "[https://api.telegram.org/bot](https://api.telegram.org/bot)" + token + "/sendMessage";
const payload = {
method: "post",
contentType: "application/json",
payload: JSON.stringify({
chat_id: chatId,
text: pesan,
parse_mode: "Markdown"
})
};
try {
UrlFetchApp.fetch(url, payload);
Logger.log("Pesan berhasil terkirim!");
} catch (error) {
Logger.log("Terjadi kesalahan pengiriman: " + error.toString());
}
}
- Ganti variabel
PASTE_TOKEN_BOT_KAMU_DI_SINIdanPASTE_CHAT_ID_KAMU_DI_SINIdengan kredensial milikmu. - Klik ikon Simpan (Save) di bilah alat Apps Script.
Tahap 4: Menguji Fungsi Pengiriman Manual
Sebelum memasang pemicu otomatis, biasakan untuk melakukan tes manual:
- Pastikan baris ke-2 pada spreadsheet kamu sudah berisi data uji coba.
- Di layar editor Apps Script, pastikan nama fungsi yang dipilih di sebelah tombol Debug adalah
kirimNotifikasiTelegram. - Klik tombol Jalankan (Run).
- Google akan menampilkan jendela pop-up Izin Diperlukan (Authorization Required):
- Klik tombol Tinjau Izin (Review Permissions).
- Pilih akun Google kamu.
- Jika muncul peringatan Google hasn't verified this app, klik menu Advanced (Lanjutan) di kiri bawah, lalu klik Go to Untitled project (unsafe).
- Klik tombol Allow (Izinkan).
- Periksa aplikasi Telegram kamu. Jika konfigurasi token dan ID sudah benar, pesan alert dengan data baris terakhir akan langsung masuk ke ponsel kamu.
Tahap 5: Memasang Pemicu Otomatis (Automation Trigger)
Tahap terakhir adalah menginstruksikan server Google agar mengeksekusi skrip ini tanpa perlu kita menekan tombol secara manual.
- Pada panel sebelah kiri editor Apps Script, klik ikon Pemicu (Triggers) yang berbentuk roda gigi atau jam weker.
- Klik tombol Tambahkan Pemicu (Add Trigger) di sudut kanan bawah.
- Lakukan konfigurasi parameter pemicu seperti berikut:
- Pilih fungsi yang akan dijalankan:
kirimNotifikasiTelegram - Pilih deployment yang akan dijalankan:
Head - Pilih sumber acara:
Dari spreadsheet (From spreadsheet) - Pilih jenis acara:
- Pilih Saat formulir dikirim (On form submit) jika data spreadsheet berasal dari Google Forms yang terintegrasi.
- Pilih Saat diedit (On edit) atau Saat perubahan (On change) jika kamu atau anggota tim memasukkan baris baru langsung di spreadsheet.
- Pilih fungsi yang akan dijalankan:
- Pada bagian Setelan pemberitahuan kegagalan, atur menjadi Beri tahu saya segera agar kamu langsung mendapat email jika suatu saat ada gangguan eksekusi.
- Klik Simpan (Save).
Tips Optimasi dan Pemecahan Masalah
Jika kamu sudah mengikuti langkah-langkah di atas namun pesan belum kunjung terkirim, periksa hal-hal berikut:
- Karakter Khusus pada Pesan: Mode
Markdownsensitif terhadap karakter tertentu seperti garis bawah (_), tanda bintang (*), atau kurung siku ([). Jika data input mengandung karakter tersebut di luar pola formatting, Telegram bisa menolak permintaan kirim (Bad Request: can't parse entities). Jika data kamu memuat banyak simbol bebas, kamu bisa menghapus parameterparse_mode: "Markdown"dari skrip. - Format Jam / Tanggal: Data tanggal dari spreadsheet terkadang muncul dalam format objek yang sangat panjang saat ditarik ke Apps Script. Kamu bisa merapikannya dengan fungsi JavaScript sederhana seperti
.toLocaleString('id-ID')agar tampilannya sesuai zona waktu Indonesia. - Batas Kuota Google: Akun Google Workspace maupun akun Gmail gratis memiliki limit kuota harian pemanggilan URL (URL Fetch calls). Untuk kebutuhan notifikasi ratusan per hari, kuota gratis ini sudah lebih dari cukup dan tidak akan menyentuh batas pemakaian.
Kesimpulan
Otomasi tidak selalu identik dengan perangkat lunak yang rumit dan biaya bulanan yang mahal. Hanya dengan memanfaatkan kombinasi cerdas antara Google Sheets, Apps Script, dan API Bot Telegram, kamu telah membangun sistem alur kerja operasional yang responsif dan sepenuhnya terotomatisasi.
Dengan menerapkan sistem ini, respons terhadap prospek pelanggan baru menjadi lebih cepat, koordinasi internal tim berjalan mulus, dan kamu tidak perlu lagi membuang waktu hanya untuk mengecek spreadsheet yang sama berulang kali.
Selamat mencoba, dan jangan ragu untuk bereksperimen memodifikasi tata letak serta variabel pesan sesuai alur kerja harian kamu!

Komentar: