Hướng dẫn sử dụng workflow n8n để tạo sự kiện tự động trong Google Calendar từ dữ liệu Google Sheets

Nguyễn Hoàng Anh 16/05/2025 3 phút đọc

 

Trong bài viết hôm nay, Mắt Bão sẽ hướng dẫn bạn cách xây dựng một workflow n8n tự động tạo sự kiện trong Google Calendar theo từ dữ liệu Google Sheet.


1. Chuẩn bị

Trước khi bắt đầu, bạn cần:

  • Tài khoản Google: Để tạo Google Sheet

  • Tài khoản n8n (Cloud hoặc tự host): Bạn có thể tham khảo dịch vụ N8N của Mắt Bão TẠI ĐÂY

 


2. Các bước thiết lập chi tiết

🔹 Bước 1: Tạo Google Sheet chứa dữ liệu

Tạo bảng với các cột:

  • Tên sự kiện:

  • Mô tả sự kiện

  • Ngày bắt đầu sự kiện: định dạng date yyyy-MM-dd hoặc dd/MM/yyyy

  • Vị trí : Nơi sự kiện diễn ra


🔹 Bước 2: Tạo workflow trong n8n

1. Schedule Trigger

  • Tạo Trigger chạy mỗi ngày Google Sheet On row added

  • Cấu hình:

    • Kết nối Google API

    • Poll Times: Thời gian tự đông chạy
    • Document: Tên file google sheet bạn đã tạo

    • Sheet: Trang tính

2. Google Sheet (Get Rows)

  • Kết nối Google Sheet API để lấy Client ID và Client Secret 

  • Tạo 1 file Google Sheet với tên là event calendar và set quyền chia sẻ công khai

  • Lấy dữ liệu file google sheet

 

3. Code Node (Javascript)

  • Thêm đoan code sau vào :

const lastEvent = items[items.length – 1].json;

// Extract fields
const eventName = lastEvent[“Tên sự kiện”];
const eventDescription = lastEvent[“Mô tả sự kiện”];
const location = lastEvent[“Vị trí”];
const rawDate = lastEvent[“Ngày bắt đầu sự kiện”]; // “17/05/2025” hoặc “2025-05-17”

let startDate;

// Kiểm tra định dạng dd/MM/yyyy
if (/^\d{2}\/\d{2}\/\d{4}$/.test(rawDate)) {
const [day, month, year] = rawDate.split(“/”).map(Number);
startDate = new Date(year, month – 1, day); // month: 0-based
}

// Kiểm tra định dạng yyyy-MM-dd
else if (/^\d{4}-\d{2}-\d{2}$/.test(rawDate)) {
startDate = new Date(rawDate); // JavaScript hiểu được dạng này
}

else {
throw new Error(“Định dạng ngày không hợp lệ: ” + rawDate);
}

// Kiểm tra ngày hợp lệ
if (isNaN(startDate.getTime())) {
throw new Error(“Ngày không hợp lệ: ” + rawDate);
}

// Chuyển sang dạng ISO
const formattedStartDate = startDate.toISOString().split(“T”)[0];

return [{
json: {
eventName,
eventDescription,
startDate: formattedStartDate,
location
}
}];

 

 

4. Node Google Calendar

  • Kết nối Google calendar API để lấy Client ID và Client Secret 

  • Tạo sự kiện trên lịch dựa theo dữ liệu trên file google sheet

 

5. Kiểm tra và chạy thử 

  • Kiểm tra lại sự kiện trên google calendar của bạn trước khi chạy

  • Trên trang n8n bạn click vào nút Test Flow để chạy thử

  • Kiểm tra lại trên google calendar của bạn

 


 Hoàn tất

Sau khi lưu workflow:

  • Kiểm tra thử với vài dòng đầu

  • Sau khi xác nhận hoạt động tốt → bật chế độ tự động hàng ngày

 

Chúc bạn thành công và khai thác tối đa sức mạnh của tự động hóa cùng máy chủ Automation n8n Mắt Bão!






Bài viết liên quan