Sử dụng Function Node trong n8n – viết logic tùy chỉnh
Bạn dùng n8n để tự động hóa công việc, nhưng nhiều khi gặp tình huống “nửa no-code nửa code” như: Cần format lại số điện thoại, email, ngày tháng trước khi lưu Cần tính toán giá trị mới từ dữ liệu gốc Cần lọc danh sách khách hàng theo điều kiện cụ thể → Đây là lúc bạn cần dùng Function Node trong n8n – nơi bạn có thể viết một đoạn JavaScript ngắn để xử lý dữ liệu theo logic tùy chỉnh. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng Function Node để viết logic trong workflow, từ cơ bản đến ứng dụng thực tế.
Nội dung bài viết
1. Function Node là gì? Dùng để làm gì?
Function Node là một node đặc biệt trong n8n, cho phép bạn viết JavaScript tùy chỉnh để:
- Biến đổi dữ liệu (format số, email, ngày tháng…)
- Tính toán giá trị mới (tổng tiền, chiết khấu, điểm trung bình…)
- Lọc dữ liệu theo điều kiện
- Tạo mảng, vòng lặp, xử lý nhiều item cùng lúc
👉 Function Node = “chìa khóa” để biến n8n từ công cụ kéo-thả thành công cụ tự động hóa cực kỳ linh hoạt.
2. Cấu trúc Function Node trong n8n
Khi mở Function Node, bạn sẽ thấy:
return items;
Đây là array chứa từng “item” (mỗi dòng dữ liệu). Bạn có thể duyệt, chỉnh sửa và trả lại mảng mới.
Ví dụ cấu trúc chuẩn:
return items.map(item => {
const name = item.json.name.toUpperCase();
item.json.formattedName = name;
return item;
});
🎯 Kết quả: Thêm trường formattedName viết HOA cho từng item.
✅ Lưu ý:
- Dữ liệu nằm trong item.json
- Dùng .map() để xử lý từng item
- Phải luôn return items cuối cùng
3. Các ví dụ thực tế thường dùng
🧮 a. Tính toán đơn giản (Tổng tiền)
return items.map(item => {
const price = item.json.price;
const quantity = item.json.quantity;
item.json.total = price * quantity;
return item;
});
🗓️ b. Format ngày tháng
return items.map(item => {
const date = new Date(item.json.created_at);
item.json.day = date.toLocaleDateString("vi-VN");
return item;
});
📞 c. Chuẩn hoá số điện thoại
return items.map(item => {
let phone = item.json.phone.replace(/\D/g, "");
if (phone.startsWith("84")) phone = "0" + phone.slice(2);
item.json.cleanedPhone = phone;
return item;
});
🎯 d. Lọc item theo điều kiện
return items.filter(item => item.json.status === "active");
4. Khi nào nên dùng Function Node?
Tình huống |
Giải pháp |
Cần xử lý logic mà node có sẵn không hỗ trợ |
Dùng Function Node để tự viết |
API trả dữ liệu nested / cần transform dữ liệu |
Viết lại dạng phẳng / đổi key trong Function Node |
Dữ liệu cần được chuẩn hoá trước khi ghi vào Sheets |
Format lại bằng Function Node |
Cần tính toán từ các trường khác nhau |
Viết công thức JavaScript ngay trong Function Node |
✅ Checklist sử dụng Function Node hiệu quả:
- Đọc kỹ dữ liệu vào (input item.json)
- Dùng .map() để xử lý từng dòng
- Không quên return đầy đủ
- Kiểm tra bằng log console.log(item) nếu cần debug
5. Học viết Function Node tại MCI Academy – Automation nâng cao
Function Node giúp bạn nâng tầm workflow – từ đơn giản kéo-thả thành workflow logic theo ý mình.
Nếu bạn muốn học từ A đến Z cách dùng Function, xử lý API, ghi dữ liệu Google Sheets/Gmail/Zalo,… thì MCI có lộ trình dành riêng cho bạn:
🎓 Khóa học Automation với n8n – MCI Academy
- Học từ cơ bản → nâng cao: Trigger, Webhook, API, Function Node
- Viết script xử lý dữ liệu từ Form → Zalo OA → Google Sheets
- Mentor 1–1: hướng dẫn cách debug, xử lý lỗi, tối ưu tốc độ
- Portfolio cuối khoá: Tự xây hệ thống automation real-time
📞 Hotline: 0352.433.233
📧 Email: cskh@mcivietnam.com
👉 Đăng ký ngay để làm chủ Function Node và biến n8n thành trợ lý tự động hoá cực mạnh cho doanh nghiệp của bạn.

Các khóa học
- Mastering AWS : From Basics to Applications Specialized
- Data Engineer Track Specialized
- Combo Data Engineering Professional Hot
- AI & DASHBOARD – CHỈ 990K Hot
- Combo Python Level 1 & Level 2 Bestseller
- Business Intelligence Track Hot
- Data Science Track Bestseller
- Data Analyst Professional (Data Analyst with Python Track) Bestseller
- RPA UiPath Nâng Cao: Chiến Thuật Automation Cho Chuyên Gia Specialized
- RPA UiPath cho Người Mới Bắt Đầu: Thành Thạo Automation Chỉ Trong 1 Ngày Specialized
- Business Analyst Fast Track Bestseller
- Business Analyst Bestseller
Đăng ký tư vấn khóa học
*Vui lòng nhập số điện thoại của bạn
*Vui lòng nhập họ tên của bạn
*Vui lòng chọn giới tính
*Vui lòng chọn 1 trường