Target Pembaca & Intent
Panduan ini ditujukan untuk pengambil keputusan pemasaran/operasi, developer internal, dan analis data di perusahaan B2B/UKM. Fokusnya adalah how‑to teknis praktis untuk membangun workflow Apps Script lengkap dengan contoh kode, template pesan, dan checklist implementasi.
Mengapa Perlu Daily Report Bot (Masalah & Solusi)
Manual reporting memakan waktu dan rawan inkonsistensi. Solusi yang disarankan: gunakan Google Apps Script untuk ekstraksi dari Sheets/DB, transformasi menjadi summary, lalu kirim otomatis ke channel tim—mengurangi delay dan menjaga keputusan berbasis data.
Use‑Case Utama & Varian
Skenario utama — Laporan Penjualan Harian
- Data source: Google Sheet (transaksi) atau database via JDBC/REST. Contoh otomasi Sheet: Form→CRM Sheet.
- Laporan ringkas: total penjualan, 5 produk teratas, perubahan vs hari sebelumnya.
- Delivery: Slack channel via Incoming Webhook atau WhatsApp via provider seperti Twilio (bisa juga provider lokal).
Varian
Inventori harian, ringkasan leads/CRM, monitoring sistem/alert. Contoh integrasi form‑to‑CRM dan appointment/reminder lewat Sheets→WA: contoh appointment→WA. Untuk OCR→sheet sebelum pemrosesan ringkasan lihat: contoh OCR invoice.
Arsitektur & Workflow (cara apps script workflow)
Diagram teks: Google Sheet / DB → Apps Script (extract → transform → build summary) → Notifier (send to slack/wa) → Scheduled trigger (daily).
Komponen penting: time‑driven trigger (installable triggers), PropertiesService untuk secrets, dan UrlFetchApp untuk panggil webhook/API. Panduan desain pipeline automasi: workflow automasi.
Persiapan & Requirement
- Akun Google & Google Sheet sample. Referensi fungsi QUERY di Sheets.
- Akses ke Apps Script Editor.
- Slack webhook atau Slack App token; WhatsApp provider (Twilio atau provider lokal). Twilio WA docs: Twilio WhatsApp.
- OAuth scopes: Spreadsheet, UrlFetchApp, JDBC (jika perlu). Lihat Authorization Scopes.
- Jika perlu OCR sebelum masuk Sheet, lihat contoh Zapier OCR invoice: OCR→sheet.
Struktur Project & Best Practice Kode
File direkomendasikan: config.js, utils.js, reportGenerator.js, notifier.js, triggers.js. Simpan token di PropertiesService, hindari hardcoding. Referensi struktur project dan orkestrasi: workflow automasi.
Langkah‑langkah Implementasi (ringkasan langkah utama)
1) Setup Google Sheet & contoh QUERY
Gunakan fungsi QUERY untuk pra-filter data di Sheet sebelum diproses di Apps Script.
2) Buat Apps Script project dan struktur file
Buat file sesuai struktur praktis dan simpan secrets di PropertiesService.
3) Implement querySheet() — baca range & filter
function querySheet() {
const ss = SpreadsheetApp.openById(PropertiesService.getScriptProperties().getProperty('SHEET_ID'));
const sheet = ss.getSheetByName('data');
const values = sheet.getDataRange().getValues();
// process rows -> return array of records
return values.slice(1);
}
4) Implement queryDB() — JDBC/REST
Jika menggunakan DB, ikuti panduan JDBC atau gunakan REST API dengan UrlFetchApp (amankan kredensial di PropertiesService).
5) Implement buildSummary(data)
Hitung total, top items, growth; kembalikan object summary yang siap diformat untuk delivery.
6) Format pesan untuk Slack (Block Kit) dan WhatsApp (plain text)
Untuk Slack gunakan Block Kit, untuk WhatsApp gunakan plain text template.
7) Implement sendToSlack() & sendToWA()
function sendToSlack(payload) {
const url = PropertiesService.getScriptProperties().getProperty('SLACK_WEBHOOK');
UrlFetchApp.fetch(url, {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload)
});
}
Untuk WhatsApp via Twilio, panggil endpoint Twilio sesuai panduan Twilio WhatsApp. Contoh integrasi lead routing: WhatsApp CRM Automotive, WhatsApp CRM Jewelry.
8) Setup scheduled trigger (daily)
ScriptApp.newTrigger('mainDailyReport').timeBased().everyDays(1).atHour(7).create();
Lihat dokumentasi triggers: Installable Triggers.
9) Test end‑to‑end & tambahkan logging/monitoring
Tambahkan logging dan integrasi ke Cloud Logging untuk observability: Cloud Logging.
Contoh Kode & Snippets (highlight)
- querySheet() — contoh di atas.
- buildSummary(data) — agregasi total dan top N (implementasi berdasarkan struktur data Anda).
- sendToSlack(payload) — gunakan Block Kit JSON (Block Kit).
- sendToWA via Twilio — panggil Twilio API sesuai dokumentasi.
Template Pesan & Formatting — Slack vs WhatsApp
Contoh singkat:
- WhatsApp (plain): “Laporan Harian • Total: Rp X\nTop 3 Produk: A, B, C\nGrowth vs Kemarin: +Y%”.
- Slack (Block Kit): header, section KPI, context line; tambahkan emoji untuk highlight; lihat contoh Block Kit.
Error Handling, Retries & Observability
Gunakan try/catch dengan pola retry (exponential backoff) dan Logger.log(). Untuk skala, gunakan Cloud Logging. Kirim notifikasi on‑failure ke admin Slack channel untuk tindakan cepat.
Security & Permissions
Simpan secrets di PropertiesService, gunakan minimal OAuth scopes, rencanakan rotasi token dan batasi akses project script sesuai prinsip least privilege.
Checklist Sebelum Live
- Validasi data & output summary.
- Token tersimpan di PropertiesService dan tidak di‑hardcode.
- Rate limit & retry handling diimplementasikan.
- Notifikasi error aktif dan monitoring tersedia.
- Backup plan manual jika notifikasi gagal.
Keberatan Umum & FAQ (singkat)
FAQ
Apakah aman menyimpan token di Script?
Simpan di PropertiesService dan rencanakan rotasi token. Hindari hardcode serta batasi akses project.
Data terlalu besar untuk Sheet?
Gunakan database dan hubungkan via JDBC/REST. Panduan JDBC: JDBC guide.
Bisa kirim WA tanpa Twilio?
Ya — ada provider WhatsApp Business API lokal/alternatif. Pilih provider yang sesuai anggaran, SLA, dan compliance.
Bagaimana dengan timezone dan jadwal?
Atur trigger menggunakan waktu lokal yang sesuai akun Google/Drive dan uji di lingkungan staging. Gunakan logging timestamp untuk verifikasi.
Bagaimana menguji end‑to‑end sebelum live?
Gunakan test sheet/data sandbox, webhook test channel Slack, dan nomor WhatsApp sandbox (mis. Twilio sandbox). Tambahkan verbose logging dan jalankan trigger manual untuk verifikasi.
Mengapa InReality Solutions Cocok untuk Proyek Otomasi Anda
- Keahlian end‑to‑end Otomasi & Agentic AI untuk integrasi sistem CRM/ERP.
- Praktik keamanan data & manajemen kredensial.
- Dukungan deployment, monitoring, dan dokumentasi untuk tim operasi.
Lihat layanan kami: /layanan/otomasi-ai dan portofolio: /portofolio.
Konsultasi & Demo Otomasi
Butuh implementasi end‑to‑end atau demo teknis? Ajukan konsultasi singkat untuk menilai workflow dan estimasi solusi. Kontak: /kontak-konsultasi
Ringkasan manfaat
Dengan apps script automation daily report bot Anda mendapatkan laporan konsisten, lebih cepat, dan terintegrasi ke channel tim (Slack/WA) sehingga keputusan operasional lebih tepat waktu dan terukur.