Panduan Wacal
Cara pakai Wacal dari nol sampai jago, step by step.
🚀 Mulai pertama kali
Setelah admin bikin akun untuk Anda, ini langkah onboarding-nya:
- Anda akan dapat username + password dari admin.
- Buka URL dashboard yang dikasih admin (mis.
https://nicobot.fly.dev/login). - Login pakai username + password tersebut.
- Sebaiknya langsung ganti password di tombol pojok kanan atas 🔑 Password.
- Lanjut connect Google + pair WhatsApp (di bawah).
🔐 Login dashboard
Dashboard tempat Anda atur semuanya: connect Google, scan QR WA, atur reminder, lihat jadwal, dll.
- Username: 3-32 karakter, huruf/angka/underscore/dash.
- Password: minimal 8 karakter.
- Lupa password? — klik link "Lupa password?" di bawah form login. Atau hubungi admin.
- Anti brute-force aktif: 8 percobaan login gagal per 15 menit per IP otomatis di-block. Akun ter-lock setelah 10 kali gagal beruntun.
🔗 Connect Google Calendar
- Setelah login, di tab Dashboard klik tombol "Sign in with Google".
- Browser redirect ke halaman consent Google. Pilih akun Google Anda.
- Klik "Continue" / "Allow".
- Kalau muncul peringatan "Google hasn't verified this app": klik "Advanced" → "Go to Wacal (unsafe)". Ini wajar di tahap testing — bukan virus, scope-nya hanya Calendar + Tasks (lihat Privacy Policy).
- Setelah sukses, Anda balik ke dashboard. Profil Google muncul di pojok kanan atas.
- Auto-sync otomatis jalan tiap 30 detik — event Anda muncul di tab Dashboard.
Kalau mau cabut akses kapan saja: tombol ✕ di samping profil Google, atau myaccount.google.com/permissions.
💬 Pair WhatsApp
Wacal jadi salah satu "linked device" di akun WhatsApp Anda (sama seperti WhatsApp Web).
- Buka tab WhatsApp di dashboard.
- Pilih salah satu cara:
- Scan QR Code — di HP Anda, buka WhatsApp → Settings → Linked Devices → Link a Device → scan QR di dashboard.
- Pairing Code — kalau tidak bisa scan, klik "Pakai Pairing Code", input nomor WA Anda → bot kasih kode 8 angka. Di HP: Linked Devices → Link with phone number → masukkan kode.
- Setelah connect, status "WA Connected" muncul. Bot siap pakai.
⚠️ Limit WhatsApp: maksimal 4 linked device per akun. Wacal salah satunya. Pastikan slot tersedia.
⌨️ Perintah dasar
Kirim ke nomor WA bot dari nomor WA Anda yang ter-pair:
/help — daftar semua perintah
/today — jadwal hari ini
/tomorrow — jadwal besok
/week — jadwal 7 hari ke depan
/month — jadwal bulan ini
/check 15 Mei — jadwal di tanggal tertentu
/search meeting — cari event
/sync — paksa sync sekarang
/status — status koneksi bot
📅 Bikin / edit / hapus event
Format template
/event Judul | tanggal | jam mulai | jam selesai | lokasi | (repeat: ...)
Pipe (|) sebagai pemisah. Lokasi dan repeat opsional.
Contoh:
/event Meeting Klien | besok | 14:00 | 15:30 | Kantor Pusat
/event Yoga | senin | 18:00 | 19:00 | Studio | (repeat: weekly)
/event Gym | 10 Mei | 06:00 | 07:00 | (repeat: weekly, BYDAY=MO,WE,FR, COUNT=12)
Multi-event (batch)
Kirim banyak event sekaligus:
/batch
Meeting Tim | besok | 09:00 | 10:00 | Zoom
Lunch dgn Andi | besok | 12:00 | 13:30 | Kopi Janji
Standup | jumat | 09:00 | 09:30
Edit event
Setelah /today atau /week, tiap event punya nomor [1] [2] .... Pakai itu untuk edit:
/edit 2 | judul baru | 15:00 | 16:00 — ubah field yang diisi, sisanya tetap
/edit 2 | | | | Lokasi Baru — kosongin yang gak diubah
Hapus event
/del 2 — hapus event referensi [2]
/del 2,3,5 — batch hapus
⏰ Reminder otomatis
Bot kirim WA reminder otomatis sebelum event mulai. Default: 30 menit + 1 jam sebelum.
Plus digest harian: setiap pagi (default 07:00 WIB) bot kirim ringkasan jadwal hari itu.
Atur di dashboard tab Reminder:
- Custom offset (mis. 5 menit, 15 menit, 1 jam, 1 hari).
- Jam digest harian.
- Pilih kalender mana yang dapat reminder (di tab Calendars).
✅ Google Tasks (todo)
/todo Beli kado ulang tahun
/todo Setor pajak, due 30 Mei
/todos — lihat todo aktif
/todos done — lihat yang sudah selesai
/done 1 — tandai todo [1] selesai
/done 1,2,3 — batch
/undone 1 — un-mark
/del-todo 1 — hapus task
🧠 Bahasa natural (AI)
Anda gak harus inget format /event Title | ... | .... Cukup ketik bebas,
AI Wacal parse otomatis:
"Tolong bikin meeting tim besok jam 10 sampai 11 di Zoom"
"Reminder yoga setiap selasa kamis jam 6 sore di studio dekat rumah"
"Bikin event ulang tahun mama 15 Mei seharian, judul: Ultah Mama"
AI cukup pintar untuk multi-event sekaligus juga:
"Senin saya ada meeting jam 9, lalu lunch dengan klien jam 12, dan training jam 3 sore"
Catatan: AI bisa salah parse kadang. Cek hasil dari pesan konfirmasi bot, kalau salah, edit/hapus
dengan /edit atau /del.
⚙️ Settings
Di dashboard ada beberapa tab settings:
- Reminder — atur offset reminder + jam digest harian.
- Calendars — pilih kalender Google mana yang di-sync. Default: semua yang Anda tampilkan di Google Calendar app.
- Credentials — Gemini API key Anda (kalau ingin pakai key sendiri), nomor owner, allowed LIDs (untuk WhatsApp privacy LID feature).
🔑 Whitelist & permission
Whitelist = daftar nomor WhatsApp yang boleh akses bot Anda. Owner (Anda) otomatis masuk; anggota
lain (asisten, kasir, pasangan, tim kerja) dikelola oleh admin Wacal — Anda
request ke admin atau gunakan flow /start dari WhatsApp (lihat bagian
Daftar via /start di bawah) untuk approval.
Tambah anggota whitelist (admin-only)
Section Whitelist di tab Setting hanya muncul untuk role admin. Calon anggota baru bisa kirim
/start <phone> <nama> ke bot — request masuk ke "📥 Pending Registration"
dan admin tinggal klik Approve. LID auto-resolve dari nomor + sender LID. Permission
default saat approve: calendar + todos + reminders aktif.
Permission per anggota
Setiap anggota whitelist punya hak akses sendiri:
- 🔔 reminders — terima reminder event + daily digest
- 📦 orders — terima notifikasi PO/reservasi (untuk fitur CS)
- 📅 calendar — boleh add/edit/del event Calendar lewat WA command
- ✅ todos — boleh add/edit/del todo lewat WA
- 💼 cs — boleh kelola order CS (/confirm, /cancel, dll.)
- 👥 teams — boleh kelola grup tim (lihat section Teams di bawah)
Mode "is_owner" = anggota itu jadi owner utama (yang JID-nya dipakai untuk reminder bila whitelist kosong). Cuma 1 yang boleh jadi owner.
Recent rejected — ketika WhatsApp ganti LID
WhatsApp kadang ganti LID per session (terutama setelah re-pair atau ganti device). Kalau anggota tiba-tiba dibalas "tidak whitelist", buka Setting → 📬 Recent Rejected. LID baru yang ditolak muncul di sini, klik + Tambah → pilih entry whitelist target → langsung in.
👥 Teams & routing reminder per event
Teams = grup whitelist member untuk routing reminder per event. Misal Anda punya
50 anggota tapi event "rapat marketing" cuma untuk 5 orang — bikin Tim Marketing, lalu di event
Calendar tag (team: Marketing) — reminder kirim hanya ke 5 orang itu, bukan 50 orang.
Bikin team
- Tab 👥 Teams di sidebar
- Klik "+ Tambah team baru"
- Isi nama (mis. "Tim Marketing", "Tim A", "Tim Operasional")
- Pilih anggota dari whitelist (boleh banyak)
- Pilih leader (opsional — ditandai bintang ⭐)
- Simpan
Cara tag event ke team
Tambahkan ke description event di Google Calendar:
(team: A, B)— kirim ke semua anggota Tim A & Tim B(team-leader: A, B)— kirim hanya ke leader Tim A & Tim B(team: A; team-leader: B)— mix: full member Tim A, leader Tim B saja
Auto-detect bahasa natural
Tidak harus pakai tag rapi. Bot juga deteksi natural language di title atau description:
- "Meeting tim B" → otomatis route ke Tim B
- "Rapat partisipan tim A" → otomatis route ke Tim A
- "Anggota Tim Marketing wajib hadir" → otomatis route ke Tim Marketing
- Keyword yang dikenal: tim, team, anggota, peserta, member, participant, partisipan, mengundang (termasuk variasi typo)
Tag @LID untuk individu
Mau invite orang spesifik di luar pola team? Tambah @<LID> di description, mis.
@141424750260381. Bot route reminder ke nomor itu (kalau LID-nya ada di whitelist).
Aturan dedup & fallback
- Sama nomor di banyak team → terima reminder 1 kali saja (bukan 3 kali)
- Tag team yang tidak ada / typo → fallback broadcast ke semua whitelist (tidak diam-diam gagal)
- Tanpa tag/mention → broadcast ke semua whitelist (default behavior, kompatibel dengan event lama)
Pesan reminder otomatis tampilkan tim
Footer pesan reminder otomatis include "👥 Tim: A, B (full)" — recipients tahu siapa lainnya yang dapat. Bisa dimatikan di Setting → Format Reminder kalau tidak diinginkan.
Kelola team via WhatsApp
Owner (atau anggota dengan permission "manage_teams") bisa:
/team → list semua team
/team add Tim A → bikin team baru
/team join Tim A 6285... → tambah member by phone
/team leader Tim A 6285... → set leader
/team kick Tim A 6285... → keluarkan member
/team del Tim A → hapus team
/team rename Tim A Tim Alpha → rename
📱 Daftar whitelist via WhatsApp
Anggota baru yang mau bergabung ke bot Anda bisa self-register langsung via WhatsApp tanpa harus ribet ngomong manual ke admin.
Format command
/start <nomor> <nama>
Contoh:
/start 6281234567890 Andi Marketing
Yang terjadi setelah kirim
- Bot terima permintaan dan reply: "✅ Permintaan diterima, admin akan review dalam 1×24 jam"
- Admin Wacal dapat notif WA otomatis
- Admin review di dashboard → Setting → 📥 Pending Registration
- Admin klik Approve: anggota langsung masuk whitelist (LID auto-resolve dari nomor + LID pengirim)
- Setelah disetujui, anggota dapat notif WA + bisa langsung pakai bot
Catatan
- Permission default saat approve:
calendar+todos+remindersaktif. Admin bisa adjust di Whitelist tab - Pelaku /start harus punya nomor yang terdaftar di WhatsApp
- Kalau spam — bot rate-limit otomatis (idempotent: nomor sama tidak bisa request 2x sekaligus)
🛠 Troubleshooting
Bot tidak balas perintah
- Cek tab Dashboard → status WA "Connected"?
- Cek nomor pengirim — bot hanya merespons nomor owner / nomor di allowed LIDs.
- Coba
/syncdan/status— bot harusnya balas instan. - Kalau status WA "Disconnected": buka tab WhatsApp → re-pair / scan QR ulang.
Calendar disconnect (~7 hari sekali)
Selama Wacal masih dalam mode "testing" di Google, refresh token Google Anda akan expire setiap 7 hari. Solusinya: buka dashboard → klik "Sign in with Google" lagi. Setelah Wacal lolos verifikasi Google nanti, masalah ini hilang permanen.
Reminder tidak terkirim
- Cek WA bot masih connected.
- Cek di tab Reminder — apakah event muncul di list pending?
- Cek apakah Anda sudah "/help" sekali ke bot — bot perlu chat sekali untuk tau JID Anda.
- Cek di tab Calendars — kalender event-nya di-enable?
AI parse salah
Bot kirim pesan konfirmasi setelah event dibuat. Kalau salah, hapus dengan /del <ref> dan coba lagi dengan kata-kata lebih spesifik (sertakan tanggal lengkap, jam mulai-selesai).
❓ Bantuan / kontak
Stuck atau ada bug? Hubungi admin via halaman About — ada nomor WA + email.