Backup N8N Workflows Lên Airtable — Smart Sync Tự Động
Nếu bạn đang chạy n8n self-hosted giống mình thì có một rủi ro ít ai nhắc đến: không có built-in backup. Chỉ cần có một sự cố server, một lần reset nhầm, hay upgrade hỏng — toàn bộ workflows đã mất hàng giờ build có thể biến mất.
Mình đã thử tìm trên mạng thì toàn thấy backup lên Google Drive — cách đó hoạt động bằng cách lưu toàn bộ file JSON vào một folder trên Drive, rồi dùng Google Sheet để lưu đường dẫn đến từng file. Nghe có vẻ ổn, nhưng vấn đề là phải tạo Google Cloud project, enable Google Drive API và Google Sheets API riêng lẻ, rồi xác thực OAuth cho từng dịch vụ — chưa kể không có cách nào tự biết workflow nào đã bị xóa để dọn theo.
Bài này tôi sẽ hướng dẫn setup workflow N8N TO AIRTABLE BACKUP - SMART SYNC — download 1 file JSON, điền 4 thông tin, xong. Sau đó hệ thống tự chạy mỗi 4 tiếng, backup 6 lần/ngày, và khi xóa workflow trong n8n, Airtable cũng tự xóa theo
Nếu bạn chưa có Airtable account và Personal Access Token thì hãy đọc bài hướng dẫn tạo Airtable workspace và API key trước rồi quay lại đây.
Tại Sao Dùng Airtable Thay Vì Google Drive?
Tại sao không dùng Google Drive như mấy tutorial kia?
Cách đó hoạt động thế này: toàn bộ file JSON workflow được lưu vào một folder duy nhất trên Google Drive, còn Google Sheet đóng vai trò "sổ tay" — lưu tên workflow, đường dẫn đến file JSON tương ứng, và các metadata khác. Về lý thuyết là ổn. Nhưng vấn đề nằm ở chỗ khác: để setup được cái đó, phải tạo Google Cloud project, enable Google Drive API và Google Sheets API riêng lẻ từng cái, rồi tạo OAuth Client ID, xác thực từng dịch vụ. Chưa làm bao giờ thì mất 30-45 phút chỉ để vượt qua phần này — và còn không có smart sync.
Airtable giải quyết vấn đề này theo cách khác:
- Setup đơn giản hơn nhiều: Airtable chỉ cần Personal Access Token — tạo 1 token, paste vào, xong. Không cần Google Cloud project, không cần enable API từng dịch vụ, không cần OAuth flow.
- Mọi thứ ở một chỗ: File JSON backup nằm ngay trong attachment của record — cạnh ID workflow, tên, và timestamp — không cần nhảy qua lại giữa Google Sheet và Google Drive.
- Sort/filter có sẵn: Airtable tự động có field
created_atvàupdated_at, muốn xem workflows mới thay đổi gần nhất chỉ cần sort một cái. - Search mạnh: Gõ tên workflow là ra ngay — không cần mở sheet, không cần copy đường dẫn rồi tìm file trong Drive.
- Free tier đủ dùng: Airtable free cho 1000 records/base. Với dưới 100 workflows, dùng được nhiều năm mà không tốn đồng nào.
Nói thẳng ra: Airtable biến backup thành một database có thể tìm kiếm, filter, và sort ngay lập tức — và không mất 30-45 phút vượt qua OAuth như cách Google Drive.
Chuẩn Bị Trước Khi Bắt Đầu
Check nhanh danh sách này trước:
- n8n self-hosted đang chạy — bài này không cover cài đặt n8n từ đầu, bạn cần có instance đang hoạt động và có thể truy cập.
- Airtable account (free tier là đủ) + Personal Access Token — nếu chưa có, đọc bài hướng dẫn tạo Airtable workspace và API key trước rồi quay lại đây. Mất khoảng 5 phút.
- File workflow JSON — download tại downloads.sonjj.com/free/workflows/backup-n8n-to-airtable.json. Không cần điền email, click là download ngay.
Sau khi import workflow vào n8n, bên trong description của workflow có sẵn link clone Airtable base template — bạn sẽ dùng cái đó ở bước tiếp theo, không cần tự tạo base từ đầu.
Xong 3 thứ trên thì bắt đầu được rồi.
Import Workflow Và Cấu Hình
Bước 1: Import Workflow Vào n8n
Mở n8n → click Create ở góc trên bên phải → chọn Import from file.

Chọn file JSON đã download (backup-n8n-to-airtable.json) → n8n sẽ load workflow lên, bạn sẽ thấy 2 branch chạy song song: Intelligent Backup và Cleanup.

Bước 2: Clone Airtable Base Template
Sau khi import xong, mở phần description của workflow (click vào tên workflow ở header) — bên trong có link clone Airtable base template sẵn.
Click link → Airtable yêu cầu đăng nhập → chọn workspace muốn clone vào → Add base.

Sau khi clone xong, mở base vừa tạo → nhìn lên URL bar:
https://airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX/...
Copy lại 2 phần:
- Base ID: bắt đầu bằng
app(ví dụ:appXXXXXXXXXXXXXX) - Table ID: bắt đầu bằng
tbl(ví dụ:tblXXXXXXXXXXXXXX)

Bước 3: Điền Base ID + Table ID Vào Node "Airtable Info"
Quay lại n8n → mở node tên Airtable Info (node màu xanh lá ở đầu workflow).
Điền Base ID và Table ID vừa lấy vào đúng field trong node này.
Tip nhỏ: Toàn bộ config Airtable tập trung vào 1 node duy nhất này — sau này đổi base chỉ cần sửa 1 chỗ, không phải mò khắp workflow để update từng node riêng lẻ.

Bước 4: Kết Nối Airtable Personal Access Token
Trong workflow, tìm node Airtable credential → click để mở → chọn hoặc tạo mới credential → paste Personal Access Token của Airtable vào.
Nếu chưa có token, xem hướng dẫn tạo Airtable Personal Access Token.

Bước 5: Tạo n8n API Key
Vào Settings của n8n instance → chọn tab n8n API → click Create an API key → đặt tên (ví dụ: "Backup Workflow") → copy API key vừa tạo.

Bước 6: Điền n8n API Key Vào Header Auth
Tìm node Header Auth trong workflow → mở credential → paste API key vừa copy vào field Value.

Vậy là xong phần config. Workflow đã có đủ quyền truy cập vào cả n8n và Airtable — bật workflow lên là chạy được.
Smart Backup Hoạt Động Thế Nào?
Sau khi lấy danh sách toàn bộ workflows từ n8n API (GET /api/v1/workflows), Nhánh 1 không backup mù — nó so sánh với những gì đang có trong Airtable và phân loại 3 trường hợp:
- Case A — Chưa có trong Airtable: Workflow mới, chưa từng backup → tạo record mới + upload file JSON lần đầu.
- Case B — Đã có nhưng có update: So sánh field
updatedAtcủa workflow trong n8n với record trong Airtable — nếu khác nhau nghĩa là workflow vừa được chỉnh sửa → cập nhật record + thay JSON cũ bằng JSON mới. - Case C — Đã có, không thay đổi:
updatedAtgiống nhau → bỏ qua hoàn toàn, không gọi API Airtable, không upload file.
Cơ chế này đảm bảo 6 lần chạy/ngày không tốn API calls vô ích — chỉ những workflow thực sự thay đổi mới bị động đến.
Tính Năng Sync: Tự Xóa Khi Xóa Workflow
Đây là thứ mình thích nhất ở workflow này.
Nhánh 2 — Cleanup — chạy song song với Branch 1: lấy toàn bộ records đang có trong Airtable → dùng n8n API để check từng workflow ID còn tồn tại không (GET /api/v1/workflows/{id}).
Nếu workflow đó đã bị xóa khỏi n8n, API trả về 404. Thay vì để 404 làm crash cả workflow, n8n được config onError = continueErrorOutput — 404 không phải lỗi dừng chương trình, mà là "tín hiệu" cho biết workflow ID này không còn tồn tại. Tín hiệu 404 đó được dùng để trigger bước tiếp theo: xóa record tương ứng trong Airtable.
Kết quả: Airtable luôn là phản ánh chính xác của n8n. Không có bạckup rác của workflow đã xóa. Không cần dọn dẹp thủ công.

Download & Tổng Kết
Chỉ cần setup một lần và không cần quan tâm nó nữa
- Chạy mỗi 4 tiếng, 6 lần/ngày (có thể tùy chỉnh)
- Chỉ backup những gì thực sự thay đổi
- Xóa workflow trong n8n → Airtable tự xóa theo
- Tìm kiếm, sort, filter workflows trong Airtable dễ hơn nhiều so với folder Drive
Download workflow: backup-n8n-to-airtable.json — không cần điền email.
Thử setup xong có câu hỏi gì thì để lại comment bên dưới — mình đọc hết.
No spam, no sharing to third party. Only you and me.