Chatbot WhatsApp

Cara Membuat WhatsApp Chatbot AI Terintegrasi Google Calendar (Tutorial Lengkap)

3 min read
Screenshot percakapan WhatsApp chatbot yang mencatat jadwal ke Google Calendar

Saya sering kelupaan mencatat jadwal. Ada janji zoom, ada demo aplikasi ke klien, semuanya masuk lewat chat WhatsApp dan sering menguap begitu saja karena saya malas membuka aplikasi kalender secara terpisah. Dari situ saya mulai membangun WhatsApp chatbot AI yang terintegrasi Google Calendar, jadi begitu ada jadwal yang perlu dicatat, saya cukup ketik lewat WhatsApp seperti mengirim pesan biasa ke teman.

Berikut contohnya. Saya mengetik “catat ke kalender jam 20.00 nanti malam zoom”, dan bot langsung membalas bahwa jadwal sudah tercatat ke Google Calendar, lengkap dengan judul acara, tanggal, dan jam.

Screenshot percakapan WhatsApp chatbot yang mencatat jadwal ke Google Calendar

Di artikel ini saya jelaskan cara membangunnya dari nol, mulai dari sisi WhatsApp sampai sisi Google Calendar API. Semua langkahnya bisa diikuti meski server yang saya pakai sederhana, tidak perlu infrastruktur besar.

Alur Kerja Secara Umum

Alurnya ada empat tahap. Pesan WhatsApp masuk lewat webhook, teksnya diproses AI untuk mengambil informasi jadwal, informasi itu dikirim ke Google Calendar API untuk membuat event baru, lalu bot mengirim balasan konfirmasi ke pengguna begitu event berhasil tersimpan.

Langkah 1: Daftar WhatsApp Business API Resmi

Supaya bisa menerima pesan masuk lewat webhook, nomor WhatsApp perlu didaftarkan ke WhatsApp Business API resmi. Saya mendaftarkan nomor saya lewat tautan ini. Setelah aktif, setiap pesan yang masuk akan diteruskan ke server saya dalam bentuk JSON, berisi nomor pengirim dan isi pesan, contohnya seperti ini:

{
  "from": "6281234567890",
  "message": "catat ke kalender jam 20.00 nanti malam zoom",
  "timestamp": "2026-08-05T13:16:00+07:00"
}

Langkah 2: Ambil Informasi Jadwal dari Teks Pesan

Bagian ini yang paling menarik menurut saya. Pesan yang ditulis orang biasanya bebas, tidak terstruktur, seperti “jam 20.00 nanti malam zoom” atau “besok siang jam 1 meeting sama klien”. Saya memakai Claude untuk mengubah kalimat bebas itu menjadi format terstruktur, judul acara, tanggal, dan jam. Contoh prompt yang saya kirim ke API Claude:

Ubah pesan berikut menjadi JSON dengan field title, date, start_time, end_time.
Asumsikan durasi 1 jam jika tidak disebutkan.
Pesan: "catat ke kalender jam 20.00 nanti malam zoom"

Hasilnya berupa JSON yang tinggal dipakai langsung untuk mengisi event di langkah berikutnya, tanpa perlu menulis parser tanggal sendiri dari nol.

Langkah 3: Aktifkan Google Calendar API

Di Google Cloud Console, aktifkan Calendar API untuk project yang dipakai:

gcloud services enable calendar-json.googleapis.com

Lalu buat service account yang nanti dipakai server untuk mengakses Calendar tanpa perlu login manual setiap kali ada pesan masuk:

gcloud iam service-accounts create wa-calendar-bot \
  --display-name="WA Calendar Bot"

Unduh file kredensial JSON dari service account tersebut, lalu jangan lupa share kalender Google yang dituju ke email service account itu (formatnya seperti [email protected]), supaya service account punya akses tulis ke kalender.

Langkah 4: Buat Event dari Server

Setelah kredensial siap, install library resmi Google untuk Node.js:

npm install googleapis

Lalu panggil endpoint events.insert memakai data yang sudah terstruktur dari langkah 2:

const { google } = require('googleapis');

const auth = new google.auth.GoogleAuth({
  keyFile: 'kredensial.json',
  scopes: ['https://www.googleapis.com/auth/calendar'],
});

const calendar = google.calendar({ version: 'v3', auth });

await calendar.events.insert({
  calendarId: 'primary',
  requestBody: {
    summary: 'Zoom',
    start: { dateTime: '2026-08-06T20:00:00+07:00' },
    end: { dateTime: '2026-08-06T21:00:00+07:00' },
  },
});

Begitu kode ini berjalan, event baru langsung muncul di Google Calendar tanpa perlu membuka aplikasinya sama sekali.

Langkah 5: Kirim Balasan Konfirmasi

Langkah terakhir, kirim balasan ke WhatsApp berisi konfirmasi bahwa jadwal sudah tercatat, seperti pada contoh gambar di awal artikel. Bagian ini penting supaya pengguna yakin datanya benar masuk ke kalender, bukan hanya terkirim ke chatbot lalu hilang begitu saja.

Kegunaan Sehari-hari

Saya memakai pola ini untuk beberapa hal, mencatat jadwal zoom, reminder kirim demo aplikasi ke calon klien, sampai mencatat janji temu biasa. Semuanya lewat chat WhatsApp yang sudah biasa saya pakai setiap hari, tanpa aplikasi tambahan yang perlu dibuka satu per satu.

Yang saya suka dari pendekatan ini, prosesnya terasa seperti mengobrol biasa, tapi hasilnya tetap rapi tercatat di kalender. AI di sini berperan menerjemahkan bahasa manusia yang berantakan menjadi data terstruktur, sementara Google Calendar API yang mengurus penyimpanannya. Kombinasi keduanya membuat sesuatu yang dulu terasa merepotkan jadi sesederhana mengetik satu baris pesan.


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Chat!
1