
Hướng dẫn tự động gửi Đơn đăng ký về mail khi đăng ký trên google forms
Bạn có bao giờ cảm thấy mệt mỏi khi phải xử lý thủ công hàng loạt đơn đăng ký từ Google Forms? Tưởng tượng xem, sau mỗi sự kiện hay chương trình, bạn phải tải từng đơn, điền thông tin vào mẫu, lưu lại rồi gửi email cho từng người… Thật là tốn thời gian và công sức!
Nhưng đừng lo lắng! Bài hướng dẫn này sẽ giúp bạn giải quyết vấn đề đó một cách dễ dàng. Chúng ta sẽ cùng nhau xây dựng một hệ thống tự động gửi đơn đăng ký về email của người đăng ký ngay sau khi họ điền form. Điều này không chỉ giúp bạn tiết kiệm thời gian mà còn tạo ấn tượng chuyên nghiệp và nhanh chóng cho người tham gia.
Chúng ta sẽ bắt đầu từ việc chuẩn bị Google Form, Google Sheet và Google Docs, sau đó đi sâu vào thiết lập Google Apps Script để tự động hóa quy trình. Cuối cùng, bạn sẽ được hướng dẫn cách chạy và kiểm tra hoạt động để đảm bảo mọi thứ hoạt động trơn tru. Hãy cùng tôi khám phá cách biến những công việc nhàm chán thành một quy trình tự động hoàn toàn nhé!
1. Chuẩn Bị Trước Khi Bắt Đầu
Trước khi chúng ta bắt tay vào xây dựng hệ thống tự động gửi đơn đăng ký từ Google Forms về email, việc chuẩn bị kỹ lưỡng là vô cùng quan trọng. Nó giống như việc chuẩn bị nguyên liệu trước khi nấu một món ăn ngon vậy. Chuẩn bị càng tốt, món ăn (ở đây là hệ thống) càng hoàn hảo.
1.1. Tạo Google Form và Google Sheet Liên Kết
Đầu tiên, chúng ta cần một Google Form để thu thập thông tin đăng ký. Hãy suy nghĩ về những thông tin cần thiết để đưa vào đơn đăng ký của bạn. Ví dụ: họ tên, giới tính, ngày sinh, số điện thoại, học vị, đơn vị công tác, chuyên ngành, số CCCD… Càng chi tiết càng tốt!
Sau khi tạo xong form, bước tiếp theo là liên kết form với Google Sheet. Google Sheet sẽ là nơi lưu trữ tất cả dữ liệu mà người dùng nhập vào form. Để liên kết, bạn vào tab “Câu trả lời” trong Google Form, nhấp vào biểu tượng Google Sheet (tạo bảng tính) và chọn “Tạo bảng tính mới”. Google sẽ tự động tạo một sheet mới và liên kết nó với form của bạn. Mỗi khi có ai đó điền form, dữ liệu sẽ tự động được cập nhật vào sheet này.
Lưu ý: Hãy đặt tên cho sheet một cách dễ nhớ, ví dụ như “DanhSach” (như trong code của bạn) để dễ dàng tham chiếu trong script sau này.
1.2. Tạo Google Docs Mẫu Đơn Đăng Ký

Tiếp theo, chúng ta cần một Google Docs mẫu để tạo ra các đơn đăng ký cá nhân hóa. Đây sẽ là “khuôn mẫu” để chúng ta điền thông tin từ Google Sheet vào.
Hãy tạo một file Google Docs mới và thiết kế nó theo ý muốn. Quan trọng nhất là bạn cần sử dụng các placeholder (ví dụ: {{hoten}}
, {{gioi}}
, {{namsinh}}
,…) để đánh dấu những vị trí mà thông tin từ Google Sheet sẽ được điền vào. Các placeholder này phải khớp với tên các cột trong Google Sheet của bạn.
Ví dụ, nếu trong Google Sheet bạn có cột “Họ và tên”, thì trong Google Docs mẫu, bạn sẽ đặt placeholder là {{hoten}}
.
Mẹo nhỏ: Hãy làm cho mẫu đơn thật chuyên nghiệp và dễ nhìn. Điều này sẽ tạo ấn tượng tốt với người đăng ký.
1.3. Tạo Thư Mục Lưu Trữ Đơn Đăng Ký Trên Google Drive

Cuối cùng, chúng ta cần một nơi để lưu trữ các đơn đăng ký đã được tạo ra. Google Drive là lựa chọn hoàn hảo.
Hãy tạo một thư mục mới trên Google Drive và đặt tên cho nó một cách dễ hiểu, ví dụ như “DonDangKy_CLBTimMach”. Thư mục này sẽ là nơi chứa tất cả các bản sao của mẫu đơn, mỗi bản sao chứa thông tin của một người đăng ký.
Quan trọng: Hãy ghi nhớ ID của thư mục này. Bạn sẽ cần nó để cấu hình script sau này. Để lấy ID, hãy mở thư mục trên Google Drive và nhìn vào URL. ID là chuỗi ký tự sau /folders/
và trước dấu /
. Ví dụ: https://drive.google.com/drive/folders/1yE4bNJt-z9qVHXiUPco9yuDzvVuqvbC-
thì ID của thư mục là 1yE4bNJt-z9qVHXiUPco9yuDzvVuqvbC-
.
Việc chuẩn bị kỹ lưỡng ở bước này sẽ giúp quá trình thiết lập script sau này trở nên dễ dàng và trơn tru hơn rất nhiều. Hãy dành thời gian để hoàn thành các bước này một cách cẩn thận.
2. Thiết Lập Google Apps Script
2.1. Mở Google Sheet và Truy Cập Trình Soạn Thảo Script

Okay, đến phần thú vị rồi đây! Sau khi chuẩn bị hết “đạo cụ” cần thiết, giờ là lúc chúng ta “nhập vai” lập trình viên để tự động hóa quy trình gửi đơn đăng ký. Đừng lo lắng nếu bạn chưa từng viết code bao giờ, tôi sẽ hướng dẫn từng bước một cách chi tiết nhất.
Đầu tiên, chúng ta cần mở Google Sheet mà bạn đã liên kết với Google Form. Đây là nơi dữ liệu từ form sẽ “đổ bộ” sau khi người dùng điền thông tin.
Tiếp theo, hãy tìm đến trình soạn thảo Script. Bạn có thể tìm thấy nó bằng cách vào “Công cụ” > “Trình chỉnh sửa tập lệnh”. Một cửa sổ mới sẽ hiện ra, đây chính là “sân khấu” để chúng ta viết code.
Lúc mới mở, bạn sẽ thấy một đoạn code mẫu đơn giản. Hãy cứ bỏ qua nó và chuẩn bị cho bước tiếp theo.
2.2. Sao Chép và Dán Đoạn Mã Google Apps Script
Bây giờ, bạn cần sao chép toàn bộ đoạn mã Google Apps Script mà bạn đã cung cấp. Hãy cẩn thận chọn đúng đoạn code, từ dòng đầu tiên đến dòng cuối cùng, để tránh xảy ra lỗi không mong muốn.
Sau khi sao chép, hãy quay trở lại trình soạn thảo Script và dán đoạn code đó vào. Bạn có thể xóa đoạn code mẫu ban đầu nếu muốn.
Lúc này, “sân khấu” của bạn đã sẵn sàng với một “vở kịch” tự động hóa hoàn chỉnh. Tuyệt vời!
function guiEmailTuDongNeuChuaGui() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("DanhSach"); // tên sheet
let data = sheet.getDataRange().getValues();
let header = data[0];
// ✅ Tạo cột "Đã gửi?" nếu chưa có
let statusCol = header.indexOf("Đã gửi?");
if (statusCol === -1) {
sheet.getRange(1, header.length + 1).setValue("Đã gửi?");
header = sheet.getDataRange().getValues()[0]; // cập nhật lại header
data = sheet.getDataRange().getValues(); // cập nhật lại toàn bộ data
statusCol = header.indexOf("Đã gửi?");
}
// Các cấu hình
const templateId = "ID Google Docs"; // ID Google Docs mẫu
const folderId = "ID Thư mục Drive"; // Thư mục Drive
const adminEmail = "clbtimmachgialai@gmail.com"; // Email quản trị
const huongDanUrl = "https://timmachgialai.com/huong-dan-tao-chu-ky-dien-tu-cho-google-docs-va-google-drive/";
for (let i = 1; i < data.length; i++) {
const row = data[i];
const daGui = row[statusCol];
if (daGui === "Đã gửi") continue;
const [
timestamp, email, hoten, gioi, namsinh,
sodienthoai, hocvi, donvi, chuyennganh, cccd
] = row;
const fileName = `${hoten} - Don CLB Tim mach`;
const copy = DriveApp.getFileById(templateId).makeCopy(fileName, DriveApp.getFolderById(folderId));
const fileUrl = copy.getUrl();
const doc = DocumentApp.openById(copy.getId());
const body = doc.getBody();
const formattedDate = Utilities.formatDate(new Date(namsinh), Session.getScriptTimeZone(), "dd/MM/yyyy");
body.replaceText('{{hoten}}', hoten);
body.replaceText('{{gioi}}', gioi);
body.replaceText('{{namsinh}}', formattedDate);
body.replaceText('{{sodienthoai}}', sodienthoai);
body.replaceText('{{hocvi}}', hocvi);
body.replaceText('{{donvi}}', donvi);
body.replaceText('{{chuyennganh}}', chuyennganh);
body.replaceText('{{cccd}}', cccd || "................");
doc.saveAndClose();
// Gửi email
if (email && email.toString().includes("@")) {
const subject = `Đơn đăng ký CLB Tim mạch – ${hoten}`;
const htmlBody = `
<p>Chào <strong>${hoten}</strong>,</p>
<p>Chúng tôi đã tạo đơn đăng ký tham gia Câu lạc bộ Tim mạch Gia Lai dành cho bạn.</p>
<p> <a href="${fileUrl}" target="_blank">Xem và chỉnh sửa đơn đăng ký tại đây</a></p>
<p> Vui lòng kiểm tra lại thông tin, ký tên, và gửi lại.</p>
<p> Hướng dẫn ký điện tử: <a href="${huongDanUrl}" target="_blank">Xem tại đây</a></p>
<p> Sau khi hoàn tất, bạn có thể gửi lại văn bản về: <strong>${adminEmail}</strong></p>
<p> Trân trọng,<br>CLB Tim mạch Gia Lai</p>
`;
GmailApp.sendEmail(email, subject, "", {
htmlBody: htmlBody,
name: "CLB Tim mạch Gia Lai"
});
}
// ✅ Ghi trạng thái "Đã gửi"
sheet.getRange(i + 1, statusCol + 1).setValue("Đã gửi");
}
}
2.3. Kích hoạt

Đây là bước quan trọng để “tự đọng hóa” script cho phù hợp với Google Form, Google Docs mẫu và Google Drive của bạn. Chúng ta cần “nói” cho script biết chính xác nơi tìm dữ liệu và nơi lưu trữ kết quả.

Đến đây, bạn đã hoàn thành việc thiết lập Google Apps Script. Chúc mừng bạn! Giờ là lúc chúng ta kiểm tra xem “vở kịch” của mình có diễn ra suôn sẻ hay không.
3. Chạy và Kiểm Tra Hoạt Động
3.1. Cấp Quyền Cho Script
Sau khi bạn đã dán đoạn mã Google Apps Script vào trình soạn thảo, bước tiếp theo là cấp quyền cho script này để nó có thể truy cập và thao tác với các dịch vụ của Google như Google Sheets, Google Docs, Google Drive và Gmail. Đây là một bước cực kỳ quan trọng, nếu không có quyền, script của bạn sẽ “đứng hình” và không thể thực hiện bất kỳ thao tác nào.
Khi bạn chạy script lần đầu tiên, Google sẽ hiển thị một hộp thoại yêu cầu bạn cho phép script truy cập vào các tài khoản và dịch vụ liên quan. Hãy đọc kỹ các yêu cầu quyền và đảm bảo bạn hiểu rõ những gì mình đang cho phép. Thông thường, script sẽ yêu cầu quyền:
- Xem và quản lý bảng tính Google Sheets của bạn.
- Xem và quản lý tài liệu Google Docs của bạn.
- Xem và quản lý tệp và thư mục trên Google Drive của bạn.
- Gửi email dưới danh nghĩa của bạn.
Nếu bạn cảm thấy bất kỳ yêu cầu quyền nào không hợp lý hoặc đáng ngờ, hãy dừng lại và kiểm tra lại đoạn mã script. Đảm bảo bạn hiểu rõ mục đích của từng dòng code trước khi cấp quyền. Sau khi bạn đã chắc chắn, hãy nhấn nút “Cho phép” để tiếp tục.
3.2. Chạy Hàm guiEmailTuDongNeuChuaGui()
Bây giờ là lúc để kiểm tra xem script của bạn có hoạt động hay không. Trong trình soạn thảo script, hãy tìm hàm guiEmailTuDongNeuChuaGui()
. Đây là hàm chính chịu trách nhiệm lấy dữ liệu từ Google Sheets, tạo đơn đăng ký từ Google Docs, lưu trữ vào Google Drive và gửi email.
Để chạy hàm này, bạn chỉ cần chọn tên hàm từ menu dropdown ở phía trên trình soạn thảo và nhấn nút “Chạy” (biểu tượng hình tam giác). Hãy nhớ rằng, lần đầu tiên chạy, bạn có thể phải đợi một chút để script khởi động và thực hiện các thao tác cần thiết.
Trong quá trình chạy, script sẽ thực hiện các bước sau:
- Kiểm tra xem cột “Đã gửi?” đã tồn tại trong Google Sheets hay chưa. Nếu chưa, script sẽ tự động tạo cột này.
- Đọc dữ liệu từ Google Sheets, bỏ qua các hàng đã được đánh dấu là “Đã gửi”.
- Với mỗi hàng dữ liệu mới, script sẽ tạo một bản sao của Google Docs mẫu, điền thông tin cá nhân vào các trường tương ứng.
- Lưu bản sao này vào thư mục chỉ định trên Google Drive.
- Gửi email thông báo cho người đăng ký, kèm theo liên kết đến đơn đăng ký đã được tạo.
- Đánh dấu hàng dữ liệu tương ứng trong Google Sheets là “Đã gửi”.
3.3. Kiểm Tra Email và Thư Mục Google Drive
Sau khi script chạy xong, hãy kiểm tra hộp thư đến của bạn (và cả hộp thư spam nữa, cho chắc ăn!) để xem bạn đã nhận được email thông báo hay chưa. Email này sẽ chứa liên kết đến đơn đăng ký đã được tạo trên Google Drive.
Đồng thời, hãy kiểm tra thư mục lưu trữ đơn đăng ký trên Google Drive để đảm bảo rằng các đơn đăng ký đã được tạo và lưu trữ đúng cách. Nếu bạn thấy bất kỳ vấn đề nào, hãy kiểm tra lại cấu hình script và đảm bảo rằng tất cả các ID và email đã được nhập chính xác.
Nếu mọi thứ đều hoạt động tốt, xin chúc mừng! Bạn đã thành công trong việc tự động hóa quy trình gửi đơn đăng ký từ Google Forms về email. Bây giờ, bạn có thể yên tâm rằng mỗi khi có ai đó đăng ký, một đơn đăng ký sẽ tự động được tạo và gửi đến họ, giúp bạn tiết kiệm rất nhiều thời gian và công sức.
Hoàn Tất
Đến đây, chúng ta đã gần như hoàn thành quá trình tự động hóa việc gửi đơn đăng ký từ Google Forms về email rồi! Cảm giác thật tuyệt vời khi những công việc lặp đi lặp lại được giải phóng, nhường chỗ cho những hoạt động sáng tạo và ý nghĩa hơn. Tuy nhiên, đừng vội ăn mừng, vẫn còn một vài bước quan trọng để đảm bảo mọi thứ hoạt động trơn tru và hiệu quả.
Kiểm Tra Lần Cuối và Tối Ưu
Trước khi chính thức đưa vào sử dụng, hãy dành thời gian kiểm tra lại toàn bộ quy trình một lần nữa. Hãy tự mình điền vào Google Form, theo dõi quá trình script hoạt động, và đảm bảo rằng email được gửi đi với nội dung chính xác, đơn đăng ký được tạo ra đúng định dạng và lưu trữ đúng thư mục.
- Kiểm tra kỹ lưỡng email: Hãy chú ý đến tiêu đề, nội dung, và đặc biệt là các đường dẫn (URL) đến đơn đăng ký. Đảm bảo rằng chúng hoạt động chính xác và dẫn đến đúng tài liệu.
- Rà soát đơn đăng ký: Mở đơn đăng ký vừa được tạo ra và kiểm tra xem tất cả các trường dữ liệu đã được điền đúng hay chưa. Nếu có bất kỳ sai sót nào, hãy quay lại bước cấu hình script và điều chỉnh lại.
- Kiểm tra thư mục lưu trữ: Xác minh rằng đơn đăng ký đã được lưu trữ đúng thư mục trên Google Drive. Đặt tên file theo một quy tắc thống nhất (ví dụ: “Họ tên – Ngày tháng”) sẽ giúp bạn dễ dàng quản lý và tìm kiếm sau này.
Nếu mọi thứ đều ổn, xin chúc mừng! Bạn đã thành công trong việc tự động hóa quy trình gửi đơn đăng ký. Tuy nhiên, đừng dừng lại ở đó. Hãy luôn tìm cách tối ưu hóa script để nó hoạt động nhanh hơn, hiệu quả hơn và ít gặp lỗi hơn.
Khắc Phục Sự Cố và Bảo Trì
Trong quá trình sử dụng, có thể bạn sẽ gặp phải một vài sự cố không mong muốn. Đừng lo lắng, đó là điều hoàn toàn bình thường. Điều quan trọng là bạn phải biết cách xác định nguyên nhân và khắc phục chúng.
- Lỗi cấp quyền: Nếu script không hoạt động, rất có thể là do bạn chưa cấp đủ quyền cho nó. Hãy quay lại bước cấp quyền và đảm bảo rằng bạn đã cho phép script truy cập vào Google Sheets, Google Docs, Google Drive và Gmail.
- Lỗi cú pháp: Đôi khi, chỉ một dấu chấm phẩy bị thiếu hoặc một ký tự sai cũng có thể khiến script ngừng hoạt động. Hãy kiểm tra kỹ lưỡng code và đảm bảo rằng nó không có bất kỳ lỗi cú pháp nào.
- Lỗi kết nối: Nếu script không thể kết nối với Google Sheets, Google Docs hoặc Google Drive, có thể là do kết nối internet của bạn không ổn định. Hãy kiểm tra lại kết nối internet và thử lại.
Ngoài ra, hãy thường xuyên bảo trì script để đảm bảo rằng nó luôn hoạt động tốt. Cập nhật các thư viện và phiên bản mới nhất, theo dõi nhật ký hoạt động để phát hiện sớm các vấn đề tiềm ẩn, và sẵn sàng ứng phó với các sự cố bất ngờ.
Nâng Cấp và Mở Rộng
Khi đã làm chủ được quy trình cơ bản, bạn có thể nâng cấp và mở rộng script để đáp ứng những nhu cầu phức tạp hơn.
- Thêm tính năng lọc dữ liệu: Chỉ gửi email cho những người đáp ứng một số tiêu chí nhất định (ví dụ: chỉ gửi cho những người đăng ký trước một thời hạn nhất định).
- Tạo báo cáo thống kê: Tự động tạo báo cáo về số lượng đơn đăng ký, tỷ lệ thành công, và các thông tin hữu ích khác.
- Tích hợp với các dịch vụ khác: Kết nối với các dịch vụ quản lý khách hàng (CRM) hoặc các công cụ marketing tự động để tối ưu hóa quy trình làm việc.
Việc tự động hóa quy trình gửi đơn đăng ký chỉ là một ví dụ nhỏ về những gì bạn có thể làm với Google Apps Script. Hãy khám phá thêm những khả năng vô tận của nó và biến những ý tưởng sáng tạo của bạn thành hiện thực!