Nắm vững các building block của n8n - những trình kích hoạt, các node, những kết nối, các biểu thức và thông tin xác thực. Xây dựng quy trình dữ liệu hoạt động đầu tiên của bạn.
Trước khi tìm hiểu bất kỳ node AI nào, bạn cần hiểu cách n8n hoạt động. Mọi quy trình AI bạn xây dựng trong sê-ri này - từ công cụ phân loại email đến chatbot RAG - đều chạy trên cùng một nền tảng: Trình kích hoạt, các node, những kết nối và các biểu thức. Nắm vững điều này, sẽ giúp phần AI trong bài học 3 dễ hiểu ngay lập tức.
Các khái niệm cốt lõi của n8n
Các quy trình n8n là những quy trình trực quan. Dữ liệu đi vào thông qua một trình kích hoạt, chảy qua các node để chuyển đổi hoặc định tuyến nó, và đi ra thông qua một hành động (gửi email, cập nhật cơ sở dữ liệu, trả về phản hồi). Hãy coi nó như một sơ đồ luồng thực sự đang chạy.
Có 4 khái niệm cần nắm vững:
1. Trình kích hoạt - "Thời điểm" của quy trình làm việc của bạn. Cần có một số yếu tố để khởi động quy trình:
Kích hoạt Webhook - kích hoạt khi một dịch vụ bên ngoài truy cập URL
Kích hoạt theo lịch trình - kích hoạt theo lịch trình cron (mỗi giờ, mỗi thứ Hai lúc 9 giờ sáng)
Kích hoạt ứng dụng - Gmail Trigger, Slack Trigger, v.v... - kích hoạt khi một sự kiện xảy ra trong ứng dụng đó
Kích hoạt chat - kích hoạt khi người dùng gửi tin nhắn (cần thiết cho chatbot AI)
Kích hoạt thủ công - kích hoạt khi bạn nhấp vào "Test workflow" (Kiểm tra quy trình) để phát triển
2. Các node - "Cái gì" trong quy trình làm việc của bạn. Mỗi node thực hiện một việc:
Các node ứng dụng - tương tác với các dịch vụ (Gmail, Slack, Notion, Google Sheets)
Các node AI - chuỗi LLM, agent, bộ nhớ, kho lưu trữ vector (hơn 70 loại)
Các node logic - IF, Switch, Merge, Split, Loop
Các node Transform - Set, Code, Function, Date & Time
3. Các kết nối - Các đường nối giữa các node. Dữ liệu chảy qua chúng. Đầu ra của một node trở thành đầu vào của node tiếp theo.
4. Biểu thức - Các giá trị động sử dụng cú pháp {{ }}. Thay vì hardcode "Hello World", bạn viết {{ $json.userName }} để lấy tên người dùng thực tế từ dữ liệu đang được xử lý.
✅ Kiểm tra nhanh: Một quy trình công việc cần gửi tin nhắn Slack mỗi khi có một hàng mới xuất hiện trong Google Sheets. Bạn sẽ sử dụng trình kích hoạt nào?
Đáp án: Google Sheets Trigger - nó theo dõi các hàng mới và kích hoạt khi có hàng được thêm vào. Schedule Trigger cũng hoạt động nhưng kém hiệu quả hơn vì nó thăm dò theo khoảng thời gian thay vì phản ứng với sự kiện.
Cách dữ liệu lưu chuyển
Mỗi node nhận các mục, xử lý và chuyển tiếp chúng. Một "mục" chỉ là một đối tượng JSON. Nếu Gmail Trigger kích hoạt cho 3 email mới, node tiếp theo sẽ nhận được 3 mục - và xử lý từng mục một.
Đây là hình dạng của một quy trình đơn giản:
Gmail Trigger → IF node → Send Slack Message
↓ ↓ (true branch)
3 emails "Is subject = 'urgent'?" → Slack: "Urgent email from {{$json.from}}"
↓ (false branch)
Do nothing (or different action)
Node IF chia luồng. Các mục khớp với điều kiện sẽ đi theo một hướng; phần còn lại sẽ đi theo hướng khác. Đây là cách mọi quyết định hoạt động trong n8n - và đó là nền tảng cho định tuyến được hỗ trợ bởi AI trong bài học 3.
Xây dựng quy trình đầu tiên của bạn
Hãy xây dựng một quy trình đơn giản để thực hành các khái niệm này. Mở phiên bản n8n của bạn và làm theo những bước sau:
Bước 1: Tạo một quy trình mới
Nhấp vào "Add workflow" ở góc trên bên phải. Đặt tên là "My First Pipeline".
Bước 2: Thêm trình kích hoạt thủ công
Nhấp vào nút "+" và tìm kiếm "Manual Trigger". Điều này cho phép bạn chạy quy trình bằng cách nhấp vào một nút - hoàn hảo để thử nghiệm.
Bước 3: Thêm node Set
Nhấp vào "+" một lần nữa, thêm node "Set". Node này cho phép bạn xác định dữ liệu theo cách thủ công. Cấu hình nó như sau:
Thêm trường chuỗi: name = greeting, value = Hello from n8n!
Thêm trường số: name = count, value = 42
Kết nối Manual Trigger với node Set.
Bước 4: Thêm node IF
Thêm node IF sau node Set. Cấu hình điều kiện:
Value 1: {{ $json.count }}
Operation: "Is Greater Than"
Value 2: 10
Bước 5: Kiểm tra
Nhấp vào "Test workflow". Quan sát luồng dữ liệu đi qua từng node. Nhấp vào bất kỳ node nào để xem đầu vào và đầu ra của nó trong bảng điều khiển bên phải.
Bạn vừa xây dựng một quy trình tạo dữ liệu, đánh giá điều kiện và định tuyến kết quả. Mọi quy trình làm việc AI trong sê-ri đều tuân theo cùng một mô hình này - sự khác biệt duy nhất là các node AI tạo ra dữ liệu và đưa ra quyết định.
Biểu thức: Kết nối
Biểu thức là cách bạn tham chiếu dữ liệu động. Cú pháp là {{ }} với các biến chính sau:
Để lấy email người gửi: {{ $json.from.value[0].address }} Để lấy tiêu đề: {{ $json.subject }}
Bạn không cần phải nhớ đường dẫn. Nhấp vào bảng đầu ra của bất kỳ node nào, di chuột qua một trường và n8n sẽ hiển thị cho bạn biểu thức cần sao chép.
✅ Kiểm tra nhanh: Bạn muốn bao gồm tiêu đề email trong tin nhắn Slack. Bạn sẽ viết biểu thức như thế nào?
Đáp án: {{ $json.subject }} - tham chiếu đến trường tiêu đề từ dữ liệu JSON của mục hiện tại. Bạn cũng có thể kéo và thả từ bảng đầu ra trực tiếp vào trường tin nhắn của node Slack.
Thông tin xác thực: Kết nối các dịch vụ bên ngoài
Hầu hết các quy trình làm việc hữu ích đều cần thông tin xác thực - API key, OAuth token hoặc thông tin đăng nhập cho các dịch vụ bên ngoài. n8n quản lý những thông tin này một cách an toàn:
Vào Settings → Credentials trong phiên bản n8n của bạn
Nhấp vào Add Credential và chọn dịch vụ (OpenAI, Gmail, Slack, v.v.)
Làm theo hướng dẫn thiết lập - đối với các dịch vụ OAuth như Gmail, n8n sẽ xử lý quy trình xác thực
Sau khi lưu, chọn thông tin xác thực trong bất kỳ node nào cần đến nó
Lưu ý quan trọng đối với khóa học này: Thiết lập thông tin xác thực OpenAI của bạn ngay bây giờ. Vào Settings → Credentials → Add Credential → OpenAI. Dán API key của bạn vào. Bạn sẽ sử dụng thông tin xác thực này trong mọi bài học về AI bắt đầu từ bài học 3.
Không bao giờ hardcode API key trong biểu thức hoặc các node code. Luôn sử dụng hệ thống thông tin xác thực của n8n - hệ thống này mã hóa các key khi lưu trữ và giữ chúng tách biệt khỏi những file JSON xuất quy trình làm việc của bạn.
Những điểm chính cần ghi nhớ
Quy trình công việc bắt đầu bằng một agent kích hoạt (sự kiện) và diễn ra thông qua những node (quá trình xử lý)
Dữ liệu được truyền dưới dạng các mục JSON - mỗi node nhận những mục, xử lý chúng và chuyển tiếp chúng
Biểu thức ({{ $json.field }}) cho phép bạn tham chiếu dữ liệu động giữa các node
Các node IF và Switch định tuyến dữ liệu dựa trên những điều kiện - nền tảng cho các quy trình công việc thông minh
Luôn sử dụng hệ thống xác thực của n8n cho API key - không bao giờ hardcode chúng
Câu 1:
Quy trình làm việc của bạn cần hoạt động khác nhau dựa trên dòng tiêu đề của email. Bạn nên sử dụng node nào?
GIẢI THÍCH:
Node IF là bộ phận quyết định của n8n. Bạn đặt một điều kiện (ví dụ: tiêu đề chứa từ urgent'), và các mục khớp với điều kiện sẽ đi xuống nhánh 'true' trong khi những mục khác đi xuống nhánh 'false'. Node Switch xử lý nhiều điều kiện (3+ nhánh). Bạn có thể sử dụng node Code, nhưng nó quá phức tạp cho việc định tuyến đơn giản.
Câu 2:
Bạn cần trích xuất địa chỉ email của người gửi từ đầu ra của node kích hoạt Gmail. n8n sử dụng cú pháp biểu thức nào?
GIẢI THÍCH:
n8n sử dụng dấu ngoặc nhọn kép {{ }} với ký hiệu dấu chấm cho các biểu thức. Biến `$json` tham chiếu đến dữ liệu của mục hiện tại. Cả cú pháp dấu chấm và cú pháp dấu ngoặc vuông đều hoạt động bên trong dấu ngoặc nhọn, nhưng cú pháp dấu chấm (tùy chọn A) là tiêu chuẩn. Kỹ năng quan trọng là đọc bảng đầu ra JSON để tìm đường dẫn chính xác.
Câu 3:
Sự khác biệt giữa node kích hoạt và node thông thường trong n8n là gì?
GIẢI THÍCH:
Các node kích hoạt lắng nghe những sự kiện (email mới, truy cập webhook, thời gian đã lên lịch, tin nhắn trò chuyện). Chúng luôn là node đầu tiên trong một quy trình công việc. Các node thông thường thực hiện việc xử lý - chuyển đổi dữ liệu, gọi API, đưa ra quyết định. Một quy trình công việc không có node kích hoạt chỉ có thể chạy thủ công.
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây: