n8n là gì?
n8n (đọc là “nodemation”) là nền tảng tự động hóa workflow mã nguồn mở, cho phép bạn kết nối các ứng dụng và dịch vụ khác nhau mà không cần viết code phức tạp. Khác với Zapier hay Make (Integromat), n8n có thể tự host trên server riêng, giúp bạn kiểm soát hoàn toàn dữ liệu và không bị giới hạn bởi pricing plan.
Với hơn 400 node tích hợp sẵn và khả năng mở rộng không giới hạn, n8n phù hợp cho cả cá nhân lẫn doanh nghiệp muốn tự động hóa quy trình làm việc.
Tại sao nên chọn n8n?
- Mã nguồn mở & tự host: Không phụ thuộc bên thứ ba, dữ liệu luôn thuộc về bạn
- Giao diện kéo thả trực quan: Xây dựng workflow bằng cách kéo và nối các node
- 400+ tích hợp sẵn: Google Sheets, Gmail, Telegram, Slack, MySQL, HTTP Request…
- Miễn phí cho self-host: Chỉ cần một VPS nhỏ là đủ chạy
- Cộng đồng lớn: Hàng nghìn workflow template có sẵn
- Hỗ trợ code: Khi cần logic phức tạp, có thể viết JavaScript/Python trực tiếp
Cài đặt n8n
Yêu cầu hệ thống
Để chạy n8n, bạn cần:
- VPS tối thiểu 1GB RAM (khuyến nghị 2GB)
- Docker và Docker Compose đã cài đặt
- Một domain trỏ về VPS (để cài SSL)
Cài đặt bằng Docker Compose
Đây là cách đơn giản nhất để cài n8n trên bất kỳ VPS nào:
mkdir ~/n8n && cd ~/n8n
cat > docker-compose.yml <<EOF
version: "3.8"
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.yourdomain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.yourdomain.com/
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=yourpassword
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
EOF
docker compose up -d
Cài đặt bằng npm (không dùng Docker)
# Cài Node.js 18+
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
# Cài n8n globally
npm install n8n -g
# Chạy n8n
n8n start
Các khái niệm cơ bản trong n8n
Node là gì?
Node là đơn vị cơ bản nhất trong n8n. Mỗi node thực hiện một tác vụ cụ thể, ví dụ:
- Trigger node: Khởi động workflow (Webhook, Schedule, Email trigger…)
- Action node: Thực hiện hành động (Send email, Create record, HTTP Request…)
- Transform node: Xử lý dữ liệu (Set, IF, Switch, Merge…)
Trigger là gì?
Trigger là node đầu tiên trong mọi workflow, quyết định khi nào workflow được kích hoạt. Các loại trigger phổ biến:
- Webhook: Kích hoạt khi nhận request HTTP
- Schedule: Chạy theo lịch (mỗi phút, giờ, ngày…)
- Email Trigger: Khi nhận email mới
- Telegram Trigger: Khi bot nhận tin nhắn
Workflow là gì?
Workflow là một chuỗi các node được kết nối với nhau, tạo thành một quy trình tự động hoàn chỉnh. Một workflow luôn bắt đầu bằng một trigger node và có thể có nhiều nhánh xử lý song song.
Tạo workflow đầu tiên
Bước 1: Truy cập n8n Editor
Mở trình duyệt và truy cập https://n8n.yourdomain.com. Đăng nhập bằng thông tin bạn đã cấu hình.
Bước 2: Tạo workflow mới
Click nút “New Workflow” ở góc trên bên phải. Đặt tên cho workflow, ví dụ: “Gửi thông báo hàng ngày”.
Bước 3: Thêm Trigger
Click vào dấu “+” để thêm node đầu tiên. Chọn Schedule Trigger và cấu hình chạy mỗi ngày lúc 8:00 sáng.
Bước 4: Thêm Action
Từ trigger, kéo đường nối ra và thêm node Telegram. Cấu hình Bot Token và Chat ID để gửi tin nhắn.
Bước 5: Kích hoạt workflow
Click nút toggle ở góc trên phải để activate workflow. Từ giờ nó sẽ tự chạy theo lịch.
Các tích hợp phổ biến
Google Workspace
n8n tích hợp sâu với Google: Gmail, Google Sheets, Google Drive, Google Calendar. Bạn có thể tự động:
- Lưu attachment email vào Drive
- Đồng bộ form submission vào Sheets
- Tạo event Calendar khi nhận email từ client
Telegram Bot
Tạo chatbot Telegram mà không cần code:
- Nhận lệnh và trả lời tự động
- Gửi thông báo khi có sự kiện
- Tích hợp AI (ChatGPT) vào bot
Database
Kết nối trực tiếp với MySQL, PostgreSQL, MongoDB để đọc/ghi dữ liệu tự động.
HTTP Request
Node đa năng nhất — cho phép gọi bất kỳ API nào, kể cả các dịch vụ chưa có node riêng.
Xử lý dữ liệu trong n8n
Expression
n8n sử dụng expression để truy cập dữ liệu giữa các node:
// Lấy dữ liệu từ node trước
{{ $json.email }}
// Lấy dữ liệu từ node cụ thể
{{ $node["HTTP Request"].json.data.name }}
// Sử dụng JavaScript
{{ $json.price * 1.1 }}
IF / Switch
Dùng để phân nhánh logic:
- IF: Chia 2 nhánh (true/false)
- Switch: Chia nhiều nhánh dựa trên giá trị
Loop / Split In Batches
Khi cần xử lý nhiều item, dùng Split In Batches để tránh rate limit của API.
Tips và Best Practices
1. Đặt tên node rõ ràng
Thay vì để tên mặc định “HTTP Request”, hãy đổi thành “Lấy danh sách đơn hàng” để dễ hiểu hơn.
2. Sử dụng Error Workflow
Tạo một workflow riêng để xử lý lỗi. Khi workflow chính fail, error workflow sẽ gửi thông báo cho bạn.
3. Backup thường xuyên
Export workflow thành JSON và lưu vào Git repository.
4. Dùng Environment Variables
Không hardcode API key trong workflow. Dùng biến môi trường:
environment:
- MY_API_KEY=sk-xxxxx
Trong expression: {{ $env.MY_API_KEY }}
5. Monitor workflow
Kiểm tra tab Executions thường xuyên để phát hiện lỗi sớm.
Tổng kết
n8n là công cụ automation mạnh mẽ, linh hoạt và miễn phí cho self-host. Với giao diện trực quan và hệ sinh thái node phong phú, bạn có thể tự động hóa hầu hết mọi quy trình mà không cần kỹ năng lập trình chuyên sâu.
Hãy bắt đầu với những workflow đơn giản, sau đó nâng dần độ phức tạp. Cộng đồng n8n rất năng động — bạn luôn có thể tìm được template hoặc hỏi đáp khi gặp vấn đề.
Ở các bài viết tiếp theo, chúng tôi sẽ hướng dẫn chi tiết từng tích hợp cụ thể. Hãy theo dõi n8n.ac.vn để không bỏ lỡ!
Tham khảo: n8n Documentation · GitHub n8n
Giao VPS cho chúng tôi — nhận n8n hoàn chỉnh trong ngày. Docker, SSL, backup, hỗ trợ sau setup.
Xem dịch vụ setup →