WCT Logo

WCT Worldwidetraining

Attendance Management System

🔧 Setup
⚙️ Admin
📋 Form
📊 Records
● Not Connected
1

Create a Google Sheet

Go to sheets.google.com → create a new sheet → name it Attendance.
In row 1, add these headers exactly:

Timestamp	Name	Phone	Session	Date	Time	Trainer	Venue
2

Open Apps Script

In your Google Sheet, click Extensions → Apps Script. Delete any existing code, then paste this:

const SHEET_NAME = "Attendance";

function doPost(e) {
  try {
    const data = JSON.parse(e.postData.contents);
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
    sheet.appendRow([
      new Date().toLocaleString("en-MY"),
      data.name, data.phone, data.session,
      data.date, data.time, data.trainer, data.venue
    ]);
    return ContentService
      .createTextOutput(JSON.stringify({ result: "success" }))
      .setMimeType(ContentService.MimeType.JSON);
  } catch(err) {
    return ContentService
      .createTextOutput(JSON.stringify({ result: "error", error: err.toString() }))
      .setMimeType(ContentService.MimeType.JSON);
  }
}

function doGet(e) {
  try {
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
    const rows = sheet.getDataRange().getValues();
    const headers = rows[0];
    const data = rows.slice(1).map(row => {
      const obj = {};
      headers.forEach((h, i) => obj[h] = row[i]);
      return obj;
    });
    return ContentService
      .createTextOutput(JSON.stringify({ result: "success", data: data }))
      .setMimeType(ContentService.MimeType.JSON);
  } catch(err) {
    return ContentService
      .createTextOutput(JSON.stringify({ result: "error", error: err.toString() }))
      .setMimeType(ContentService.MimeType.JSON);
  }
}
3

Deploy as Web App

Click Deploy → New deployment
• Type: Web app
• Execute as: Me
• Who has access: Anyone
Click Deploy → copy the URL it gives you.

4

Paste the URL above

Paste the deployment URL into the field at the top of this page and click Save. You're done — data will now go directly to your Google Sheet.

Each session can send data to a different Google Sheet. Paste a unique Apps Script URL here, or leave blank to use the default.

Attendance Check-In

Please fill in your details to record your attendance.

Your information is only used for attendance purposes.

Total
Today
Sessions
📊
Click Refresh to load records from Google Sheets.