Chuyển tới nội dung

Kiến trúc n8n

PHẦN 1: KIẾN TRÚC VÀ GIAO DIỆN N8N

1. Workflow là gì?

Workflow là một chuỗi các hành động được kiết nối với nhau để tự động hóa quy trình.
Các node được kết nối để tạo thành 1 luồng công việc hoàn chỉnh.
Luồng dữ liệu: Dự liệu chảy từ node này sang node khác, được xử lý qua từng bước.

2. Node là gì?

Node là khối xây dựng cơ bản của một workflow trong n8n. Mỗi node đại diện cho một tác vụ cụ thể trong quy trình, các node được kết nối với nhau thành workflow hoàn chỉnh.

Mỗi node có một chức năng riêng: Kích hoạt (Triger Nodes), thực hiện hành động (Action Nodes), biến đổi dữ liệu (Data Transformation Nodes), điều khiển luồng (Flow & Core Nodes), Chờ tương tác người dùng (Human in the loop Nodes)

Trigger Node: Vai trò “lằng nghe” sự kiên và bắt đầu workflow khi sự kiện xảy ra. Mỗi workflow chỉ có thể có MỘT trigger Node. Trigger node rất quan trọng, nó quyết định khi nào và tại sao workflow chạy. Trigger Node giống như công tắc đèn – không có nó, workflow không bao giờ được kích hoạt

Các loại Trigger

  • Event/Webhook: Kích hoạt bằng sự kiện (Event-based/ Webhook): Hoạt động theo thời gian thực khi có sự kiện xảy ra. Không tốn tài nguyên chờ đợi, chỉ chạy khi có sự kiện xảy ra. Dịch vụ bên ngoài tự đọng gửi dữ liệu đến một URL đặc biết của n8n.
    Một số Webhook trigger: Telegram Trigger, Shopify Trigger, Webhook Node, GitHub Trigger,…
  • Schedule/Polling & Manual:
    Kích hoạt theo lịch trình (Schedule / Polling)
    – n8n chủ động đi hỏi xem có gì mới không
    – Ví dụ: “Mỗi 5 phút”, “Vào 8h sáng mỗi ngày”
    – Dùng khi dịch vụ không hỗ trợ webhook
    Kích hoạt thủ công (Manual)
    – Nhấn nút “Execute Workflow”
    – Chủ yếu dùng để kiểm thử và phát triển

Các loại Action Nodes
– Thực hiên một hành động cụ thể trên các ứng dụng khác
– Ví dụ: Gửi tin nhắn telegram, Thêm dòng vào Google Sheet, Tạo file trên Google Drive, Gửi Email
– Action Nodes: là cầu nối giữa n8n và các dịch vụ bên ngoài, giúp workflow của bạn tương tác với thế giới thực

Data Transformation Nodes: có vai trò xử lý, làm sạch, định dạng lại dữ liệu bên trong workflow, các nodes này không tương tác với ứng dụng bên ngoài.
Ví dụ:
– Set Node: Tạo hoặc sửa đổi dữ liệu
– Code Node: Viết mã JavaScript tùy chỉnh
– Edit Fields Node: Sắp xếp, đổi tên, thay đổi kiểu dữ liệu.

Flow & Core Nodes: Có vai trò Quyết định hướng đi của dữ liệu
– If Node: Rẽ nhánh quy trình (Đúng / Sai)
– Switch Node: Rẽ thành nhiều nhánh dự trên giá trị loop
– Over Items: Xử lý từng mục trong danh sách.
Lợi ích chính: Tạo ra các quy trình thông minh, linh hoạt và có khả năng tự ra quyết định.

Human in loop Nodes: Tạm dừng workflow và chở con người can thiệp trước khi tiếp tục.
Ví dụ: Quy trình duyệt chi phí – Workflow gửi email cho quản lý với 2 link “Phê duyệt”/”Từ chối”. Workflow sẽ chỉ tiếp tục khi nhận được phải hồi từ con người (một trong 2 link được nhấn).

3. Giao diện n8n

4. Quản lý truy cập – Credentials

Quản lý truy cập là các thông tin xác thực được lưu trữ an toàn trong n8n, cho phép n8n tương tác với các ứng dụng khác như Google, Facebook, Telegram,…). Credentials có nhiều loại như API Key, Username/Password, Token OAuth2, JWT, …

Rủi ro nếu bị lộ: Mất quyên truy cập dữ liệu cá nhân (Email, file, danh bạ, thông tin khách hàng); Bị mạo danh thực hiện hành động xấu (Gửi email spam, thay đổi dữ liệu, xóa thông tin)

Nguyên tắc vàng:
– Coi Credentials như mật khẩu quan trọng nhất
– KHÔNG BAO GIỜ chia sẻ công khai, viết trong code, hay đăng lên forum
– n8n sẽ mã hóa thông tin khi bạn lưu chúng

5. Tạo Credentials cho Google (OAuth2)

OAuth2 là giao thưc xác thực an toàn cho phép ứng dụng bên thứ 3 (như n8n) truy cập tài nguyên người dùng mà không cần biết mật khẩu. Các dịch vụ Google sử dụng OAuth2: Gmail, Google Doc, Google Sheet, Google Drive, ….

Quy trình tạo Google OAuth2 Credentials

Bước 1: Tạo Project mới trên Google Cloud
– Truy cập https://console.cloud.google.com
– Nhấn vào menu dropdown phía trên cùng, chọn “New Project”

– Nhập tên Project
– Chọn tổ chức
– Nhấn Create

Bước 2: Bật API cần thiết
– Trong Google Cloud Console, chọn Project vừa tạo
– Từ menu bên trái chọn “APIs & Serivce” > “Library”

– Tìm kiếm API mà bạn cần (Ví dụ: Google Sheet API, Google Drive API)

– Nhấn vào kết quả tìm kiếm và chọn Enable

– Lặp lại cho tất cả API cần thiết

Bước 3: Cấu hình chấp thuận OAuth2
– Truy cập Google Cloud Console, chọn dự án đã tạo
– Điều hướng đến APIs & Services > OAuth consent screen
– Chọn Extenal (Nếu không sử dụng Google Workspace)
– Điền các thông tin cần thiết: Tên ứng dụng, Email hỗ trợ, người dùng Test

Bước 4: Tạo OAuth Client ID
– Mở menu APIs & Services, Chọn mục Creadentials

– Nhấn nut + CREATE CREDENTIALS và chọn OAuth client ID từ mục Dropdown

– Chọn Application Type: Web application đặt tên App

Bước 5: Cấu hình Redirect URIs
– Đây là bước quan trọng nhất để kết nối OAuth2 thành công. URL này cho phép Google chuyển hướng người dung trở lại n8n khi xác thực.

Bước 6: Hoàn hiện kết nối Google Credentials trong n8n
– Quay lại n8n sau khi đã tạo Client ID và Client Secret từ Google Cloud
– Dán Client ID và Client Secret vào các ô tương ứng trong giao diện tạo Credential
– Nhấn nút Sign In with Google để tiếp tục và xác thực

– Đăng nhập và chấp nhận yêu cầu cấp quyền cho n8n

PHẦN 2: TƯ DUY VÀ PHƯƠNG PHÁP LUẬN XÂY DỰN WORKFLOW

1. Nghiên cứu và hình thành ý tưởng

Bước 1: Quan sát
– Những công việc nào bạn lặp đi lặp lại mỗi ngày/ mỗi tuần
– Những tác vụ nào tốn thời gian nhưng không cần tư duy sáng tạo
– Những thông tin bạn phải chuyển từ ứng dụng A sang B một cách thủ công
Ví dụ:
– Copy-paste đơn hàng từ email vào Excel tạo báo cáo Tuần các số liệu có sẵn
– Gửi báo cáo trong nhóm khi có khách hàng mới
Bước 2: Phân tích yêu cầu và mục tiêu
Trigger: Điều gì sẽ kích hoạt quy trình?
+ Có đơn hàng mới?
+ Đến 9h sáng mỗi ngày?
+ Có tin nhắn mới trên Telegram?
– Input: Cần những dữ liệu đầu vào nào?
+ Tên khách hàng, email?
+ Nội dung tin nhắn?
+ File đính kèm? dữ liệu form
– Logic: Cần xử lý dữ liệu như thế nào?
+ Nếu số tiền > 10 triệu thì ..?
+ Định dạng lại ngày tháng?
+ Lọc, sắp xếp dữ liệu?
– Output: Kết quả cuối cùng là gì?
+ Một dòng trong Google Sheet?
+ Một tin nhắn trên Slack?
+ Một email được gửi đi?

2. Phương pháp “Từ nhỏ đến lớn”
Nguyên tắc: Bắt đầu bằng các workflow nhỏ, đơn giản, giải quyết một nhiệm vụ duy nhất (Micro-workflow)
– Lợi ích: Dễ phát triển, kiểm thử, bảo trì, mở rộng
– Tính tái sử dụng: Các micro-workflow có thể tái sử dụng trong nhiều hệ thống lớn
– Ví dụ về mirco-workflow

3. Kết nối các workflow nhỏ
– Execute Workflow Node: Cho phép một workflow gọi và chạy một workflow
– Lợi ích: Tạo ra một hệ thống lớn, phức tạp từ những workflow nhỏ, đơn giản
– Dễ quản lý: Mỗi workflow nhỏ có thể được phát triển, kiểm thử và bảo trì độc lập

4. Đọc hiểu, và chia sẻ và tái sử dụng workflow
– Import workflow:
+ Từ file JSON: Tải lên n8n
+ Từ URL hoặc code: Copy và paste trực tiếp và n8n
– Export workflow:
+ Lưu workflow ra file JSON để chia sẻ và sao lưu
– Cộng đồng n8n:
+ Có hàng ngàn workflow mẫu để học hỏi và tái sử dụng (n8n.io/workflows – Kho workflow mẫu)
– Dùng AI để ‘đọc’ workflow JSON

PHẦN 3: THỰC HÀNH XÂY DỰNG QUY TRÌNH TỰ ĐỘNG HÓA

1. Chatbot Telegram tích hợp AI tự động trả lời các câu hỏi của người dùng

1.1 Mục tiêu

Xây dựng chatbot trên Telegram có khả năng:
– Tự động nhận tin nhắn từ người dùng
– Chuyển tin nhắn đến API của AI (Open AI/Gemini)
– Trả lời người dùng với nội dung do AIT tạo ra
– Hoạt động 24/7 mà không cần giám sát

1.2 Các bước thực hiện

Bước 1: Cấu hình telegram Trigger

  • Tạo bot mới qua BotFather
    • Gửi lệnh /newbot
    • Nhập tên và username (phải kết thúc bằng bot)
    • BotFather sẽ cung cấp Access Token (Lưu lại)
  • Nhập tên và username (phải kết thúc bằng bot)
    • Mở n8n, vào menu Credentials Click “Add Credential”
    • Chọn “Telegram”
    • Dán Access Token vào ô “Access Token”
    • Đặt tên và lưu
  • Thêm Telegram Trigger vào workflow
    • Trong canvas, nhấn “+” để thêm node mới
    • Tìm kiếm “telegram” và chọn “Telegram Trigger”
    • Chọn Credential đã tạo ở bước 2
    • Chọn “Message” trong mục Updates

Bước 2: Tích hợp AI

  • Thêm AI Agent và Google Gemini Chat Model vào Cavans
    • Trong canvas, nhấn “+” để thêm node mới
    • Tìm kiếm “AI” và chọn “AI Agent”
    • Tim “Gemini” và chọn “Google Gemini Chat Model”
    • Bấm vào Google Gemini Chat Model và nhập Credentials, chọn model model/gemini-2.0-flash-thinking-exp
    • Cấu hình AI Agent
    • Cấu hình Gemini

Bước 3: Gửi lại phản hồi

  • Thêm Telegram vào Cavans
    • Trong canvas, nhấn “+” để thêm node mới
    • Tìm kiếm “Telegram” và chọn “Send a text message”
    • Cấu hình Send a text message

1.3 Test quy trình

  • Chat vơi bot tạo ở bước trên
  • Bấm Execute workflow
  • Kiểm tra Nội dung phản hồi
  • Sau khi test thành công, để quy trình có thể chạy liên tục mà không càn bấm execute cần chuyển mode Inactive thành Active
  • Để AI Agent có thể lưu được các nội dung chat và thực hiện trả lời chuyên sau ta cần thêm Simple Memory
  • Cấu hình Simple Memory
  • Done.

2. Tự động hóa viết bài từ chủ đề Google Sheet với AI

Mục tiêu: Lấy danh sách chủ để từ Google Sheet, dùng AI để viết bài cho mỗi chủ đề

2.1 Chuẩn bị file Google Sheet

2.2 Luồng hoạt động

Workflow tổng quát

Workflow tạo bài viết

  • Google Sheets: Đọc dữ liệu
  • Loop Over Items: Xử lý từng chủ để
  • Gemini AI: Viết nội dung

2.3 Các bước thực hiện

Bước 1: Cấu hình Google Sheet

  • Trong canvas, nhấn “+” để thêm node mới
  • Tìm kiếm “Google Sheet” và chọn “Get Row(s) in sheet”
  • Cấu hình “Get Row(s) in sheet”
  • (1): Chọn Credentials đã được nhập hoặc tạo mới
  • (2): Chọn Sheet Within Document
  • (3): Get Row(s)
  • (4): Chọn file
  • (5): Chọn sheet để làm việc
  • (6): Chọn cột để Filter
  • (7): Giá trị để Filter
  • Chọn Return only First Matching Row để debug và test

Bước 2: Split Out

  • Trong canvas, nhấn “+” để thêm node mới
  • Tìm kiếm "Split Out"
  • Nối các node với nhau và cấu hình Split Out

Bước 3: Cấu hình AI Agent

  • Trong canvas, nhấn “+” để thêm node mới
  • Tìm kiếm "AI Agent" "Google Gemini Chat Model"
  • Nối các node với nhau và cấu hình AI Agent
  • Để yều cầu AI Agent viết bài thì cần phải có promt. Chúng ta viết yêu cầu rồi để Chat GPT tạo Promt rồi copy/paste vào ô Promt
Bạn là một người viết nội dung chuyên nghiệp với giọng văn gần gũi, tự nhiên, dễ hiểu.

Nhiệm vụ của bạn là dựa trên thông tin được cung cấp để viết lại thành một bài viết ngắn khoảng 200 từ, diễn đạt trôi chảy, súc tích, dễ đọc, phù hợp đăng lên mạng xã hội hoặc blog.

Thông tin được cung cấp:

- **Tiêu đề**: {{ $json['[\'Tiêu đề\']'] }}
- **Nội dung gợi ý**: {{ $json['Nội dung bài viết'] }}

Yêu cầu cụ thể:
- Viết thành một bài hoàn chỉnh, mở đầu cuốn hút, nội dung rõ ràng, kết bài gợi mở.
- Không cần liệt kê lại tiêu đề hay nội dung gợi ý. Hãy viết thành bài tự nhiên như thể bạn đang tự sáng tạo nội dung.
- Giữ độ dài khoảng 200 từ, không viết quá dài.
- Giọng văn thân thiện, dễ hiểu, gần gũi với người đọc Việt Nam.
- Không sử dụng các câu sáo rỗng hay quá trang trọng.

Bắt đầu viết bài.
  • Cấu hình AI Agent

Bước 4: Update vào Google Sheet

  • Trong canvas, nhấn “+” để thêm node mới
  • Tìm kiếm "Google Sheet" "Update row in sheet"
  • Nối các node với nhau và cấu hình Update row in sheet
  • (1): Google Sheets account
  • (2): Sheet Within Document
  • (3): Update Row
  • (4): Chọn tên file
  • (5): Chọn sheet làm việc
  • (6): Chọn Map Each Colunm Manually
  • (7): Chọn Tên Cột
  • (8): Kéo tiêu đề vào
  • (9): Kéo output vào
  • (10): Cập nhật giá trị "Hoàn thành" cho cột "Trạng Thái"

Workflow tạo bài viết

Bước 5: Tạo workflow tổng quát

Thêm vòng lặp vào để duyệt hết bài và thêm phần Remove duplicate để thực hiện remove các bài viết trùng

3. Lấy tin tức mới, tóm tắt với AI và gửi thông báo quá Telegram

Tag:
Liên hệ