Panduan25 September 2026 · 9 menit baca

Cara Kirim WhatsApp Otomatis dari Google Sheets

Cara mengirim pesan WhatsApp otomatis dari data Google Sheets memakai Google Apps Script, lengkap dengan kode dan catatan soal API resmi WhatsApp.

Banyak bisnis kecil di Indonesia sudah punya data pelanggan di Google Sheets, tapi masih mengirim pengingat satu per satu lewat WhatsApp. Kalau jumlah pelanggannya sudah ratusan, ini jadi pekerjaan yang melelahkan: Faktanya Anda harus bolak-balik antara spreadsheet dan WhatsApp. Ada beberapa cara mengotomisasi ini, dan cara terbaik bergantung pada skala Anda.

Tiga pilihan, dari paling mudah

PilihanBiayaCocok untuk
Google Sheets Add-on (WA Sender)Sebagian gratis, sebagian berbayarSedikit ratus pelanggan, ingin cepat
Google Apps Script + WA Business APIGratis untuk 1000 percakapan/bulanVolume sedang, butuh solusi jangka panjang
n8n + WA Business APIn8n gratis, perlu VPS kecilAlur kompleks dengan banyak aplikasi

Cara paling umum: Apps Script + WhatsApp Business API

WhatsApp Business API adalah cara resmi beriklan dan mengirim pesan lewat WhatsApp dengan izin dari Meta. Anda butuh WhatsApp Business Account dan token akses dari Meta for Developers. Setelah itu, Apps Script bisa mengirim pesan langsung dari data Google Sheets.

Menyiapkan data di Google Sheets

Siapkan satu sheet dengan kolom No, Nama, Nomor WhatsApp, dan Pesan. Nomor WhatsApp harus format internasional tanpa tanda plus atau spasi, contoh: 6281234567890.

Menulis kode Apps Script

function kirimPesan() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var token = "TOKEN_ANDA";
  var idPhoneNumber = "ID_WA_NUMBER_ANDA";

  // Baris 1 adalah header, jadi mulai dari baris kedua
  for (var i = 1; i < data.length; i++) {
    var nomor = data[i][2];
    var pesan = data[i][3];

    if (!nomor || !pesan) continue;

    var url = "https://graph.facebook.com/v19.0/" + idPhoneNumber + "/messages";
    var payload = {
      messaging_product: "whatsapp",
      to: nomor,
      type: "text",
      text: { preview_url: false, body: pesan }
    };

    var options = {
      method: "post",
      contentType: "application/json",
      headers: { Authorization: "Bearer " + token },
      payload: JSON.stringify(payload)
    };

    try {
      var response = UrlFetchApp.fetch(url, options);
      if (response.getResponseCode() !== 200) {
        sheet.getRange(i + 1, 5).setValue("Gagal: " + response.getContentText());
      } else {
        sheet.getRange(i + 1, 5).setValue("Terkirim");
      }
    } catch (err) {
      sheet.getRange(i + 1, 5).setValue("Error: " + err.message);
    }
  }
}

Menjalankan otomatis setiap hari

Kode di atas berjalan saat tombol ditekan atau dari menu. Untuk menjalankannya otomatis setiap pagi jam 8, buat trigger: klik ikon Jam di editor Apps Script, pilih pemicu berkala, lalu hubungkan ke fungsi kirimPesan.

Batas kuota yang perlu diketahui

WhatsApp Business API gratis untuk percakapan yang dimulai oleh pelanggan, dan percakapan pertama punya quota 1000 per bulan. Melebihi itu, tarif per pesan berlaku. Jadi kalau Anda mengirim ke ribuan pelanggan sekaligus tanpa mereka pernah membalas, itu sudah masuk kategori broadcast dan wajar kalau ditolak.

Kalau memang butuh kirim ke banyak orang sekaligus

Kalau kebutuhan Anda adalah mengirim informasi ke banyak nomor sekaligus, cara yang benar bukan broadcast WhatsApp, tapi broadcast newsletter: kirim ke orang yang mendaftarkan nomor dan ingin menerima kabar. Untuk pesan yang memang diminta atau memang relevan, WhatsApp jauh lebih dipercaya daripada pesan broadcast yang terlihat seperti spam.

Pertanyaan yang sering muncul

Apakah bisa kirim WhatsApp otomatis tanpa API resmi?
Secara teknis ada cara memakai perangkat kedua yang menjalankan WhatsApp Web, tapi itu melanggar ketentuan WhatsApp dan risikonya nomor Anda diblokir permanen. Untuk penggunaan yang bertahan lama, WhatsApp Business API resmi adalah satu-satunya jalan yang aman.
Berapa biaya WhatsApp Business API?
Percakapan pertama yang dimulai pelanggan gratis sampai 1000 per bulan. Setelah itu tarif per percakapan berlaku, dan besarnya tergantung kategori pesan. Untuk pengingat dan konfirmasi pesanan, biayanya umumnya kecil.
Apakah nomor saya bisa diblokir kalau mengirim massal?
Bisa, kalau mengirim ke nomor yang tidak pernah memberi izin. WhatsApp membedakan pesan yang diminta penerima dari pesan broadcast. Utamakan hanya mengirim ke pelanggan yang memang bertransaksi atau mendaftar sendiri.
Apakah Google Sheets cukup untuk data pelanggan saya?
Untuk ratusan sampai beberapa ribu pelanggan, Sheets masih cukup dan gratis. Kalau datanya sudah puluhan ribu baris atau perlu banyak orang mengakses bersamaan, sebaiknya pindah ke database seperti Supabase dan pakai n8n untuk alurnya.

Butuh bantuan untuk masalah Anda sendiri?

Konsultasi gratis, tanpa ikatan. Jelaskan kebutuhan Anda, dan kami bantu tentukan pendekatan yang paling masuk akal, termasuk kalau jawabannya ternyata tidak perlu diotomasi.

Cookie & analitik

Situs ini memakai Google Analytics untuk mengukur dari mana calon pelanggan menemukan kami. Tidak ada cookie iklan atau pelacakan lintas situs. Rincian di Kebijakan Privasi.