Skip to content

Instantly share code, notes, and snippets.

@miftahafina
Last active August 2, 2026 09:19
Show Gist options
  • Select an option

  • Save miftahafina/8316958c94f964753e0d91cce3122d19 to your computer and use it in GitHub Desktop.

Select an option

Save miftahafina/8316958c94f964753e0d91cce3122d19 to your computer and use it in GitHub Desktop.
Input Data dari WhatsApp ke Google Sheet - Full Tutorial: https://youtu.be/UOpdL3wrivg
function doPost(e) {
// Buka sheet
let sheetUrl = "YOUR_SHEET_URL";
let file = SpreadsheetApp.openByUrl(sheetUrl);
let sheet = file.getSheetByName("Sheet1");
// Rapikan data
let req = JSON.stringify(e).replace(/\\/g, "").replace("}\"", "}").replace("\"{", "{");
let reqJson = JSON.parse(req);
let senderMessage = JSON.stringify(reqJson["postData"]["contents"]["senderMessage"]);
// Mengurai isi pesan
let parsedMessage = senderMessage.split("#");
// ['"daftar', 'afin', '17/08/1945', 'Indonesia']
let nama = parsedMessage[1].trim();
let tanggalLahir = parsedMessage[2].trim();
let alamat = parsedMessage[3].trim().slice(0, -1);
// Membuat ID
let row = sheet.getLastRow() + 1;
let prefixIdPendaftar = 220000;
let idPendaftar = `A-${prefixIdPendaftar + row - 1}`;
// Insert data
sheet.getRange(`A${row}`).setValue(idPendaftar);
sheet.getRange(`B${row}`).setValue(nama);
sheet.getRange(`C${row}`).setValue(tanggalLahir);
sheet.getRange(`D${row}`).setValue(alamat);
// Respon
let response = {
data: [
{
message: `Terima kasih, ananda ${nama} berhasil terdaftar dengan ID ${idPendaftar}.`
}
]
};
return ContentService.createTextOutput(JSON.stringify(response));
}
@Wongxcerbon

Copy link
Copy Markdown

terima kasih sudah berbagi

@prisaliaamanatus

Copy link
Copy Markdown

Terimkasih sudah share. untuk contoh ini kan harus japri di WA, bisakah jika dibuat chat di grup yang ada nomor kita?

@choleesudin

Copy link
Copy Markdown

saya mengalami kendala dengan sedikit merubah script menjadi daftar#nama calon santri#unit#asal#nomor WA. kendalanya adalah hasil kirim pesan cuma terinput id pendaftar saja. sedangkan row berikutnya tetap kosong. tolong dibantu agar bisa berhasil menyimpan semua data.

berikut script hasil rubahan saya:

function doPost(e) {
// Buka sheet
let sheetUrl = "https://docs.google.com/spreadsheets/d/12ZPPhFJ27ABk4xhoLAmPh70or7HuQdMvkB8pgrAG9x4/edit?gid=0#gid=0";
let file = SpreadsheetApp.openByUrl(sheetUrl);
let sheet = file.getSheetByName("Sheet1");

// Rapikan data
let req = JSON.stringify(e).replace(/\/g, "").replace("}"", "}").replace(""{", "{");
let reqJson = JSON.parse(req);
let senderMessage = JSON.stringify(reqJson["postData"]["contents"]["senderMessage"]);

// Mengurai isi pesan
let parsedMessage = senderMessage.split("#");
// ['"daftar', 'si fulan', 'mts', 'duri', '0812']
let namaCalonSantri = parsedMessage[1].trim();
let unit = parsedMessage[2].trim();
let asal = parsedMessage[3].trim().slice(0, -1);
let nomorWA = parsedMessage[4].trim;

// Membuat ID
let row = sheet.getLastRow() + 1;
let prefixIdPendaftar = 202700;
let idPendaftar = A-${prefixIdPendaftar + row - 1};

// Insert data
sheet.getRange(A${row}).setValue(idPendaftar);
sheet.getRange(B${row}).setValue(namaCalonSantri);
sheet.getRange(C${row}).setValue(Unit);
sheet.getRange(D${row}).setValue(Asal);
sheet.getRange('E${row}').setValue(nomorWA);

// Respon
let response = {
data: [
{
message: Terima kasih, ananda ${namaCalonSantri} telah berhasil didaftarkan dengan ID ${idPendaftar}.
}
]
};

return ContentService.createTextOutput(JSON.stringify(response));
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment