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));
}
@student010010100

Copy link
Copy Markdown

Error
TypeError: Cannot read properties of undefined (reading 'replace')
doPost @ Kode.gs:8

@4hm4d78

4hm4d78 commented Nov 8, 2024

Copy link
Copy Markdown

Trimakasih Atas Scriptnya berjalan dengan baik

Mau tanya gan
Scriptnya sedikit saya rubah agar format Pengiriman bisa seperti ini ;

Nama :
NIS :
Kelas :

Namun Jadi terkendala ketika ada huruf "n" maka tidak di respon, mohon petunjuknya

Trimakasih

Berikut script hasil modifnya

function doPost(e) {
// Buka sheet
let sheetUrl = "https://docs.google.com/spreadsheets/d/1fZA6EVegx6cV5NZlc9WZqKgBTZZX8zMQpiRAjPxdvDs/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("n");
// ['"daftar', 'afin', '17/08/1945', 'Indonesia']
let nis = parsedMessage[1].split(":")[1].trim();
let nama = parsedMessage[2].split(":")[1].trim();
let email = parsedMessage[3].split(":")[1].trim();
let status = parsedMessage[4].split(":")[1].trim().slice(0, -1);

// Membuat ID
let row = sheet.getLastRow() + 1;
let prefixIdPendaftar = 300;
let idPendaftar = MDQ${prefixIdPendaftar + row - 1};
let pass = 4${prefixIdPendaftar + row +111};

// Insert data
sheet.getRange(A${row}).setValue(nis);
sheet.getRange(B${row}).setValue(nama);
sheet.getRange(C${row}).setValue(email);
sheet.getRange(D${row}).setValue(idPendaftar);
sheet.getRange(E${row}).setValue(pass);
sheet.getRange(F${row}).setValue(status);

// Respon
let response = {
data: [
{
message: Terima kasih, Bapak/Ibu ${nama}, Anda berhasil terdaftar pada System Kami, dengan : *Username* ${idPendaftar} dan *Password* ${pass}.
}
]
};

return ContentService.createTextOutput(JSON.stringify(response));
}
Ini hasil modif

@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