Ba workflow n8n mẫu dùng được ngay: Google Sheets, Telegram và API nội bộ

SSH vào VPS đã cài n8n, bạn cần gì ngoài một workflow mẫu để bắt đầu? Nhiều người mở n8n lần đầu, nhìn vào bảng canvas trống là không biết bắt đầu từ đâu. Bài này tôi đưa ra ba workflow n8n mẫu dùng thực tế mỗi ngày, từ ghi log Google Sheets, cảnh báo Telegram server, đến gọi API nội bộ. Mỗi workflow có lệnh, node, cách xử lý lỗi và bước test trước khi bật lịch.
Yêu cầu trước khi bắt đầu
- VPS đã cài Docker và n8n. Nếu chưa có, bạn có thể tham khảo hướng dẫn cài n8n trên VPS Ubuntu 24.04 bằng Docker Compose.
- Bạn có quyền root hoặc
sudotrên VPS. - Tài khoản Google Cloud (cho Google Sheets), có thể dùng service account.
- Telegram bot token, tạo qua
@BotFather. - Một API nội bộ (ví dụ: WordPress REST API, hoặc API nội bộ do team dev viết).
Vì sao cần workflow n8n mẫu ngay từ đầu?
n8n là công cụ mạnh, nhưng cú pháp node và cách kết nối dịch vụ không phải ai cũng nhớ hết. Việc có sẵn workflow n8n mẫu giúp bạn:
- Hiểu nguyên lý nối node: trigger → action → response.
- Biết cách đặt Error Workflow và Retry on Fail.
- Kiểm tra từng bước trước khi bật lịch chạy tự động, tránh vỡ dữ liệu.
Workflow 1, Ghi log dữ liệu vào Google Sheets
Đây là workflow đơn giản nhất: mỗi khi có dữ liệu đầu vào (webhook, form, hoặc lịch chạy định kỳ), n8n sẽ ghi một dòng mới vào Google Sheet. Dùng khi bạn cần log request, lưu lead từ web, hoặc backup nhanh vào spreadsheet.
Node cần dùng
- Schedule Trigger, hoặc Webhook trigger. Ở đây tôi dùng Schedule, chạy mỗi 1 giờ.
- Set, định nghĩa dữ liệu cần ghi: cột A, B, C.
- Google Sheets, chọn action “Append”.
Xử lý lỗi
Lỗi thường gặp: Google Sheets trả về 403, Permission Denied khi service account chưa được share quyền vào sheet. Trước khi bật workflow, hãy vào sheet, Share với email service account (quyền Editor).
Cách retry: Trong tab Settings của node Google Sheets, bật “Continue on Fail” = false, và đặt “Retry on Fail” = 2 lần, khoảng cách 10 giây. Thêm Error Trigger riêng để ghi log lỗi ra một sheet khác hoặc gửi Telegram.
Test trước khi bật lịch
- Bấm “Execute Workflow” để chạy thử một lần.
- Kiểm tra Google Sheet: phải thấy một dòng mới.
- Nếu không có dòng nào, vào phần “Execution” xem output của node Google Sheets, thường lỗi hiện ở dòng màu đỏ.
// Cấu trúc dữ liệu cần ghi
{
"values": [
["2026-04-15 10:00", "Lead từ trang landing", "[email protected]"]
]
}
Workflow 2, Cảnh báo Telegram khi server có vấn đề
Bạn có thể tận dụng n8n như một trung tâm cảnh báo: khi CPU > 90%, disk đầy, hoặc service process chết, workflow này gửi tin nhắn Telegram về group của bạn.
Node cần dùng
- Webhook, nhận request từ script bash gửi lên (ví dụ: một script kiểm tra CPU).
- Set, format tin nhắn: dòng đầu = cảnh báo, dòng sau = giá trị.
- Telegram, action “Send Message”, chat ID = ID group của bạn.
Xử lý lỗi
Lỗi thường gặp: 400, Bad Request: chat not found nghĩa là bot chưa được thêm vào group, hoặc chat ID sai. Cách fix: gửi tin nhắn bất kỳ từ bot vào group, sau đó gọi https://api.telegram.org/bot<token>/getUpdates để lấy đúng chat ID.
Cách retry: Đặt Retry on Fail = 3 lần, mỗi lần cách nhau 30 giây. Thêm Error Workflow ghi log lỗi ra file JSON trên server, để debug sau.
Test trước khi bật lịch
Bật workflow ở chế độ “Webhook”, sau đó dùng curl gửi request giả:
curl -X POST https://n8n.example.com/webhook/alert \
-H "Content-Type: application/json" \
-d '{"type":"CPU","value":95}'
Nếu Telegram nhận tin nhắn trong vòng 2 giây, workflow OK. Nếu không, kiểm tra node Telegram output.
Workflow 3, Tích hợp API nội bộ (CRUD tự động)
Workflow này gọi API nội bộ của bạn (ví dụ: WordPress REST API, hay API quản lý đơn hàng) để tạo mới hoặc cập nhật dữ liệu theo lịch. Tôi hay dùng để đồng bộ danh sách khách hàng từ CRM vào WordPress mỗi đêm.
Node cần dùng
- Schedule Trigger, chạy mỗi 24 giờ.
- HTTP Request, gọi API với method POST, body JSON.
- Function (hoặc Set), transform dữ liệu trước khi gửi.
- IF, kiểm tra response: success hay fail.
Xử lý lỗi
Lỗi thường gặp: API trả về 401 Unauthorized, token hết hạn. Giải pháp: dùng HTTP Request với Basic Auth hoặc Bearer token, refresh token mỗi 6 giờ qua một sub-workflow riêng. Node HTTP Request có sẵn “Continue on Fail” = false, kèm “Retry on Fail” = 2 lần. Thêm Error Workflow gửi email admin.
Lưu ý: Nếu API nội bộ nằm trên cùng VPS, hãy dùng https://localhost hoặc mạng nội bộ container, tránh gọi qua public IP.
Test trước khi bật lịch
- Tạo một data test trong API (ví dụ: user test).
- Chạy workflow một lần với dữ liệu test đó.
- Kiểm tra response: mã 200/201 = thành công. Nếu 400/500, xem body lỗi trong Execution.
- Xóa data test sau khi kiểm tra.
// Ví dụ dữ liệu API gửi lên
{
"customer_id": 1234,
"name": "Nguyễn Văn A",
"email": "[email protected]"
}
Cách chạy an toàn với VPS
Ba workflow n8n mẫu trên đều chạy ổn định trên một VPS Linux có Docker. Bạn cần đảm bảo VPS có đủ RAM và CPU cho lượng workflow song song, với 3 workflow như trên, một VPS 2 vCPU / 4GB NVMe là thoải mái. Dịch vụ thuê VPS n8n tại thueVPS có sẵn gói từ 189.000đ/tháng với RAM và CPU đủ dùng. Nếu bạn cần thêm RAM cho nhiều workflow chạy đồng thời, có thể nâng lên gói VPS giá rẻ theo tháng với cấu hình linh hoạt.
Câu hỏi thường gặp
Làm sao để test workflow n8n mà không ảnh hưởng dữ liệu thật?
Dùng chức năng “Execute Workflow” thay vì bật “Active”. Bạn cũng có thể thêm node “IF” ở đầu workflow để phân luồng: chỉ chạy code thật khi biến is_test = false.
Tôi có thể chạy workflow n8n mẫu này trên VPS Windows không?
Có, n8n chạy trên Docker, Windows Server cũng hỗ trợ Docker Desktop. Tuy nhiên, tôi khuyên dùng VPS Linux vì ổn định hơn và tiết kiệm RAM. Tham khảo VPS Windows Server nếu bạn cần môi trường Windows.
Node Error Trigger trong n8n hoạt động thế nào?
Khi một node trong workflow gặp lỗi, Error Trigger sẽ kích hoạt và chạy một workflow riêng xử lý lỗi đó, ví dụ gửi Telegram, ghi log vào Google Sheets lỗi. Bạn cần tạo một workflow riêng, đặt trigger = Error Trigger, rồi chọn workflow gốc ở tab Settings.
Retry on Fail nên đặt bao nhiêu lần?
Với Google Sheets và Telegram, 2 lần retry, mỗi lần cách 10 giây là đủ. Với API nội bộ, nếu server bận, đặt 3 lần, cách nhau 30 giây. Không nên retry quá 5 lần, dễ gây quá tải.
Làm sao để bảo mật Webhook trigger trong n8n?
Thêm header “Authorization” trong script bash gửi request, và kiểm tra header đó bằng node “IF” trong workflow trước khi xử lý. Bạn cũng nên đặt n8n chạy sau reverse proxy (Nginx) với HTTPS.
Có thể chạy workflow n8n mẫu trên VPS dùng chung với WordPress không?
Được. Chỉ cần CPU và RAM đủ, với 3 workflow nhỏ, RAM tăng thêm khoảng 200-300 MB. Nếu VPS có 2GB RAM, bạn vẫn chạy WordPress + n8n song song. Tuy nhiên, nếu workload lớn, nên tách riêng VPS cho n8n.
Bài viết liên quan
- Những workflow n8n cần có cho sysadmin trên VPS
- 10 workflow n8n hữu ích cho webmaster
- Chọn RAM cho n8n theo số workflow chạy song song


