MỤC LỤC
- Bài học 1: n8n là gì? - Khám phá thế giới tự động hóa
- Bài học 2: Hệ sinh thái n8n – bạn có thể làm gì với n8n?
- Bài học 3. So sánh n8n với zapier, make và các công cụ khác
- Bài học 4. Cách cài đặt n8n trên máy tính cá nhân (Windows, Mac, Linux)
- Bài học 5. Cách cài đặt n8n trên cloud miễn phí (Railway, Render, Fly.io, v.v.)
- Bài học 6. Cách cài đặt và chạy n8n trên Docker
- Bài học 7. Giao diện làm việc của n8n – Làm quen với các thành phần chính
- Bài học 8. Node là gì? Các loại node trong n8n và cách liên kết chúng
- Bài học 9. Trigger node – Điểm khởi đầu của một workflow
- Bài học 10. Bài thực hành: Tạo workflow đầu tiên – Tự động gửi email khi có đơn hàng mới
- Bài học 11: Webhook Node – Cách kết nối n8n với thế giới bên ngoài
- Bài học 12: HTTP Request Node – Gửi và nhận dữ liệu từ API
- Bài học 13: Function Node – Viết code JavaScript trong n8n
- Bài học 14: Set Node – Tạo dữ liệu mới và chỉnh sửa dữ liệu có sẵn
- Bài học 15: Merge Node – Kết hợp dữ liệu từ nhiều nguồn
- Bài học 16: Split In Batches Node – Xử lý dữ liệu theo từng nhóm nhỏ
- Bài học 17: Wait Node – Điều khiển thời gian chạy của workflow
- Bài học 18: If Node – Rẽ nhánh điều kiện (If-Else)
- Bài học 19: Switch Node – Xử lý nhiều điều kiện phức tạp
- Bài học 20: Bài thực hành: Tạo hệ thống theo dõi trạng thái đơn hàng từ Google Sheets
- Bài học 21: Read & write node – đọc và ghi dữ liệu từ google sheets và file
- Bài học 22: Kết nối n8n với gmail – gửi và nhận email tự động
- Bài học 23: Kết nối n8n với telegram – gửi tin nhắn và nhận phản hồi tự động!
- Bài học 24: Kết nối n8n với slack – gửi tin nhắn tự động và nhận phản hồi từ người dùng!
- Bài học 25: Kết nối n8n với notion – tạo và cập nhật dữ liệu tự động!
- Bài học 26: Kết nối n8n với trello – quản lý dự án và công việc tự động!
- Bài học 27: Kết nối n8n với clickup – quản lý dự án nâng cao!
- Bài học 28: Kết nối n8n với asana – nâng cấp quản lý công việc!
- Bài học 29: Kết nối n8n với monday.com – quản lý công việc tối ưu!
- Bài học 30: Kết nối n8n với salesforce – tự động hóa quy trình bán hàng!
- Bài học 31: Biến và tham số trong n8n – Cách lưu trữ và sử dụng dữ liệu
- Bài học 32: Xử lý dữ liệu json trong n8n – làm chủ dữ liệu nâng cao
- Bài học 33: Xử lý dữ liệu với looping (lặp) trong n8n
- Bài học 34: Tạo và sử dụng Custom Functions
- Bài học 35: Xử lý lỗi (error handling) trong n8n – giúp workflow hoạt động ổn định!
- Bài học 36: Webhooks trong n8n – kết nối dữ liệu theo thời gian thực!
- Bài học 37: Làm sạch dữ liệu tự động trước khi đưa vào cơ sở dữ liệu
- Bài học 38: Gửi dữ liệu giữa các workflow với Execute Workflow Node
- Bài học 39: Lưu trữ dữ liệu tạm thời bằng Data Store Node
- Bài học 40: Tối ưu hóa workflow để chạy nhanh hơn và tiết kiệm tài nguyên
- Bài học 41: Debug Workflow – Tìm và sửa lỗi nhanh chóng trong n8n!
- Bài học 42: Error Handling nâng cao – Tự động xử lý lỗi để workflow không bị gián đoạn!
- Bài học 43: Xử lý dữ liệu tự động với ai – tích hợp chatgpt vào n8n!
- Bài học 44: Xử lý dữ liệu tự động với ai – tích hợp gemini ai vào n8n!
- Bài học 45: Kết hợp AI và n8n – Tạo chatbot tự động trả lời khách hàng!
- Bài học 46: Chatbot AI nâng cao – Tích hợp với cơ sở dữ liệu khách hàng!
- Bài học 47: Tích hợp chatbot AI với hệ thống CRM – Quản lý khách hàng chuyên nghiệp!
- Bài học 48: Chatbot AI tự động chăm sóc khách hàng với Email & SMS!
- Bài học 49: Chatbot AI tự động theo dõi và đánh giá khách hàng tiềm năng!
- Bài học 50: Tự động cập nhật dữ liệu khách hàng vào CRM với n8n!
- Bài học 51: Chuyển đổi giọng nói thành văn bản với Whisper API
- Bài học 52: Tích hợp ai với n8n để tự động phân tích văn bản và đưa ra phản hồi thông minh!
- Bài học 53: Tích hợp AI vào n8n để tạo nội dung tự động – Viết bài blog, bài quảng cáo!
- Bài học 54: Tích hợp AI để tạo nội dung video tự động – Viết kịch bản và voice-over!
- Bài học 55: Ai tạo video 3d – dùng sora ai và runway ml!
- Bài học 56: Dùng ai tạo nhân vật ảo, mc ảo – tích hợp avatar ai vào video!
- Bài học 57: Tạo video tin tức tự động – mc ảo đọc tin mỗi ngày!
- Bài học 58: Dùng ai tạo video quảng cáo sản phẩm tự động!
- Bài học 59: Dùng ai tạo video review sản phẩm tự động!
- Bài học 60: Dùng ai tạo video đánh giá sản phẩm theo trend tiktok!
CHƯƠNG 7:
- Bài học 61:
- Bài học 62:
- Bài học 63:
- Bài học 64:
- Bài học 65:
- Bài học 66:
- Bài học 67:
- Bài học 68:
- Bài học 69:
- Bài học 70:
CHƯƠNG 8:
- Bài học 71:
- Bài học 72:
- Bài học 73:
- Bài học 74:
- Bài học 75:
- Bài học 76:
- Bài học 77:
- Bài học 78:
- Bài học 79:
- Bài học 80:
CHƯƠNG 9:
- Bài học 81:
- Bài học 82:
- Bài học 83:
- Bài học 84:
- Bài học 85:
- Bài học 86:
- Bài học 87:
- Bài học 88:
- Bài học 89:
- Bài học 90:
CHƯƠNG 10:
- Bài học 91:
- Bài học 92:
- Bài học 93:
- Bài học 94:
- Bài học 95:
- Bài học 96:
- Bài học 97:
- Bài học 98:
- Bài học 99:
- Bài học 100:
Phần Mở Đầu
CHƯƠNG 1:
BÀI HỌC 1: N8N LÀ GÌ? TẠI SAO BẠN NÊN HỌC N8N?
1. Hội thoại mở đầu – Khơi gợi sự tò mò
Bon: Anh ơi, hôm qua em thấy có người nói n8n giúp tự động hóa công việc giống như có một trợ lý ảo. Thật không ạ?
Ben: Có khi nào nó giúp em tự động làm bài tập luôn không? 😆
Chuyên gia: Haha, nếu em có thể dạy nó cách làm bài tập thì cũng không phải là không thể đâu! Nhưng thực tế, n8n giống như một “trợ lý số” giúp con người tiết kiệm hàng giờ làm việc mỗi ngày. Các em có muốn biết n8n có thể làm được những gì không?
Bon & Ben: Có ạ! Kể ngay đi anh!
2. n8n – Công cụ tự động hóa quyền lực dành cho mọi người
2.1. Định nghĩa n8n
n8n là một công cụ tự động hóa mã nguồn mở, giúp bạn kết nối ứng dụng, xử lý dữ liệu và tự động hóa công việc mà không cần viết code.
Bạn có thể tưởng tượng n8n như một "cỗ máy kéo-thả", nơi bạn chỉ cần kết nối các khối (node) với nhau để tạo ra một quy trình làm việc tự động (workflow).
🔥 Ví dụ dễ hiểu:
- Khi có email mới, n8n tự động tải xuống tệp đính kèm và lưu vào Google Drive.
- Khi có khách hàng mới trên Shopee, n8n tự động thêm họ vào danh sách Google Sheets.
- Khi có bình luận mới trên YouTube, n8n gửi tin nhắn phản hồi qua Telegram.
2.2. Vì sao bạn nên học n8n?
🌟 Tăng tốc công việc – Giảm bớt hàng giờ làm việc thủ công mỗi tuần.
🚀 Không cần biết lập trình – Kéo-thả là có ngay workflow.
🔗 Hỗ trợ hơn 300 ứng dụng – Kết nối Gmail, Google Sheets, Discord, Telegram, Notion, OpenAI...
💰 Hoàn toàn miễn phí & mã nguồn mở – Không bị giới hạn như Zapier hay Make.
🔐 Bảo mật cao – Bạn có thể chạy trên máy tính hoặc cloud riêng.
🎯 n8n không chỉ dành cho lập trình viên – Nó dành cho bất kỳ ai muốn tự động hóa công việc mà không cần viết code!
3. Hệ sinh thái n8n – Thế giới tự động hóa vô tận
📌 Những lĩnh vực có thể sử dụng n8n:
Lĩnh vực | Ứng dụng của n8n |
---|---|
Kinh doanh & Marketing | Gửi email tự động, theo dõi khách hàng, lên lịch đăng bài trên mạng xã hội |
Học tập & Giáo dục | Gửi bài giảng tự động, tạo chatbot hỗ trợ học tập |
Lập trình & DevOps | Kiểm soát hệ thống, tự động hóa CI/CD |
Thương mại điện tử | Tự động cập nhật đơn hàng, gửi tin nhắn chăm sóc khách hàng |
Dịch vụ khách hàng | Gửi phản hồi tự động, tạo ticket hỗ trợ |
💡 Case Study thực tế:
- Một công ty bán hàng online đã tự động hóa quy trình gửi email chăm sóc khách hàng, tiết kiệm 10 giờ làm việc mỗi tuần.
- Một giáo viên đã dùng n8n để gửi bài tập tự động cho học sinh qua email mỗi sáng thứ Hai.
- Một lập trình viên đã tạo chatbot hỗ trợ khách hàng bằng cách kết nối n8n với ChatGPT.
4. Bài tập thực hành – Tạo workflow đầu tiên với n8n
📌 Mục tiêu:
- Làm quen với giao diện n8n.
- Tạo workflow đơn giản lấy dữ liệu từ internet.
📌 Yêu cầu:
- Máy tính có kết nối internet.
- Đã cài đặt n8n hoặc sử dụng phiên bản cloud miễn phí.
Step-by-step hướng dẫn thực hành
🔹 Bước 1: Mở n8n và tạo workflow mới
1️⃣ Mở trình duyệt web và truy cập vào trang n8n.io
2️⃣ Nếu chưa có tài khoản, nhấn Sign Up để đăng ký.
3️⃣ Đăng nhập và chọn Start with Cloud (nếu dùng phiên bản cloud).
4️⃣ Nhấn Create Workflow để tạo workflow mới.
🔹 Bước 2: Thêm Start Node
1️⃣ Nhấn vào dấu + trên màn hình.
2️⃣ Gõ từ khóa "Start", chọn Start Node rồi nhấn Add.
3️⃣ Đây là điểm bắt đầu của workflow, giống như nút khởi động.
🔹 Bước 3: Thêm HTTP Request Node để lấy dữ liệu từ internet
1️⃣ Nhấn vào dấu +, tìm "HTTP Request" và nhấn Add.
2️⃣ Nhấp vào HTTP Request Node vừa tạo.
3️⃣ Ở phần Method, chọn GET.
4️⃣ Ở phần URL, nhập đường link sau:
https://jsonplaceholder.typicode.com/todos/1
5️⃣ Nhấn Execute Node, bạn sẽ thấy dữ liệu được lấy từ internet.
🔹 Bước 4: Kết nối các node và chạy workflow
1️⃣ Nhấn giữ chuột từ Start Node kéo đến HTTP Request Node để kết nối chúng.
2️⃣ Nhấn vào Execute Workflow để chạy thử.
3️⃣ Kiểm tra dữ liệu hiển thị trong phần Output của HTTP Request Node.
🎉 Chúc mừng! Bạn vừa tạo workflow đầu tiên trong n8n!
5. Thảo luận và giải đáp
Ben: Anh ơi, dữ liệu lấy từ internet có thể là gì ngoài bài tập này ạ?
Chuyên gia: Rất nhiều thứ! Ví dụ như thời tiết, giá cổ phiếu, tin tức, hoặc dữ liệu khách hàng từ một website.
Bon: Vậy em có thể dùng n8n để tạo chatbot lấy tin tức mới nhất rồi gửi qua Telegram cho em không?
Chuyên gia: Hoàn toàn có thể! Và đó sẽ là một bài học thú vị trong các bài tiếp theo.
6. Tóm tắt bài học
📌 n8n là gì? – Công cụ giúp bạn tự động hóa công việc mà không cần lập trình.
📌 Hệ sinh thái n8n – Kết nối hơn 300 ứng dụng, giúp tiết kiệm thời gian và tăng hiệu suất.
📌 Thực hành – Đã tạo workflow đầu tiên để lấy dữ liệu từ internet.
📌 Bài tiếp theo – Khám phá sâu hơn hệ sinh thái n8n và các ứng dụng phổ biến! 🚀
BÀI HỌC 2: HỆ SINH THÁI N8N – BẠN CÓ THỂ LÀM GÌ VỚI N8N?
1. Hội thoại mở đầu – Khơi gợi sự tò mò
Ben: Anh ơi, hôm trước em dùng n8n lấy dữ liệu từ internet rồi, nhưng em chưa hiểu rõ lắm về hệ sinh thái của nó. n8n có thể làm được những gì nữa vậy anh?
Bon: Em nghe nói n8n có thể kết nối với hàng trăm ứng dụng, vậy có phải nó giống như một con nhện giăng mạng không? 🕸️😆
Chuyên gia: Chính xác! n8n là một "người kết nối vĩ đại". Nó có thể kéo dữ liệu từ chỗ này, gửi qua chỗ kia, xử lý thông tin tự động... Tóm lại, nó là một trung tâm điều phối giúp chúng ta tiết kiệm rất nhiều thời gian!
Ben: Wow, vậy hôm nay anh sẽ dạy tụi em những gì?
Chuyên gia: Hôm nay, anh sẽ giúp các em hiểu toàn bộ hệ sinh thái của n8n, cách nó hoạt động và những ứng dụng phổ biến mà chúng ta có thể làm được!
2. Hệ sinh thái n8n – Kết nối không giới hạn
2.1. n8n hoạt động như thế nào?
🔗 n8n sử dụng một mô hình rất đơn giản:
- Node (nút) → Các khối hành động trong workflow. Ví dụ: gửi email, lấy dữ liệu từ web, tạo tệp Google Sheets...
- Trigger (kích hoạt) → Khởi động workflow khi có sự kiện xảy ra. Ví dụ: có email mới, có đơn hàng mới, có tin nhắn mới...
- Workflow (quy trình làm việc) → Tập hợp các node được kết nối với nhau để tự động hóa công việc.
2.2. Các ứng dụng phổ biến của n8n
n8n có thể kết nối với hơn 300 ứng dụng phổ biến trong nhiều lĩnh vực khác nhau. Dưới đây là một số ví dụ điển hình:
Lĩnh vực | Ứng dụng của n8n |
---|---|
Quản lý công việc | Kết nối với Trello, Notion, ClickUp, Asana để tạo nhiệm vụ tự động |
Email & Marketing | Gửi email hàng loạt với Gmail, Mailchimp, HubSpot |
Mạng xã hội | Đăng bài tự động lên Facebook, Twitter, Instagram |
Thương mại điện tử | Đồng bộ hóa đơn hàng từ Shopee, Lazada, WooCommerce |
Chatbot & AI | Tích hợp với ChatGPT, Telegram, WhatsApp |
Dữ liệu & Phân tích | Lấy dữ liệu từ Google Sheets, Airtable, SQL Database |
Tài chính & Kế toán | Đồng bộ hóa giao dịch từ PayPal, Stripe, Xero |
2.3. Một số workflow thực tế cực kỳ hữu ích
- 📨 Gửi email tự động khi có khách hàng mới đăng ký.
- 🔔 Tạo thông báo trên Telegram khi có đơn hàng mới trên Shopee.
- 📰 Lấy tin tức mới nhất từ một website và gửi vào Notion để lưu trữ.
- 🎙️ Tự động tải podcast mới nhất về Google Drive.
- 📊 Tạo báo cáo doanh thu hàng ngày và gửi qua email.
💡 n8n giúp mọi người tự động hóa mà không cần biết lập trình!
3. Bài tập thực hành – Kết nối n8n với Google Sheets
📌 Mục tiêu:
- Kết nối n8n với Google Sheets.
- Tự động ghi dữ liệu vào bảng tính mỗi khi có sự kiện mới.
📌 Yêu cầu:
- Có tài khoản Google.
- Một file Google Sheets đã tạo sẵn.
Step-by-step hướng dẫn thực hành
🔹 Bước 1: Tạo file Google Sheets để lưu dữ liệu
1️⃣ Mở Google Drive và tạo một file mới đặt tên là "Danh sách học viên".
2️⃣ Mở file, đặt tiêu đề cột:
Họ Tên | Email | Ngày Đăng Ký
3️⃣ Sao chép URL của file Google Sheets (để lát nữa sử dụng trong n8n).
🔹 Bước 2: Tạo workflow mới trong n8n
1️⃣ Đăng nhập vào n8n Cloud hoặc mở n8n Local nếu bạn đã cài đặt.
2️⃣ Nhấn Create Workflow để tạo workflow mới.
3️⃣ Đổi tên workflow thành "Ghi danh sách học viên vào Google Sheets".
🔹 Bước 3: Thêm Trigger Node (Webhook)
1️⃣ Nhấn + → tìm "Webhook" → nhấn Add.
2️⃣ Ở mục HTTP Method, chọn POST.
3️⃣ Nhấn Copy Webhook URL (URL này dùng để gửi dữ liệu vào n8n).
🔹 Bước 4: Thêm Google Sheets Node
1️⃣ Nhấn + → tìm "Google Sheets" → nhấn Add.
2️⃣ Chọn OAuth2 Authentication, đăng nhập vào Google.
3️⃣ Ở mục Operation, chọn Append Row (thêm dòng mới).
4️⃣ Ở mục Spreadsheet ID, dán URL Google Sheets của bạn.
5️⃣ Ở mục Values to Send, nhập:
Họ Tên = {{$json["name"]}}
Email = {{$json["email"]}}
Ngày Đăng Ký = {{$json["date"]}}
🔹 Bước 5: Kết nối các node & kiểm tra workflow
1️⃣ Kết nối Webhook Node với Google Sheets Node.
2️⃣ Nhấn Execute Workflow để chạy thử.
3️⃣ Dùng Postman hoặc bất kỳ công cụ nào để gửi dữ liệu mẫu đến Webhook (hoặc vào trình duyệt và nhập URL webhook).
4️⃣ Kiểm tra xem dữ liệu đã được ghi vào Google Sheets chưa.
🎉 Chúc mừng! Bạn đã kết nối n8n với Google Sheets thành công!
4. Thảo luận và giải đáp
Ben: Anh ơi, vậy bây giờ nếu có một người mới đăng ký, hệ thống sẽ tự động ghi vào Google Sheets luôn hả?
Chuyên gia: Đúng vậy! Chỉ cần gửi dữ liệu đến webhook, n8n sẽ làm phần còn lại.
Bon: Wow, vậy em có thể dùng n8n để theo dõi danh sách khách hàng, đơn hàng, hay bất kỳ dữ liệu nào đúng không?
Chuyên gia: Chính xác! Và trong bài sau, anh sẽ hướng dẫn các em cách gửi email tự động từ Google Sheets nữa!
5. Tóm tắt bài học
📌 n8n có thể kết nối với hơn 300 ứng dụng khác nhau để tự động hóa công việc.
📌 Bạn có thể dùng n8n để gửi email, lấy tin tức, xử lý đơn hàng, theo dõi danh sách khách hàng...
📌 Thực hành hôm nay: Kết nối Google Sheets với n8n để tự động ghi dữ liệu.
BÀI HỌC 3: SO SÁNH N8N VỚI ZAPIER, MAKE VÀ CÁC CÔNG CỤ KHÁC
1. Hội thoại mở đầu – Lựa chọn công cụ nào tốt nhất?
Ben: Anh ơi, hôm trước em khoe với bạn là đang học n8n. Nhưng bạn ấy nói Zapier và Make cũng làm được những thứ giống n8n. Vậy chúng khác nhau thế nào ạ?
Bon: Em thấy trên mạng nhiều người nói Zapier phổ biến hơn n8n, nhưng cũng có người bảo n8n mạnh hơn vì nó miễn phí và tự host được. Vậy cái nào tốt hơn?
Chuyên gia: Đó là câu hỏi hay! Hôm nay anh sẽ giúp các em hiểu rõ ưu, nhược điểm của từng công cụ và giúp các em chọn được công cụ phù hợp nhất!
2. Tổng quan về các công cụ tự động hóa phổ biến
Có rất nhiều công cụ giúp tự động hóa quy trình công việc, nhưng 3 cái tên nổi bật nhất hiện nay là:
- n8n (Nguồn mở, có thể tự host)
- Zapier (Công cụ thương mại, dễ dùng)
- Make (trước đây là Integromat) (Giao diện kéo thả trực quan)
Ngoài ra, còn một số công cụ khác như Pipedream, Automate.io, IFTTT, nhưng chúng có phạm vi ứng dụng hẹp hơn.
3. Bảng so sánh n8n, Zapier và Make
Tiêu chí | n8n (Mã nguồn mở) | Zapier (Thương mại) | Make (Giao diện kéo thả) |
---|---|---|---|
Chi phí | Miễn phí, có bản Cloud | Trả phí, có bản Free giới hạn | Trả phí, có bản Free giới hạn |
Khả năng tự host | ✅ Có thể tự cài trên server riêng | ❌ Không thể tự host | ❌ Không thể tự host |
Tích hợp ứng dụng | 300+ ứng dụng | 6,000+ ứng dụng | 1,500+ ứng dụng |
Giao diện | Kéo thả, logic dạng cây | Kéo thả, đơn giản | Kéo thả, trực quan |
Lập trình nâng cao | ✅ Có thể viết code tùy chỉnh | ❌ Không hỗ trợ code tùy chỉnh | ✅ Có thể viết code |
API và Webhook | ✅ Hỗ trợ mạnh mẽ | ✅ Hỗ trợ nhưng giới hạn | ✅ Hỗ trợ nhưng không mạnh như n8n |
Tốc độ xử lý | Nhanh, chạy trên server riêng | Nhanh nhưng phụ thuộc vào gói trả phí | Nhanh nhưng có giới hạn luồng chạy |
Hạn chế | Cần biết chút kỹ thuật | Giới hạn số lượng tác vụ, giá cao | Giới hạn số luồng chạy miễn phí |
📌 Kết luận nhanh:
- Nếu bạn muốn miễn phí, tự host, linh hoạt → n8n là lựa chọn tốt nhất.
- Nếu bạn muốn dễ dùng, không cần biết kỹ thuật → Zapier phù hợp hơn.
- Nếu bạn cần giao diện kéo thả dễ nhìn hơn n8n → Make là lựa chọn tốt.
4. Khi nào nên dùng n8n thay vì Zapier hoặc Make?
🔹 Bạn muốn tiết kiệm chi phí:
- Zapier có thể tốn hàng trăm đô mỗi tháng, còn n8n miễn phí khi tự host.
🔹 Bạn cần xử lý dữ liệu phức tạp:
- n8n hỗ trợ code JavaScript, còn Zapier thì không.
🔹 Bạn cần hiệu suất cao, không giới hạn:
- Zapier giới hạn số lần chạy workflow theo gói trả phí, còn n8n chạy không giới hạn nếu tự host.
🔹 Bạn cần kết nối API tùy chỉnh:
- n8n hỗ trợ Webhook, API REST mạnh mẽ hơn so với Zapier.
📌 Khi nào nên dùng Zapier hoặc Make?
- Nếu bạn không muốn cài đặt gì và cần kết nối nhanh.
- Nếu bạn không rành kỹ thuật và chỉ muốn kéo thả đơn giản.
- Nếu bạn sẵn sàng trả tiền để có trải nghiệm dễ dàng hơn.
5. Bài tập thực hành – So sánh tốc độ xử lý giữa n8n và Zapier
📌 Mục tiêu:
- Tạo workflow gửi email tự động bằng n8n và Zapier, đo tốc độ xử lý.
📌 Yêu cầu:
- Một tài khoản Gmail.
- Đã cài đặt n8n Cloud hoặc n8n Self-host.
- Một tài khoản Zapier Free.
Step-by-step hướng dẫn thực hành
🔹 Bước 1: Tạo workflow gửi email bằng n8n
1️⃣ Mở n8n và nhấn Create Workflow.
2️⃣ Thêm node Webhook, chọn POST và sao chép URL.
3️⃣ Thêm node Gmail, kết nối tài khoản Google.
4️⃣ Ở mục Recipient Email, nhập email của bạn.
5️⃣ Ở mục Subject, nhập "Thử nghiệm tốc độ n8n".
6️⃣ Ở mục Body, nhập:
Xin chào, đây là email gửi từ n8n!
7️⃣ Kết nối Webhook → Gmail và nhấn Execute Workflow.
🔹 Bước 2: Tạo workflow gửi email bằng Zapier
1️⃣ Mở Zapier, nhấn Create Zap.
2️⃣ Chọn Trigger là Webhook by Zapier.
3️⃣ Chọn Action là Gmail - Send Email.
4️⃣ Kết nối Gmail và nhập thông tin tương tự như trên n8n.
5️⃣ Nhấn Test & Publish.
🔹 Bước 3: So sánh tốc độ xử lý
1️⃣ Dùng Postman hoặc trình duyệt để gửi request đến Webhook của n8n và Zapier cùng lúc.
2️⃣ Bật mốc thời gian trong Gmail để xem email nào đến trước.
3️⃣ Ghi lại thời gian xử lý của từng công cụ.
📊 Kết quả mong đợi:
- n8n thường nhanh hơn vì chạy trên server riêng hoặc cục bộ.
- Zapier có thể bị trễ do xử lý qua hệ thống của họ.
📌 Nhận xét: Nếu bạn cần xử lý tác vụ nhanh, không bị trễ, thì n8n là lựa chọn tốt hơn.
6. Thảo luận và giải đáp
Ben: Anh ơi, vậy nếu em muốn dùng miễn phí mà không cần tự cài đặt thì sao?
Chuyên gia: Em có thể dùng n8n Cloud (bản miễn phí có giới hạn), hoặc dùng Make nếu thích giao diện kéo thả dễ nhìn hơn.
Bon: Nhưng nếu em muốn làm những workflow phức tạp hơn, thì em nên chọn n8n hay Make?
Chuyên gia: Nếu workflow của em cần xử lý dữ liệu lớn, viết code tùy chỉnh, hoặc kết nối API thì n8n tốt hơn. Còn nếu chỉ cần kéo thả đơn giản thì Make cũng là một lựa chọn hay.
7. Tóm tắt bài học
📌 n8n, Zapier và Make đều là công cụ tự động hóa phổ biến.
📌 n8n miễn phí, linh hoạt, tự host được và mạnh mẽ hơn khi làm việc với API.
📌 Zapier dễ dùng nhưng đắt, phù hợp với người không có kỹ thuật.
📌 Make có giao diện kéo thả đẹp, nhưng vẫn bị giới hạn bởi giá thành.
📌 Thực hành hôm nay giúp bạn so sánh tốc độ xử lý của n8n và Zapier.
BÀI HỌC 4: CÁCH CÀI ĐẶT n8n TRÊN MÁY TÍNH CÁ NHÂN (WINDOWS, MAC, LINUX)
1. Hội thoại mở đầu – Cài đặt n8n có khó không?
Ben: Anh ơi, em muốn cài n8n trên máy tính của em để thực hành, nhưng em không biết bắt đầu từ đâu. Có khó không ạ?
Bon: Em thấy n8n có thể chạy trên nhiều nền tảng, vậy em nên cài theo cách nào để dễ dùng nhất?
Chuyên gia: Cài n8n rất dễ, chỉ cần làm theo từng bước là xong ngay! Hôm nay anh sẽ hướng dẫn các em cách cài đặt n8n trên Windows, Mac và Linux. Đảm bảo ai cũng làm được!
2. Các cách cài đặt n8n
Có nhiều cách để cài đặt n8n trên máy tính cá nhân, nhưng 3 cách phổ biến nhất là:
- Cài đặt bằng Node.js (Cách linh hoạt nhất, phù hợp cho tất cả hệ điều hành).
- Cài đặt bằng Docker (Dành cho người đã quen với Docker).
- Cài đặt bằng n8n Desktop App (Dễ nhất, nhưng ít tùy chỉnh).
📌 Gợi ý chọn phương pháp:
- Nếu bạn chỉ muốn chạy nhanh, hãy dùng n8n Desktop App.
- Nếu bạn muốn cài đặt ổn định và linh hoạt, hãy dùng Node.js.
- Nếu bạn có sẵn Docker, hãy dùng Docker.
3. Cài đặt n8n bằng Node.js (Khuyến nghị nhất)
🔹 Bước 1: Cài đặt Node.js
👉 n8n yêu cầu Node.js (từ phiên bản 18 trở lên).
📌 Windows & Mac:
-
Truy cập trang chủ Node.js và tải phiên bản LTS.
-
Cài đặt Node.js như phần mềm bình thường.
-
Kiểm tra phiên bản bằng cách mở Terminal (Mac/Linux) hoặc Command Prompt (Windows) và nhập:
node -v npm -v
📌 Linux (Ubuntu/Debian):
Mở Terminal và nhập lệnh:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
🔹 Bước 2: Cài đặt n8n
Sau khi cài Node.js, mở Terminal (Mac/Linux) hoặc Command Prompt (Windows) và nhập:
npm install -g n8n
📌 Kiểm tra xem n8n đã cài thành công chưa:
n8n -v
🔹 Bước 3: Chạy n8n
Chạy lệnh:
n8n
📌 Sau khi chạy lệnh trên, mở trình duyệt và nhập:
👉 http://localhost:5678 để truy cập giao diện n8n.
🎉 Chúc mừng! Bạn đã cài thành công n8n!
4. Cài đặt n8n bằng Docker (Dành cho người biết Docker)
📌 Yêu cầu:
- Đã cài đặt Docker (Tải tại đây).
📌 Các bước cài đặt:
Mở Terminal hoặc Command Prompt, nhập lệnh sau để tải và chạy n8n:
docker run -it --rm --name n8n -p 5678:5678 n8nio/n8n
📌 Mở trình duyệt và nhập:
👉 http://localhost:5678
🎉 Bạn đã chạy n8n bằng Docker thành công!
5. Cài đặt n8n bằng Desktop App (Cách dễ nhất)
📌 Bước 1: Tải ứng dụng
👉 Truy cập https://n8n.io/download/ và tải n8n Desktop App cho Windows/Mac.
📌 Bước 2: Cài đặt
- Mở file vừa tải và làm theo hướng dẫn cài đặt.
- Sau khi cài xong, mở n8n Desktop App và bắt đầu sử dụng.
🎉 Cách này đơn giản nhất nhưng ít tùy chỉnh hơn so với phiên bản Node.js/Docker.
6. Bài tập thực hành – Kiểm tra cài đặt và tạo workflow đầu tiên
📌 Mục tiêu:
- Kiểm tra xem bạn đã cài đặt n8n thành công chưa.
- Tạo một workflow đơn giản để thử nghiệm.
🔹 Bước 1: Kiểm tra n8n đã chạy đúng chưa
1️⃣ Mở Terminal (Mac/Linux) hoặc Command Prompt (Windows).
2️⃣ Nhập lệnh sau để khởi động n8n:
n8n
3️⃣ Mở trình duyệt và nhập http://localhost:5678.
🚀 Nếu thấy giao diện n8n, bạn đã cài đặt thành công!
🔹 Bước 2: Tạo workflow đầu tiên
1️⃣ Nhấn Create Workflow.
2️⃣ Thêm một node Manual Trigger.
3️⃣ Thêm một node Set, nhập "Xin chào, n8n!" vào một trường bất kỳ.
4️⃣ Kết nối Manual Trigger → Set.
5️⃣ Nhấn Execute Workflow.
🎉 Nếu workflow chạy thành công, bạn đã sẵn sàng học tiếp!
7. Thảo luận và giải đáp
Ben: Anh ơi, nếu em muốn chạy n8n trên máy tính khác thì sao?
Chuyên gia: Em có thể dùng Docker hoặc chạy trên server cloud, anh sẽ hướng dẫn chi tiết ở các bài sau!
Bon: Nếu em không muốn gõ lệnh mà chỉ muốn dùng giao diện thì có cách nào không?
Chuyên gia: Em có thể dùng n8n Desktop App, nhưng nếu muốn linh hoạt thì cách cài bằng Node.js vẫn tốt hơn!
8. Tóm tắt bài học
📌 Có 3 cách cài đặt n8n:
✔ Node.js (Khuyến nghị nhất, linh hoạt, phù hợp với tất cả hệ điều hành).
✔ Docker (Dành cho người dùng quen với Docker).
✔ n8n Desktop App (Dễ nhất nhưng ít tùy chỉnh).
📌 Bạn đã học cách kiểm tra cài đặt và tạo workflow đầu tiên!
BÀI HỌC 5: CÁCH CÀI ĐẶT n8n TRÊN CLOUD MIỄN PHÍ (RAILWAY, RENDER, FLY.IO, V.V.)
1. Hội thoại mở đầu – Tại sao cần cài n8n trên cloud?
Ben: Anh Bon ơi, em cài được n8n trên máy tính rồi, nhưng em muốn chạy nó trên cloud để không cần bật máy liên tục. Có cách nào không ạ?
Bon: Ừm, anh cũng nghĩ vậy, nhưng cloud thường mất phí mà?
Chuyên gia: Đúng là có nhiều dịch vụ cloud mất phí, nhưng cũng có những nền tảng miễn phí mà chúng ta có thể tận dụng. Hôm nay, anh sẽ hướng dẫn các em cài n8n trên 3 dịch vụ cloud miễn phí phổ biến: Railway, Render và Fly.io!
2. Tại sao nên chạy n8n trên cloud?
✅ Không cần bật máy liên tục: Bạn có thể chạy workflow 24/7.
✅ Có thể truy cập từ bất kỳ đâu: Chỉ cần có internet là chạy được.
✅ Tích hợp dễ dàng với các dịch vụ khác: Kết nối API, webhook thuận tiện hơn.
✅ Miễn phí (với giới hạn nhất định): Railway, Render và Fly.io đều có gói miễn phí đủ dùng.
3. Cách cài đặt n8n trên Railway
📌 Railway là nền tảng dễ sử dụng nhất để triển khai n8n trên cloud.
🔹 Bước 1: Đăng ký tài khoản Railway
👉 Truy cập https://railway.app/ và đăng ký bằng GitHub.
🔹 Bước 2: Tạo project mới
1️⃣ Nhấn New Project → Chọn Deploy from GitHub repo.
2️⃣ Kết nối với GitHub và fork repo n8n từ đây:
- Repo chính thức: https://github.com/n8n-io/n8n
🔹 Bước 3: Cấu hình biến môi trường
Vào tab Variables, thêm các giá trị sau:
Tên biến | Giá trị |
---|---|
N8N_HOST | your-railway-url.app |
N8N_PORT | 5678 |
WEBHOOK_URL | https://your-railway-url.app |
🔹 Bước 4: Deploy và kiểm tra
1️⃣ Nhấn Deploy.
2️⃣ Sau khi hoàn thành, nhấn Open URL để truy cập giao diện n8n.
🎉 Bạn đã triển khai n8n trên Railway thành công!
4. Cách cài đặt n8n trên Render
📌 Render có gói miễn phí với 750 giờ chạy mỗi tháng.
🔹 Bước 1: Đăng ký tài khoản Render
👉 Truy cập https://render.com/ và đăng ký bằng GitHub.
🔹 Bước 2: Tạo web service
1️⃣ Nhấn New Web Service.
2️⃣ Chọn Deploy from GitHub và fork repo https://github.com/n8n-io/n8n.
🔹 Bước 3: Cấu hình dịch vụ
- Name:
n8n-service
- Region:
Oregon (Free Tier)
- Runtime:
Docker
- Build Command:
npm install && npm run build
- Start Command:
n8n start
🔹 Bước 4: Cấu hình biến môi trường
Thêm các biến sau vào Environment Variables:
Tên biến | Giá trị |
---|---|
N8N_HOST | your-render-url.onrender.com |
N8N_PORT | 5678 |
WEBHOOK_URL | https://your-render-url.onrender.com |
🔹 Bước 5: Deploy và truy cập
1️⃣ Nhấn Deploy Web Service.
2️⃣ Khi hoàn thành, nhấn Open URL để kiểm tra.
🎉 Bạn đã triển khai n8n trên Render thành công!
5. Cách cài đặt n8n trên Fly.io
📌 Fly.io cho phép chạy ứng dụng miễn phí với 256MB RAM.
🔹 Bước 1: Cài đặt Fly.io CLI
👉 Tải và cài đặt Fly.io CLI theo hướng dẫn tại https://fly.io/docs/hands-on/install-flyctl/.
🔹 Bước 2: Đăng nhập vào Fly.io
Mở Terminal/Command Prompt và nhập:
flyctl auth signup
🔹 Bước 3: Triển khai n8n
1️⃣ Tạo ứng dụng mới:
flyctl launch
2️⃣ Chọn region gần bạn nhất (VD: Singapore sin
).
3️⃣ Khi được hỏi "Would you like to deploy now?", chọn No.
🔹 Bước 4: Cấu hình Dockerfile
Mở fly.toml
và thêm:
[build]
dockerfile = "Dockerfile"
🔹 Bước 5: Cấu hình biến môi trường
Chạy lệnh:
flyctl secrets set N8N_HOST="your-fly-url.fly.dev"
flyctl secrets set WEBHOOK_URL="https://your-fly-url.fly.dev"
🔹 Bước 6: Deploy n8n lên Fly.io
Chạy lệnh:
flyctl deploy
🎉 Sau khi hoàn tất, mở trình duyệt và truy cập https://your-fly-url.fly.dev
!
6. Bài tập thực hành – Kiểm tra cài đặt cloud
📌 Mục tiêu:
- Triển khai n8n trên Railway, Render hoặc Fly.io.
- Kiểm tra xem n8n có hoạt động đúng không.
🔹 Bước 1: Truy cập n8n trên cloud
1️⃣ Mở trình duyệt và nhập URL của bạn (tùy theo dịch vụ đã chọn).
2️⃣ Đăng nhập vào n8n và thử tạo workflow đơn giản.
🔹 Bước 2: Tạo workflow test
1️⃣ Nhấn Create Workflow.
2️⃣ Thêm Manual Trigger.
3️⃣ Thêm Set node → Nhập "Xin chào, Cloud!"
.
4️⃣ Kết nối Manual Trigger → Set.
5️⃣ Nhấn Execute Workflow.
🎉 Nếu workflow chạy thành công, bạn đã triển khai n8n trên cloud thành công!
7. Thảo luận và giải đáp
Ben: Nếu hết hạn miễn phí thì sao anh?
Chuyên gia: Em có thể tạo tài khoản mới hoặc sử dụng nhiều dịch vụ cùng lúc để tiết kiệm!
Bon: Anh có thể hướng dẫn cách bảo mật n8n trên cloud không?
Chuyên gia: Chắc chắn rồi! Anh sẽ hướng dẫn trong bài sau về bảo mật n8n!
8. Tóm tắt bài học
📌 Có 3 cách triển khai n8n trên cloud miễn phí:
✔ Railway: Dễ cài, ổn định.
✔ Render: 750 giờ miễn phí/tháng.
✔ Fly.io: Tối ưu cho ứng dụng nhỏ.
📌 Bạn đã học cách triển khai n8n trên cloud và chạy workflow đầu tiên!
BÀI HỌC 6: CÁCH CÀI ĐẶT VÀ CHẠY n8n TRÊN DOCKER
1. Hội thoại mở đầu – Tại sao dùng Docker?
Ben: Anh Bon ơi, mình đã cài n8n trên máy tính và cloud rồi, nhưng em thấy nhiều người nói về Docker. Nó có gì đặc biệt vậy?
Bon: Ừm, anh cũng nghe nói về Docker nhưng chưa hiểu lắm. Nó có giúp mình chạy n8n tốt hơn không?
Chuyên gia: Docker giúp mình chạy n8n dễ dàng hơn mà không cần cài đặt nhiều thứ phức tạp. Nó đóng gói tất cả vào một "container", giúp n8n chạy ổn định trên mọi hệ điều hành!
Ben: Vậy tức là mình không cần lo về việc cài đặt Node.js hay mấy thứ phụ thuộc khác nữa đúng không?
Chuyên gia: Chính xác! Hôm nay anh sẽ hướng dẫn các em cách cài đặt và chạy n8n bằng Docker!
2. Docker là gì và tại sao nên dùng Docker để chạy n8n?
🔹 Docker là gì?
Docker là một nền tảng giúp đóng gói ứng dụng vào một "container". Container này chứa mọi thứ cần thiết để ứng dụng chạy mà không phụ thuộc vào hệ điều hành.
🔹 Tại sao nên chạy n8n trên Docker?
✅ Không cần cài đặt Node.js, PostgreSQL thủ công
✅ Dễ triển khai trên mọi hệ điều hành (Windows, Mac, Linux)
✅ Dễ nâng cấp n8n chỉ với một lệnh
✅ Có thể chạy n8n cùng với các dịch vụ khác như MySQL, Redis
3. Cách cài đặt Docker trên máy tính
🔹 Bước 1: Tải và cài đặt Docker
👉 Truy cập https://www.docker.com/products/docker-desktop
- Windows/Mac: Cài Docker Desktop.
- Linux: Cài bằng lệnh (Ubuntu):
sudo apt update sudo apt install docker.io -y
👉 Sau khi cài xong, mở Terminal/Command Prompt và kiểm tra:
docker --version
🔹 Nếu thấy phiên bản Docker hiện ra, bạn đã cài đặt thành công!
4. Cách chạy n8n bằng Docker
🔹 Bước 1: Kéo image n8n về máy
Mở Terminal/Command Prompt và chạy:
docker pull n8nio/n8n
📌 Lệnh này sẽ tải phiên bản mới nhất của n8n về máy bạn.
🔹 Bước 2: Chạy n8n với Docker
docker run -it --rm \
-p 5678:5678 \
n8nio/n8n
📌 Giải thích lệnh:
docker run -it --rm
: Chạy container và xóa sau khi dừng.-p 5678:5678
: Mở cổng để truy cập n8n.n8nio/n8n
: Chạy container từ image n8n.
🔹 Sau khi chạy lệnh, mở trình duyệt và nhập:
http://localhost:5678
🎉 Bạn đã chạy n8n thành công bằng Docker!
5. Cách chạy n8n với dữ liệu được lưu trữ (không bị mất sau khi tắt Docker)
📌 Nếu bạn dùng lệnh trên, dữ liệu sẽ mất khi tắt container. Để lưu lại dữ liệu, ta cần mount thư mục.
🔹 Bước 1: Tạo thư mục lưu dữ liệu
mkdir n8n_data
📌 Thư mục này sẽ lưu trữ workflow, user, database của n8n.
🔹 Bước 2: Chạy n8n với thư mục lưu trữ
docker run -it --rm \
-p 5678:5678 \
-v $(pwd)/n8n_data:/home/node/.n8n \
n8nio/n8n
📌 Giải thích lệnh:
-v $(pwd)/n8n_data:/home/node/.n8n
: Gắn thư mụcn8n_data
vào container.
🎉 Giờ bạn có thể lưu lại workflow mà không lo mất dữ liệu!
6. Chạy n8n với Docker Compose (Chạy cùng database PostgreSQL)
📌 Nếu muốn chạy n8n với PostgreSQL để tối ưu hiệu suất, bạn nên dùng Docker Compose.
🔹 Bước 1: Tạo file docker-compose.yml
Tạo một file docker-compose.yml
với nội dung:
version: '3'
services:
postgres:
image: postgres:13
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: n8n
POSTGRES_DB: n8n
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: n8nio/n8n
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=n8n
depends_on:
- postgres
volumes:
- n8n_data:/home/node/.n8n
volumes:
postgres_data:
n8n_data:
📌 Giải thích:
- Chạy PostgreSQL làm database cho n8n.
- Lưu dữ liệu vào volume để không bị mất.
🔹 Bước 2: Chạy Docker Compose
Mở Terminal và chạy:
docker-compose up -d
🎉 Giờ bạn có một hệ thống n8n chạy cùng PostgreSQL trên Docker!
7. Bài tập thực hành – Chạy n8n bằng Docker
📌 Mục tiêu:
- Chạy n8n bằng Docker.
- Chạy n8n với dữ liệu lưu trữ.
- Chạy n8n với PostgreSQL bằng Docker Compose.
🔹 Bước 1: Chạy n8n đơn giản
👉 Dùng lệnh:
docker run -it --rm -p 5678:5678 n8nio/n8n
✅ Kiểm tra xem có truy cập được http://localhost:5678
không.
🔹 Bước 2: Lưu dữ liệu n8n trên máy
👉 Dùng lệnh:
docker run -it --rm -p 5678:5678 -v $(pwd)/n8n_data:/home/node/.n8n n8nio/n8n
✅ Kiểm tra xem khi tắt Docker, workflow có còn không.
🔹 Bước 3: Chạy n8n với PostgreSQL
👉 Tạo file docker-compose.yml
, rồi chạy:
docker-compose up -d
✅ Kiểm tra xem có chạy ổn không.
8. Thảo luận và giải đáp
Ben: Docker hay quá, nhưng làm sao để cập nhật n8n lên phiên bản mới?
Chuyên gia: Chỉ cần chạy lệnh này để lấy bản mới nhất:
docker pull n8nio/n8n
Sau đó, chạy lại n8n như bình thường!
Bon: Nếu muốn gỡ n8n khỏi Docker thì sao?
Chuyên gia: Dùng lệnh này:
docker rmi n8nio/n8n
🎉 Vậy là xong!
9. Tóm tắt bài học
📌 Docker giúp cài đặt n8n dễ dàng hơn mà không cần cài đặt nhiều thứ khác.
📌 Có thể chạy n8n với dữ liệu lưu trữ hoặc kết hợp với PostgreSQL bằng Docker Compose.
BÀI HỌC 7: GIAO DIỆN LÀM VIỆC CỦA n8n – LÀM QUEN VỚI CÁC THÀNH PHẦN CHÍNH
1. Hội thoại mở đầu – Khám phá giao diện n8n
Ben: Anh Bon ơi, hôm trước mình đã cài xong n8n rồi, nhưng mở lên thấy nhiều nút bấm quá. Em không biết bắt đầu từ đâu luôn!
Bon: Ừ đúng đó! Có rất nhiều thứ trên màn hình, em cũng không biết nên bấm vào đâu trước.
Chuyên gia: Haha, đừng lo! Hôm nay anh sẽ giúp hai em làm quen với giao diện n8n. Chỉ cần hiểu rõ các thành phần chính là mình có thể bắt đầu xây dựng workflow ngay thôi!
Ben: Vậy thì bắt đầu ngay đi anh!
2. Giới thiệu tổng quan về giao diện n8n
Khi mở n8n lần đầu tiên bằng trình duyệt tại http://localhost:5678
, bạn sẽ thấy một giao diện trực quan. Đây là nơi bạn thiết kế, quản lý và chạy các workflow tự động hóa.
Giao diện chính của n8n bao gồm các phần sau:
- Thanh công cụ trên cùng (Top Bar)
- Thanh bên trái (Sidebar)
- Không gian làm việc (Canvas)
- Thanh thiết lập (Node Panel & Execution Panel)
📌 Bây giờ, chúng ta sẽ tìm hiểu từng phần một!
3. Các thành phần chính trong giao diện n8n
🔹 1. Thanh công cụ trên cùng (Top Bar)
Thanh này nằm ở trên cùng của màn hình, chứa các công cụ chính:
Biểu tượng | Chức năng |
---|---|
▶️ Execute Workflow | Chạy workflow hiện tại |
💾 Save | Lưu workflow |
🏠 Dashboard | Quay lại màn hình chính |
📂 Load Workflow | Tải workflow đã lưu |
⚙️ Settings | Cài đặt chung cho n8n |
🔍 Search | Tìm kiếm workflow hoặc node |
🔄 Restart Workflow | Chạy lại workflow từ đầu |
📌 Thực hành:
- Bấm vào "🏠 Dashboard" để xem danh sách workflow đã lưu.
- Bấm vào "💾 Save" để lưu workflow đầu tiên của bạn.
🔹 2. Thanh bên trái (Sidebar)
Thanh này chứa các công cụ giúp bạn quản lý workflow. Các phần quan trọng:
Mục | Chức năng |
---|---|
📂 Workflows | Danh sách tất cả workflow |
⚡ Executions | Lịch sử các lần chạy workflow |
🛠️ Credentials | Quản lý thông tin kết nối (API Key, OAuth, v.v.) |
📝 Templates | Các mẫu workflow có sẵn |
📌 Thực hành:
- Bấm vào "Workflows" để xem danh sách workflow.
- Mở "Executions" để kiểm tra lịch sử workflow đã chạy.
🔹 3. Không gian làm việc (Canvas)
Đây là khu vực chính nơi bạn kéo thả các Node để tạo workflow.
Thành phần | Chức năng |
---|---|
⬜ Node | Một khối công việc trong workflow (Gửi email, lấy dữ liệu, v.v.) |
🔗 Connection | Đường kết nối giữa các node để tạo luồng xử lý |
⬆️ Start Node | Điểm bắt đầu của workflow |
⬇️ End Node | Điểm kết thúc workflow |
📌 Thực hành:
- Thử kéo một node "Set" vào canvas.
- Kết nối nó với "Start Node" bằng cách kéo thả đường link.
🔹 4. Thanh thiết lập (Node Panel & Execution Panel)
Thanh này xuất hiện khi bạn bấm vào một node bất kỳ. Nó giúp bạn chỉnh sửa cài đặt của node.
Mục | Chức năng |
---|---|
⚙️ Properties | Cấu hình node (Nhập dữ liệu, API, v.v.) |
📜 JSON Data | Xem dữ liệu đầu vào và đầu ra của node |
⏳ Execution Logs | Kiểm tra log khi chạy workflow |
📌 Thực hành:
- Bấm vào một node để mở bảng Properties.
- Chỉnh sửa giá trị trong node "Set", nhập
"message": "Hello world!"
.
4. Bài tập thực hành – Tạo workflow đơn giản
📌 Mục tiêu: Làm quen với giao diện n8n bằng cách tạo workflow đầu tiên.
🔹 Bước 1: Tạo workflow mới
- Bấm vào 🏠 Dashboard → Chọn "New Workflow".
- Đặt tên workflow bằng cách bấm vào "Untitled Workflow".
🔹 Bước 2: Thêm node đầu tiên
- Bấm vào dấu "+" ở canvas.
- Tìm "Set" và chọn nó.
- Trong Properties, nhập:
{ "message": "Xin chào từ n8n!" }
🔹 Bước 3: Thêm node "Execute Command"
- Bấm dấu "+", chọn "Execute Command".
- Trong Properties, nhập lệnh:
echo "N8N đang chạy!"
- Kết nối "Set" → "Execute Command".
🔹 Bước 4: Chạy workflow
- Bấm "▶️ Execute Workflow".
- Kiểm tra log và output của từng node.
🎉 Bạn đã tạo workflow đầu tiên thành công!
5. Thảo luận và giải đáp
Ben: Anh ơi, nếu em muốn tìm một node cụ thể thì làm thế nào?
Chuyên gia: Em có thể bấm dấu "+" trên canvas rồi nhập tên node vào ô tìm kiếm!
Bon: Em thấy có rất nhiều node, làm sao để biết node nào làm gì?
Chuyên gia: Trong sidebar, vào phần Templates, em sẽ thấy nhiều workflow mẫu có sẵn để tham khảo!
6. Tóm tắt bài học
📌 Giao diện n8n gồm 4 phần chính:
- Thanh công cụ trên cùng: Chạy, lưu, tải workflow.
- Thanh bên trái: Quản lý workflow, lịch sử, credentials.
- Không gian làm việc: Nơi kéo thả và kết nối node.
- Thanh thiết lập: Cấu hình node và xem dữ liệu.
📌 Bạn đã tạo workflow đầu tiên với 2 node ("Set" & "Execute Command").
BÀI HỌC 8: NODE LÀ GÌ? CÁC LOẠI NODE TRONG n8n VÀ CÁCH LIÊN KẾT CHÚNG
1. Hội thoại mở đầu – Khám phá về Node
Ben: Anh Bon ơi, hôm trước mình kéo thả mấy cái node trong n8n, nhưng em chưa hiểu rõ chúng là gì cả!
Bon: Ừ, em cũng thấy mỗi node có một nhiệm vụ riêng, nhưng không biết có bao nhiêu loại node và chúng hoạt động thế nào.
Chuyên gia: Haha, hôm nay chúng ta sẽ tìm hiểu kỹ về node – thành phần quan trọng nhất của n8n. Khi hiểu rõ node, các em sẽ dễ dàng tạo ra những workflow mạnh mẽ!
Ben: Nghe hay đấy! Em muốn biết tất cả về node trong n8n!
2. Node là gì?
Node là các khối xây dựng cơ bản của workflow trong n8n. Mỗi node thực hiện một nhiệm vụ cụ thể, chẳng hạn như:
- Lấy dữ liệu từ API, cơ sở dữ liệu, hoặc file.
- Xử lý dữ liệu bằng cách lọc, sửa đổi hoặc tính toán.
- Tích hợp với dịch vụ bên ngoài như Gmail, Slack, Google Sheets, v.v.
- Gửi dữ liệu đầu ra đến hệ thống khác hoặc lưu trữ.
👉 Ví dụ: Một workflow có thể chứa các node sau:
- HTTP Request Node → Lấy dữ liệu thời tiết từ API.
- Set Node → Xử lý và trích xuất thông tin quan trọng.
- Telegram Node → Gửi thông báo đến Telegram.
3. Các loại node trong n8n
n8n có hơn 350 node khác nhau, nhưng chúng được chia thành 6 nhóm chính:
🔹 1. Start Node (Node khởi động)
- Là node đầu tiên trong workflow, giúp workflow biết khi nào bắt đầu chạy.
- Có nhiều loại Start Node, ví dụ:
- Webhook Node → Chạy workflow khi có request từ bên ngoài.
- Cron Node → Chạy workflow theo lịch trình (mỗi ngày, mỗi giờ, v.v.).
- Manual Trigger Node → Chạy workflow bằng cách bấm nút "Execute".
📌 Ví dụ:
- Tạo workflow gửi email hàng ngày bằng Cron Node.
- Nhận dữ liệu từ form website bằng Webhook Node.
🔹 2. Input/Output Nodes (Node nhập/xuất dữ liệu)
- Giúp n8n lấy dữ liệu từ bên ngoài hoặc gửi dữ liệu ra ngoài.
- Một số node phổ biến:
- Read Binary File → Đọc file từ máy tính.
- Write Binary File → Lưu dữ liệu vào file.
- Webhook Node → Nhận dữ liệu từ request HTTP.
📌 Ví dụ:
- Lấy dữ liệu từ API bằng HTTP Request Node.
- Đọc file Excel bằng Spreadsheet File Node.
🔹 3. Data Processing Nodes (Node xử lý dữ liệu)
- Giúp thay đổi, trích xuất hoặc xử lý dữ liệu trước khi gửi đi.
- Một số node quan trọng:
- Set Node → Tạo hoặc chỉnh sửa dữ liệu.
- Merge Node → Kết hợp dữ liệu từ nhiều nguồn.
- IF Node → Kiểm tra điều kiện và rẽ nhánh workflow.
📌 Ví dụ:
- Lọc danh sách email hợp lệ bằng IF Node.
- Gộp dữ liệu từ nhiều nguồn bằng Merge Node.
🔹 4. Integration Nodes (Node tích hợp dịch vụ bên ngoài)
- Giúp kết nối với các ứng dụng khác như Gmail, Slack, Google Sheets, v.v.
- Một số node phổ biến:
- Gmail Node → Gửi email.
- Google Sheets Node → Đọc/ghi dữ liệu vào Google Sheets.
- Slack Node → Gửi tin nhắn Slack.
📌 Ví dụ:
- Lưu email khách hàng vào Google Sheets.
- Gửi tin nhắn thông báo đến Slack khi có đơn hàng mới.
🔹 5. Logic Nodes (Node điều khiển luồng xử lý)
- Điều khiển cách workflow hoạt động dựa trên điều kiện.
- Một số node quan trọng:
- IF Node → Rẽ nhánh dựa trên điều kiện.
- Switch Node → Chọn luồng xử lý dựa trên nhiều giá trị.
- Wait Node → Tạm dừng workflow một khoảng thời gian.
📌 Ví dụ:
- Gửi email chúc mừng sinh nhật nếu hôm nay là ngày sinh của khách hàng.
- Tạm dừng workflow 10 giây trước khi tiếp tục xử lý.
🔹 6. Utility Nodes (Node hỗ trợ tiện ích khác)
- Cung cấp các tính năng hữu ích như chạy mã JavaScript, thực thi lệnh, v.v.
- Một số node quan trọng:
- Execute Command Node → Chạy lệnh shell (Linux, Windows, Mac).
- Function Node → Viết mã JavaScript tùy chỉnh.
- HTTP Request Node → Gửi và nhận dữ liệu từ API.
📌 Ví dụ:
- Chạy script Python để xử lý dữ liệu nâng cao.
- Gửi request API để lấy thông tin tiền điện tử.
4. Cách liên kết các node trong n8n
💡 Workflow trong n8n hoạt động bằng cách liên kết các node với nhau thông qua các đường kết nối.
📌 Cách kết nối node trong n8n:
- Kéo thả node vào canvas.
- Nhấn vào chấm tròn bên phải của node để kéo đường kết nối.
- Kéo đường kết nối sang node tiếp theo.
- Chạy thử workflow để kiểm tra dữ liệu truyền qua các node.
5. Bài tập thực hành – Tạo workflow kết nối nhiều node
📌 Mục tiêu: Tạo workflow gửi email tự động nếu nhiệt độ hôm nay lớn hơn 30°C.
🔹 Bước 1: Lấy dữ liệu thời tiết
- Thêm node HTTP Request.
- Trong Properties, nhập:
- URL:
https://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=Hanoi
- Method:
GET
- URL:
🔹 Bước 2: Kiểm tra nhiệt độ
- Thêm node IF Node.
- Kết nối HTTP Request → IF Node.
- Trong Conditions, chọn:
- Field:
{{ $json.current.temp_c }}
- Operator:
Greater Than
- Value:
30
- Field:
🔹 Bước 3: Gửi email nếu nhiệt độ cao
- Thêm node Gmail Node.
- Kết nối IF Node (True) → Gmail Node.
- Nhập nội dung email:
Nhiệt độ hôm nay tại Hà Nội là {{ $json.current.temp_c }}°C. Hãy uống đủ nước nhé!
🔹 Bước 4: Chạy workflow và kiểm tra kết quả
🎉 Bạn đã tạo workflow tự động gửi email cảnh báo nhiệt độ cao thành công!
6. Thảo luận và giải đáp
Ben: Anh ơi, nếu em muốn thêm nhiều điều kiện kiểm tra thì sao?
Chuyên gia: Em có thể dùng Switch Node để kiểm tra nhiều giá trị cùng lúc!
Bon: Em thấy workflow này hay quá, em sẽ thử thêm điều kiện khác nữa!
BÀI HỌC 9: TRIGGER NODE – ĐIỂM KHỞI ĐẦU CỦA MỘT WORKFLOW
1. Hội thoại mở đầu – Trigger Node là gì?
Ben: Anh Bon ơi, hôm qua em thử tạo một workflow nhưng không biết làm thế nào để nó tự chạy mà không cần bấm nút "Execute"!
Bon: Ừ, đúng rồi! Mình cần có một cơ chế để workflow tự khởi động khi có sự kiện xảy ra, chứ không lẽ cứ phải chạy thủ công mãi?
Chuyên gia: Các em đã nói đúng rồi đấy! Để một workflow có thể tự động chạy, chúng ta cần dùng Trigger Node – chính là điểm khởi đầu của mọi workflow tự động trong n8n!
Ben: Nghe thú vị quá! Em muốn biết có bao nhiêu loại Trigger Node và chúng hoạt động thế nào!
2. Trigger Node là gì?
Trigger Node là node đầu tiên trong workflow, có nhiệm vụ "lắng nghe" các sự kiện và kích hoạt workflow khi có điều kiện phù hợp.
Ví dụ:
- Khi có email mới, Trigger Node sẽ khởi động workflow để lưu email vào Google Sheets.
- Khi có đơn hàng mới, workflow sẽ gửi thông báo đến Slack.
- Khi đến thời điểm cụ thể, workflow sẽ tự động gửi báo cáo hàng ngày.
📌 Tóm lại: Không có Trigger Node, workflow sẽ không thể tự chạy một cách tự động!
3. Các loại Trigger Node trong n8n
Trigger Node trong n8n có nhiều loại khác nhau, tùy vào cách workflow cần được kích hoạt. Dưới đây là 4 nhóm Trigger Node chính:
🔹 1. Webhook Trigger (Trigger từ API/Webhook)
- Nhận dữ liệu từ request HTTP bên ngoài.
- Thích hợp cho tích hợp với website, chatbot, hoặc ứng dụng bên thứ ba.
📌 Ví dụ:
- Khi người dùng gửi form trên website → Trigger Node sẽ kích hoạt workflow để lưu dữ liệu vào Google Sheets.
- Khi có giao dịch mới từ Stripe → Trigger Node sẽ gửi email xác nhận.
👉 Node sử dụng: Webhook Node
🔹 2. Schedule Trigger (Trigger theo thời gian)
- Chạy workflow theo lịch trình định sẵn.
- Hữu ích cho các tác vụ tự động như báo cáo, backup, kiểm tra dữ liệu.
📌 Ví dụ:
- Gửi báo cáo doanh số vào lúc 8:00 sáng mỗi ngày.
- Kiểm tra dữ liệu website mỗi 30 phút.
👉 Node sử dụng: Cron Node
🔹 3. Event-Based Trigger (Trigger dựa trên sự kiện)
- Lắng nghe sự kiện từ các ứng dụng như Gmail, Slack, Google Sheets.
- Hữu ích cho việc tự động hóa khi có thay đổi trong dữ liệu.
📌 Ví dụ:
- Khi có email mới, workflow tự động lưu email vào Notion.
- Khi có hóa đơn mới, workflow gửi thông báo đến Telegram.
👉 Node sử dụng:
Gmail Trigger
(Kích hoạt khi có email mới).Google Sheets Trigger
(Kích hoạt khi có dòng mới trong Google Sheets).Slack Trigger
(Kích hoạt khi có tin nhắn mới trong Slack).
🔹 4. Database Trigger (Trigger từ cơ sở dữ liệu)
- Kích hoạt workflow khi có thay đổi trong cơ sở dữ liệu.
- Phù hợp với hệ thống quản lý dữ liệu lớn, ứng dụng doanh nghiệp.
📌 Ví dụ:
- Khi có người dùng mới trong PostgreSQL, workflow sẽ gửi email chào mừng.
- Khi có đơn hàng bị hủy, workflow cập nhật trạng thái trong CRM.
👉 Node sử dụng:
MySQL Trigger
(Theo dõi thay đổi trong MySQL).PostgreSQL Trigger
(Theo dõi thay đổi trong PostgreSQL).
4. Cách sử dụng Trigger Node trong workflow
💡 Các bước cơ bản để sử dụng Trigger Node:
🔹 Bước 1: Thêm Trigger Node
- Mở n8n và tạo một workflow mới.
- Nhấp vào dấu
+
→ ChọnTrigger Nodes
. - Chọn loại Trigger Node phù hợp (ví dụ:
Webhook Node
).
🔹 Bước 2: Cấu hình Trigger Node
-
Với
Webhook Node
:- Chọn Method (
POST
hoặcGET
). - Sao chép URL Webhook và thử gửi request.
- Chọn Method (
-
Với
Cron Node
:- Chọn kiểu lặp (
Every Hour
,Every Day
,Custom
). - Định nghĩa thời điểm workflow chạy.
- Chọn kiểu lặp (
🔹 Bước 3: Kết nối với các node khác
- Kéo đường kết nối từ Trigger Node đến các node xử lý tiếp theo.
- Ví dụ:
Webhook Node
→Set Node
(Xử lý dữ liệu) →Google Sheets Node
(Lưu dữ liệu).
🔹 Bước 4: Chạy thử workflow
- Nhấp vào
Execute Workflow
để kiểm tra Trigger Node hoạt động đúng chưa. - Nếu dùng
Webhook Node
, gửi thử request HTTP để kích hoạt. - Kiểm tra kết quả và điều chỉnh nếu cần.
5. Bài tập thực hành – Tự động lưu email mới vào Google Sheets
📌 Mục tiêu: Khi có email mới, tự động lưu nội dung email vào Google Sheets.
🔹 Bước 1: Thêm Gmail Trigger
- Thêm Gmail Trigger Node vào workflow.
- Đăng nhập tài khoản Gmail.
- Chọn
New Email
làm điều kiện kích hoạt.
🔹 Bước 2: Thêm Google Sheets Node
- Thêm Google Sheets Node.
- Kết nối với Google Drive và chọn file Google Sheets.
- Chọn
Append Row
để thêm dữ liệu vào bảng. - Map các trường dữ liệu:
Column A
:Sender
→{{ $json.from }}
Column B
:Subject
→{{ $json.subject }}
Column C
:Date
→{{ $json.date }}
🔹 Bước 3: Kết nối và chạy thử
- Kết nối Gmail Trigger → Google Sheets Node.
- Nhấp vào
Execute Workflow
để chạy thử. - Gửi email đến tài khoản Gmail và kiểm tra Google Sheets.
🎉 Chúc mừng! Bạn đã tạo workflow tự động lưu email vào Google Sheets thành công!
6. Thảo luận và giải đáp
Ben: Anh ơi, nếu em muốn kiểm tra nội dung email trước khi lưu vào Google Sheets thì sao?
Chuyên gia: Em có thể dùng IF Node để kiểm tra điều kiện, ví dụ chỉ lưu email có từ khóa "quan trọng".
Bon: Vậy nếu em muốn gửi thông báo đến Slack khi có email mới thì sao?
Chuyên gia: Em chỉ cần thêm Slack Node vào sau Gmail Trigger là được!
BÀI HỌC 10: BÀI THỰC HÀNH – TẠO WORKFLOW ĐẦU TIÊN: TỰ ĐỘNG GỬI EMAIL KHI CÓ ĐƠN HÀNG MỚI
1. Hội thoại mở đầu – Làm gì khi có đơn hàng mới?
Ben: Anh Bon ơi, giả sử em có một cửa hàng online, mỗi khi có đơn hàng mới thì em phải tự kiểm tra và gửi email cho khách hàng đúng không?
Bon: Đúng rồi, nhưng làm thế thì mất nhiều thời gian lắm! Nếu có nhiều đơn hàng mỗi ngày thì sao?
Chuyên gia: Chính xác! Nhưng nếu dùng n8n, chúng ta có thể tự động gửi email mỗi khi có đơn hàng mới. Hôm nay, chúng ta sẽ cùng tạo workflow đầu tiên giúp làm điều đó!
Ben: Wow, vậy là mình sẽ có một trợ lý tự động xử lý đơn hàng à? Thú vị quá!
2. Mô tả bài thực hành
📌 Mục tiêu:
- Tự động gửi email xác nhận khi có đơn hàng mới trong Google Sheets.
- Nội dung email sẽ bao gồm thông tin đơn hàng như tên khách hàng, sản phẩm đã mua và tổng tiền.
📌 Công cụ sử dụng:
Google Sheets Trigger
(Theo dõi đơn hàng mới).Gmail Node
(Gửi email cho khách hàng).
📌 Kịch bản workflow:
- Khi có dòng dữ liệu mới trong Google Sheets (đơn hàng mới) → Trigger workflow.
- Lấy thông tin đơn hàng từ Google Sheets.
- Tạo email xác nhận đơn hàng và gửi cho khách hàng qua Gmail.
3. Hướng dẫn step-by-step tạo workflow tự động gửi email
🔹 Bước 1: Chuẩn bị Google Sheets chứa danh sách đơn hàng
- Truy cập Google Sheets.
- Tạo một bảng có tên "Danh sách đơn hàng".
- Thêm các cột dữ liệu sau:
- A:
Order ID
(Mã đơn hàng). - B:
Customer Name
(Tên khách hàng). - C:
Email
(Email khách hàng). - D:
Product
(Sản phẩm đã mua). - E:
Total Price
(Tổng tiền).
- A:
- Nhập vài dòng dữ liệu mẫu như sau:
Order ID | Customer Name | Product | Total Price | |
---|---|---|---|---|
1001 | Nguyễn Văn A | a@example.com | Laptop | $1000 |
1002 | Trần Thị B | b@example.com | Điện thoại | $800 |
🔹 Bước 2: Tạo workflow mới trong n8n
- Truy cập n8n và đăng nhập vào tài khoản của bạn.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 3: Thêm Google Sheets Trigger
- Nhấp vào dấu
+
và tìmGoogle Sheets Trigger
. - Kết nối tài khoản Google của bạn.
- Cấu hình:
- Spreadsheet: Chọn bảng "Danh sách đơn hàng".
- Worksheet: Chọn Sheet chứa dữ liệu.
- Trigger On:
New Row
(Kích hoạt khi có dòng mới).
- Nhấp
Save
để lưu cài đặt.
📌 Giải thích: Mỗi khi có đơn hàng mới (thêm dòng dữ liệu), workflow sẽ tự động chạy.
🔹 Bước 4: Thêm Gmail Node để gửi email
- Nhấp vào dấu
+
, tìmGmail Node
, và chọnSend Email
. - Kết nối với tài khoản Gmail của bạn.
- Cấu hình email như sau:
- To:
{{ $json["Email"] }}
(Lấy email từ Google Sheets). - Subject:
Xác nhận đơn hàng #{{ $json["Order ID"] }}
. - Message:
- To:
Xin chào {{ $json["Customer Name"] }},
<br><br>
Cảm ơn bạn đã đặt hàng tại cửa hàng của chúng tôi. Dưới đây là thông tin đơn hàng của bạn:
<ul>
<li><b>Mã đơn hàng:</b> {{ $json["Order ID"] }}</li>
<li><b>Sản phẩm:</b> {{ $json["Product"] }}</li>
<li><b>Tổng tiền:</b> {{ $json["Total Price"] }}</li>
</ul>
Chúng tôi sẽ sớm giao hàng cho bạn!
<br><br>
Trân trọng,
<br>
<b>Đội ngũ cửa hàng</b>
- Nhấn
Save
để lưu lại.
📌 Giải thích:
{{ $json["Email"] }}
: Lấy email từ Google Sheets.{{ $json["Order ID"] }}
: Điền mã đơn hàng vào tiêu đề email.{{ $json["Customer Name"] }}
: Chèn tên khách hàng vào nội dung email.
🔹 Bước 5: Kết nối các node lại với nhau
- Kéo đường kết nối từ Google Sheets Trigger đến Gmail Node.
- Kiểm tra sơ đồ workflow:
Google Sheets Trigger → Gmail Node (Send Email)
- Nhấp vào "Execute Workflow" để kiểm tra.
🔹 Bước 6: Kiểm tra và chạy thử workflow
- Thêm một dòng đơn hàng mới vào Google Sheets:
Order ID | Customer Name | Product | Total Price | |
---|---|---|---|---|
1003 | Phạm Văn C | c@example.com | Máy ảnh | $500 |
- Đợi khoảng 30 giây – 1 phút, kiểm tra email của khách hàng.
- Nếu nhận được email xác nhận đơn hàng, workflow đã chạy thành công!
🎉 Chúc mừng! Bạn đã tạo workflow tự động gửi email khi có đơn hàng mới!
4. Thảo luận và mở rộng bài thực hành
Ben: Em muốn gửi email kèm hóa đơn PDF thì sao?
Chuyên gia: Em có thể thêm "PDF Generator Node" để tạo file PDF và đính kèm vào email!
Bon: Còn nếu em muốn gửi thông báo lên Slack hoặc Telegram thay vì email thì sao?
Chuyên gia: Chỉ cần thay Gmail Node bằng Slack Node hoặc Telegram Node là xong!
Ben: Vậy nếu em có website bán hàng riêng, làm sao để workflow này kết nối với nó?
Chuyên gia: Em có thể dùng Webhook Node để nhận dữ liệu đơn hàng trực tiếp từ website!
CHƯƠNG 2: LÀM QUEN VỚI CÁC NODE CƠ BẢN TRONG N8N
BÀI HỌC 11: WEBHOOK NODE – CÁCH KẾT NỐI n8n VỚI THẾ GIỚI BÊN NGOÀI
1. Hội thoại mở đầu – Làm sao để n8n nhận dữ liệu từ bên ngoài?
Ben: Anh Bon ơi, làm sao n8n biết có dữ liệu mới để tự động xử lý?
Bon: Hmm… Chắc là có một cách nào đó để gửi dữ liệu từ bên ngoài vào n8n, đúng không chuyên gia?
Chuyên gia: Đúng rồi! Cách phổ biến nhất là sử dụng Webhook Node. Nó giúp n8n nhận dữ liệu từ bất kỳ ứng dụng, website hay hệ thống nào khác!
Ben: Vậy là em có thể gửi dữ liệu từ trang web của em vào n8n và xử lý tự động?
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách sử dụng Webhook Node để kết nối n8n với thế giới bên ngoài!
2. Webhook Node là gì?
📌 Webhook Node là một node đặc biệt trong n8n giúp nhận dữ liệu từ bên ngoài thông qua một URL. Nó hoạt động như một cánh cửa mở, chờ dữ liệu đến và kích hoạt workflow.
📌 Cách hoạt động:
- n8n tạo một đường dẫn URL webhook (ví dụ:
https://n8n.example.com/webhook/abc123
). - Một ứng dụng bên ngoài (ví dụ: website, phần mềm khác) gửi dữ liệu đến URL đó.
- Webhook Node nhận dữ liệu và kích hoạt workflow trong n8n.
📌 Ứng dụng thực tế:
- Nhận đơn hàng từ website và tự động xử lý.
- Nhận dữ liệu từ chatbot và phản hồi ngay lập tức.
- Nhận thông báo từ ứng dụng khác (Google Forms, Stripe, v.v.).
3. Hướng dẫn step-by-step tạo Webhook Node trong n8n
🔹 Bước 1: Tạo workflow mới trong n8n
- Truy cập n8n và đăng nhập vào tài khoản của bạn.
- Nhấp vào "New Workflow" để tạo workflow mới.
🔹 Bước 2: Thêm Webhook Node vào workflow
-
Nhấp vào dấu
+
và tìm "Webhook Node". -
Cấu hình Webhook Node như sau:
- HTTP Method:
POST
(Chỉ nhận dữ liệu khi có yêu cầu gửi đến). - Path:
receive-data
(Tạo đường dẫn webhook:https://n8n.example.com/webhook/receive-data
). - Response Mode:
On Received
(Phản hồi ngay khi nhận dữ liệu).
- HTTP Method:
-
Nhấp
Save
để lưu lại.
📌 Giải thích:
- POST: Chỉ nhận dữ liệu gửi đến, không hiển thị công khai.
- Path: Tạo URL webhook riêng để nhận dữ liệu.
- Response Mode: Cho phép phản hồi ngay khi nhận yêu cầu.
🔹 Bước 3: Kích hoạt Webhook Node và lấy URL
-
Nhấn "Execute Workflow" để chạy thử workflow.
-
n8n sẽ hiển thị một URL giống như:
https://n8n.example.com/webhook/receive-data
-
Sao chép URL này để sử dụng trong bước tiếp theo.
🔹 Bước 4: Gửi dữ liệu thử nghiệm đến Webhook Node
📌 Cách 1: Gửi yêu cầu bằng Postman
-
Mở Postman.
-
Chọn POST và nhập URL webhook.
-
Chuyển sang tab Body và chọn raw → JSON.
-
Nhập nội dung sau và nhấn Send:
{ "name": "Nguyễn Văn A", "email": "a@example.com", "message": "Tôi cần tư vấn sản phẩm!" }
📌 Cách 2: Gửi dữ liệu từ website
Nếu bạn có một trang web, có thể thêm form HTML để gửi dữ liệu đến webhook:
<form action="https://n8n.example.com/webhook/receive-data" method="post">
<input type="text" name="name" placeholder="Tên của bạn">
<input type="email" name="email" placeholder="Email của bạn">
<textarea name="message" placeholder="Lời nhắn của bạn"></textarea>
<button type="submit">Gửi</button>
</form>
📌 Giải thích:
- Form này sẽ gửi dữ liệu của người dùng đến n8n khi nhấn nút "Gửi".
- n8n sẽ nhận dữ liệu và kích hoạt workflow!
🔹 Bước 5: Kiểm tra dữ liệu nhận được trong Webhook Node
-
Quay lại n8n, bạn sẽ thấy dữ liệu gửi đến trong Webhook Node.
-
Dữ liệu hiển thị như sau:
{ "name": "Nguyễn Văn A", "email": "a@example.com", "message": "Tôi cần tư vấn sản phẩm!" }
🎉 Chúc mừng! Bạn đã kết nối n8n với thế giới bên ngoài qua Webhook Node!
4. Mở rộng bài thực hành
Ben: Nếu em muốn tự động phản hồi lại khách hàng ngay lập tức thì sao?
Chuyên gia: Em có thể thêm Gmail Node để gửi email tự động!
Bon: Còn nếu em muốn gửi tin nhắn Telegram thay vì email?
Chuyên gia: Thay vì Gmail Node, em dùng Telegram Node để gửi tin nhắn!
BÀI HỌC 12: HTTP REQUEST NODE – GỬI VÀ NHẬN DỮ LIỆU TỪ API
1. Hội thoại mở đầu – Làm sao để n8n lấy dữ liệu từ Internet?
Ben: Anh Bon ơi, nếu em muốn n8n lấy thông tin thời tiết hoặc tỷ giá tiền tệ thì làm sao?
Bon: Hmm… chắc là cần kết nối với một hệ thống bên ngoài, giống như Webhook Node trong bài trước?
Chuyên gia: Chính xác! Nhưng thay vì chờ dữ liệu gửi đến, lần này chúng ta sẽ chủ động lấy dữ liệu bằng HTTP Request Node!
Ben: Vậy là em có thể dùng n8n để tra cứu giá Bitcoin, lấy tin tức mới nhất hoặc gửi tin nhắn đến một API khác?
Chuyên gia: Đúng vậy! Hôm nay, chúng ta sẽ học cách sử dụng HTTP Request Node để giao tiếp với API bên ngoài!
2. HTTP Request Node là gì?
📌 HTTP Request Node là một công cụ trong n8n giúp gửi và nhận dữ liệu từ các hệ thống bên ngoài thông qua API (Application Programming Interface).
📌 Các ứng dụng thực tế:
- Lấy dữ liệu thời tiết từ API của OpenWeather.
- Kiểm tra giá Bitcoin từ API của CoinGecko.
- Gửi tin nhắn đến Telegram hoặc Slack.
- Tích hợp với các hệ thống CRM, ERP hoặc dịch vụ bên thứ ba.
📌 Cách hoạt động:
- Gửi yêu cầu (request) đến API bằng phương thức
GET
,POST
,PUT
,DELETE
. - Nhận phản hồi (response) từ API dưới dạng JSON hoặc XML.
- Xử lý dữ liệu và sử dụng trong workflow của n8n.
3. Hướng dẫn step-by-step sử dụng HTTP Request Node
🔹 Bước 1: Tạo workflow mới trong n8n
- Đăng nhập vào n8n.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 2: Thêm HTTP Request Node vào workflow
- Nhấn dấu
+
và tìm "HTTP Request Node". - Chọn "Add Node" để thêm vào workflow.
🔹 Bước 3: Gửi yêu cầu lấy dữ liệu thời tiết từ API OpenWeather
📌 API OpenWeather cung cấp thông tin thời tiết theo thành phố.
-
Cấu hình HTTP Request Node như sau:
- Method:
GET
- URL:
https://api.openweathermap.org/data/2.5/weather?q=Hanoi&appid=YOUR_API_KEY&units=metric
- Response Format:
JSON
- Method:
-
Nhấn "Execute Node" để chạy thử.
📌 Giải thích:
q=Hanoi
: Lấy thông tin thời tiết của Hà Nội.appid=YOUR_API_KEY
: API key miễn phí từ OpenWeather (đăng ký tại https://openweathermap.org/api).units=metric
: Hiển thị nhiệt độ theo độ C.
-
Kết quả trả về:
{ "name": "Hanoi", "main": { "temp": 28.5, "humidity": 78 }, "weather": [ { "description": "mây rải rác" } ] }
🎉 Chúc mừng! Bạn vừa lấy dữ liệu thời tiết từ API bằng HTTP Request Node!
🔹 Bước 4: Hiển thị dữ liệu thời tiết trong workflow
📌 Thêm "Set Node" để định dạng dữ liệu hiển thị:
- Nhấn
+
và thêm Set Node. - Cấu hình như sau:
-
Add Value → String → Name:
weatherInfo
-
Value:
Thời tiết tại {{$json["name"]}}: - Nhiệt độ: {{$json["main"]["temp"]}}°C - Độ ẩm: {{$json["main"]["humidity"]}}% - Trạng thái: {{$json["weather"][0]["description"]}}
-
📌 Kết quả hiển thị:
Thời tiết tại Hanoi:
- Nhiệt độ: 28.5°C
- Độ ẩm: 78%
- Trạng thái: mây rải rác
🔹 Bước 5: Gửi dữ liệu đến Telegram bằng HTTP Request Node
📌 Telegram Bot API cho phép gửi tin nhắn tự động từ n8n.
- Tạo bot Telegram tại BotFather.
- Lấy Bot Token.
- Cấu hình HTTP Request Node mới:
-
Method:
POST
-
URL:
https://api.telegram.org/botYOUR_BOT_TOKEN/sendMessage
-
Body Parameters (JSON Mode):
{ "chat_id": "YOUR_CHAT_ID", "text": "{{$node['Set'].json['weatherInfo']}}" }
-
📌 Giải thích:
YOUR_BOT_TOKEN
: Token của bot Telegram.YOUR_CHAT_ID
: ID của nhóm hoặc người nhận tin nhắn.{{$node['Set'].json['weatherInfo']}}
: Gửi dữ liệu thời tiết đã định dạng.
🎉 Hoàn thành! Bạn vừa lấy dữ liệu thời tiết và gửi đến Telegram bằng n8n!
4. Mở rộng bài thực hành
Bon: Em muốn lấy tỷ giá USD/VND thì làm sao?
Chuyên gia: Em có thể dùng API của Exchangerate-API!
📌 URL API:
https://v6.exchangerate-api.com/v6/YOUR_API_KEY/latest/USD
📌 Kết quả trả về:
{
"conversion_rates": {
"VND": 23500
}
}
📌 Kết nối n8n:
- Tạo HTTP Request Node mới.
- Dùng Set Node để định dạng dữ liệu.
- Gửi kết quả đến Telegram.
🎉 Vậy là bạn có thể cập nhật tỷ giá ngoại tệ tự động mỗi ngày!
BÀI HỌC 13: FUNCTION NODE – VIẾT CODE JAVASCRIPT TRONG N8N
1. Hội thoại mở đầu – Khi nào cần viết code trong n8n?
Ben: Anh Bon ơi, em thấy n8n có rất nhiều node để làm việc tự động, nhưng có khi nào mình cần tự viết code không?
Bon: Ừm… chắc là khi n8n không có sẵn một node phù hợp?
Chuyên gia: Chính xác! Đôi khi, chúng ta cần thao tác dữ liệu đặc biệt, kết hợp nhiều dữ liệu lại với nhau hoặc xử lý logic nâng cao mà n8n không hỗ trợ sẵn. Khi đó, Function Node sẽ giúp chúng ta viết mã JavaScript ngay trong workflow!
Ben: Vậy là mình có thể viết code để làm bất kỳ điều gì mình muốn trong n8n?
Chuyên gia: Đúng vậy! Hôm nay, chúng ta sẽ học cách sử dụng Function Node để viết code JavaScript tùy chỉnh!
2. Function Node là gì?
📌 Function Node là một công cụ trong n8n cho phép bạn viết JavaScript để xử lý dữ liệu theo ý muốn.
📌 Chức năng chính của Function Node:
- Tạo mới, chỉnh sửa và thao tác dữ liệu trong workflow.
- Kết hợp dữ liệu từ nhiều node khác nhau.
- Xử lý logic phức tạp mà các node có sẵn không hỗ trợ.
📌 Ứng dụng thực tế của Function Node:
- Chuyển đổi dữ liệu từ API (ví dụ: đổi đơn vị tiền tệ).
- Lọc và sắp xếp danh sách dữ liệu.
- Tạo báo cáo và định dạng nội dung trước khi gửi email.
3. Hướng dẫn step-by-step sử dụng Function Node
🔹 Bước 1: Tạo workflow mới trong n8n
- Đăng nhập vào n8n.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 2: Thêm Function Node vào workflow
- Nhấn dấu
+
và tìm "Function Node". - Chọn "Add Node" để thêm vào workflow.
📌 Lưu ý:
- Function Node sử dụng JavaScript để xử lý dữ liệu.
- Dữ liệu vào (
input
) và ra (output
) của node đều là mảng JSON.
🔹 Bước 3: Viết mã JavaScript trong Function Node
📌 Tạo Function Node để xử lý danh sách sản phẩm
Chúng ta sẽ viết một Function Node để lọc ra các sản phẩm có giá cao hơn 100,000 VND từ danh sách sau:
[
{ "name": "Bút bi", "price": 5000 },
{ "name": "Sách giáo khoa", "price": 120000 },
{ "name": "Balo", "price": 250000 },
{ "name": "Tẩy", "price": 8000 }
]
📌 Viết mã trong Function Node:
// Lấy dữ liệu đầu vào từ node trước đó
const items = $input.all();
// Lọc sản phẩm có giá lớn hơn 100,000 VND
const filteredItems = items.filter(item => item.json.price > 100000);
// Trả về danh sách đã lọc
return filteredItems;
📌 Giải thích mã:
$input.all()
lấy tất cả dữ liệu đầu vào.filter()
dùng để lọc ra sản phẩm có giá > 100,000 VND.return filteredItems;
trả về kết quả.
🔹 Bước 4: Chạy thử Function Node
- Nhấn "Execute Node" để chạy thử.
- Kết quả trả về:
[
{ "name": "Sách giáo khoa", "price": 120000 },
{ "name": "Balo", "price": 250000 }
]
🎉 Hoàn thành! Bạn vừa sử dụng Function Node để lọc dữ liệu!
4. Mở rộng bài thực hành
📌 Bài tập 1: Chuyển đổi đơn vị tiền tệ
Yêu cầu:
- Viết Function Node để chuyển đổi giá sản phẩm từ VND sang USD (1 USD = 23,000 VND).
Gợi ý mã JavaScript:
const exchangeRate = 23000; // 1 USD = 23,000 VND
const items = $input.all();
// Chuyển đổi giá từ VND sang USD
const convertedItems = items.map(item => {
return {
json: {
name: item.json.name,
priceUSD: (item.json.price / exchangeRate).toFixed(2)
}
};
});
return convertedItems;
📌 Chạy thử sẽ cho kết quả:
[
{ "name": "Bút bi", "priceUSD": "0.22" },
{ "name": "Sách giáo khoa", "priceUSD": "5.22" },
{ "name": "Balo", "priceUSD": "10.87" },
{ "name": "Tẩy", "priceUSD": "0.35" }
]
🎉 Bạn đã tạo một công cụ chuyển đổi tiền tệ tự động trong n8n!
5. Thảo luận cuối bài – Khi nào nên dùng Function Node?
Ben: Chuyên gia ơi, khi nào thì mình nên dùng Function Node thay vì các node có sẵn?
Chuyên gia: Khi workflow của em cần xử lý logic phức tạp mà các node khác không làm được, hoặc khi em muốn tối ưu workflow bằng cách viết mã tùy chỉnh!
Bon: Vậy Function Node có thể thay thế tất cả các node khác không?
Chuyên gia: Không hẳn! Nếu có một node có sẵn trong n8n làm đúng chức năng em cần, hãy dùng nó. Function Node chỉ nên dùng khi thực sự cần thiết để tránh phức tạp hóa workflow!
6. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Function Node cho phép viết JavaScript trong n8n.
✅ Giúp xử lý dữ liệu, tạo logic tùy chỉnh và tối ưu workflow.
✅ Có thể dùng để lọc dữ liệu, chuyển đổi tiền tệ, tính toán số liệu, v.v.
BÀI HỌC 14: SET NODE – TẠO DỮ LIỆU MỚI VÀ CHỈNH SỬA DỮ LIỆU CÓ SẴN
1. Hội thoại mở đầu – Chỉnh sửa dữ liệu trong n8n
Ben: Anh Bon ơi, có cách nào để thay đổi dữ liệu trong n8n không? Ví dụ, em muốn thêm thông tin vào danh sách sản phẩm mà không cần dùng Function Node!
Bon: Ừm… hình như có một node nào đó giúp mình làm việc này mà không cần viết code, phải không chuyên gia?
Chuyên gia: Đúng vậy! Đó chính là Set Node. Node này giúp các em tạo dữ liệu mới hoặc chỉnh sửa dữ liệu có sẵn một cách dễ dàng mà không cần viết mã JavaScript!
Ben: Wow! Vậy là mình có thể dùng Set Node để thêm thông tin vào dữ liệu đầu vào mà không cần dùng Function Node?
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ tìm hiểu cách sử dụng Set Node để làm việc với dữ liệu trong n8n!
2. Set Node là gì?
📌 Set Node là một công cụ giúp:
- Tạo mới các trường dữ liệu (fields).
- Chỉnh sửa hoặc thay đổi giá trị của các trường dữ liệu có sẵn.
- Xóa bỏ một số trường không cần thiết.
📌 Ứng dụng thực tế của Set Node:
- Thêm mã giảm giá vào đơn hàng trước khi gửi email xác nhận.
- Chuẩn hóa dữ liệu từ API bằng cách đổi tên trường dữ liệu.
- Xóa bỏ các trường không cần thiết trước khi gửi dữ liệu tới hệ thống khác.
3. Hướng dẫn step-by-step sử dụng Set Node
🔹 Bước 1: Tạo workflow mới trong n8n
- Đăng nhập vào n8n.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 2: Thêm dữ liệu đầu vào bằng Manual Trigger
- Nhấn dấu
+
, tìm "Manual Trigger". - Thêm node này để bắt đầu workflow.
📌 Manual Trigger giúp chúng ta chạy workflow bằng tay để kiểm tra kết quả.
🔹 Bước 3: Thêm Set Node để tạo hoặc chỉnh sửa dữ liệu
- Nhấn dấu
+
, tìm "Set" và thêm vào workflow. - Kết nối Manual Trigger → Set Node.
🔹 Bước 4: Tạo dữ liệu mới bằng Set Node
📌 Mục tiêu:
Chúng ta sẽ tạo danh sách sản phẩm với các thông tin:
- Tên sản phẩm (name)
- Giá (price)
- Tình trạng kho hàng (inStock)
📌 Cách làm:
- Mở Set Node, chuyển sang tab "Add Value".
- Thêm các trường sau:
- name (Type: String) → Nhập:
"Bút bi"
- price (Type: Number) → Nhập:
5000
- inStock (Type: Boolean) → Chọn:
true
- name (Type: String) → Nhập:
- Nhấn "Execute Node" để kiểm tra kết quả.
✅ Kết quả trả về:
{
"name": "Bút bi",
"price": 5000,
"inStock": true
}
🎉 Chúng ta vừa tạo một sản phẩm mới bằng Set Node!
🔹 Bước 5: Chỉnh sửa dữ liệu có sẵn bằng Set Node
📌 Mục tiêu:
Giả sử chúng ta có danh sách sản phẩm như sau:
[
{ "name": "Bút bi", "price": 5000, "inStock": true },
{ "name": "Sách giáo khoa", "price": 120000, "inStock": false }
]
Chúng ta muốn thêm giảm giá 10% cho mỗi sản phẩm.
📌 Cách làm:
- Kết nối Set Node với dữ liệu đầu vào.
- Trong Set Node, chọn "Keep Only Set" (Giữ lại các trường được chỉnh sửa).
- Thêm trường discountPrice với giá trị:
$json["price"] * 0.9
- Nhấn "Execute Node" để kiểm tra kết quả.
✅ Kết quả trả về:
[
{ "name": "Bút bi", "price": 5000, "discountPrice": 4500, "inStock": true },
{ "name": "Sách giáo khoa", "price": 120000, "discountPrice": 108000, "inStock": false }
]
🎉 Chúng ta vừa cập nhật giá giảm mà không cần dùng Function Node!
4. Mở rộng bài thực hành
📌 Bài tập 1: Thêm thông tin người mua vào đơn hàng
Yêu cầu:
- Tạo đơn hàng với các thông tin:
- customerName:
"Nguyễn Văn A"
- customerEmail:
"nguyenvana@email.com"
- totalAmount:
250000
- discountCode:
"SALE10"
- customerName:
📌 Gợi ý thực hiện:
- Dùng Set Node để thêm các trường trên.
- Chạy thử và kiểm tra kết quả.
📌 Bài tập 2: Chuyển đổi định dạng dữ liệu
Yêu cầu:
- Đổi tên trường
customerEmail
thànhemail
. - Đổi giá trị totalAmount thành dạng
"$250,000"
thay vì250000
.
📌 Gợi ý thực hiện:
- Trong Set Node, chọn "Add Value" và tạo trường mới với giá trị:
"$" + $json["totalAmount"].toLocaleString()
- Xóa trường totalAmount bằng Remove Field trong Set Node.
5. Thảo luận cuối bài – Khi nào nên dùng Set Node?
Ben: Chuyên gia ơi, Set Node khác gì Function Node?
Chuyên gia: Set Node đơn giản hơn, chỉ dùng để thêm, chỉnh sửa hoặc xóa dữ liệu mà không cần viết code. Function Node thì mạnh hơn, nhưng cũng phức tạp hơn!
Bon: Vậy khi nào em nên dùng Set Node thay vì Function Node?
Chuyên gia:
- Nếu chỉ thêm hoặc đổi dữ liệu đơn giản, hãy dùng Set Node.
- Nếu cần xử lý logic phức tạp, hãy dùng Function Node.
6. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Set Node giúp tạo, chỉnh sửa và xóa dữ liệu mà không cần viết code.
✅ Có thể dùng để thêm giảm giá, đổi tên trường, xóa thông tin không cần thiết.
✅ Dễ sử dụng hơn Function Node khi không cần logic phức tạp.
BÀI HỌC 15: MERGE NODE – KẾT HỢP DỮ LIỆU TỪ NHIỀU NGUỒN
1. Hội thoại mở đầu – Làm sao để kết hợp dữ liệu?
Ben: Anh Bon ơi, nếu mình có dữ liệu từ hai nguồn khác nhau, làm sao để ghép chúng lại với nhau trong n8n?
Bon: Ví dụ như thế nào?
Ben: Ví dụ, mình có danh sách khách hàng từ hệ thống CRM, nhưng thông tin đơn hàng lại lấy từ một API khác. Em muốn ghép hai dữ liệu này lại để biết ai đã mua hàng gì!
Chuyên gia: Rất hay, Ben! Để làm việc đó, chúng ta sử dụng Merge Node. Nó giúp kết hợp dữ liệu từ nhiều nguồn khác nhau một cách dễ dàng!
Ben: Tuyệt vời! Vậy hôm nay mình sẽ học cách dùng Merge Node đúng không?
Chuyên gia: Chính xác! Bắt đầu thôi!
2. Merge Node là gì?
📌 Merge Node là một node trong n8n giúp:
- Ghép dữ liệu từ hai luồng khác nhau.
- Kết hợp dữ liệu theo nhiều cách (by index, by key, append, wait).
- Sử dụng trong các workflow cần đồng bộ dữ liệu từ nhiều nguồn.
📌 Ứng dụng thực tế của Merge Node:
- Ghép thông tin khách hàng từ CRM với dữ liệu đơn hàng từ API thanh toán.
- Kết hợp danh sách sản phẩm từ hai nguồn khác nhau.
- Hợp nhất dữ liệu từ hai bảng trong Google Sheets.
3. Cách sử dụng Merge Node – Step by Step
🔹 Bước 1: Tạo workflow mới trong n8n
- Đăng nhập vào n8n.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 2: Tạo hai nguồn dữ liệu
Chúng ta sẽ tạo hai danh sách:
- Danh sách khách hàng từ CRM
- Danh sách đơn hàng từ hệ thống thanh toán
1️⃣ Tạo danh sách khách hàng bằng Set Node
- Nhấn dấu
+
, tìm "Set" và thêm vào workflow. - Thêm dữ liệu khách hàng:
[
{ "customerId": 1, "name": "Nguyễn Văn A", "email": "a@email.com" },
{ "customerId": 2, "name": "Trần Thị B", "email": "b@email.com" }
]
2️⃣ Tạo danh sách đơn hàng bằng Set Node
- Thêm một Set Node khác.
- Nhập dữ liệu đơn hàng:
[
{ "customerId": 1, "orderId": 101, "total": 500000 },
{ "customerId": 2, "orderId": 102, "total": 120000 }
]
🔹 Bước 3: Thêm Merge Node và kết hợp dữ liệu
- Nhấn dấu
+
, tìm "Merge" và thêm vào workflow. - Kết nối:
- Set Node (Khách hàng) → Merge Node (Input 1)
- Set Node (Đơn hàng) → Merge Node (Input 2)
📌 Lưu ý: Merge Node có hai đầu vào (Input 1
và Input 2
).
🔹 Bước 4: Cấu hình Merge Node để ghép dữ liệu theo Customer ID
- Mở Merge Node, chọn chế độ "By Key".
- Key Input 1:
"customerId"
- Key Input 2:
"customerId"
- Nhấn "Execute Node" để kiểm tra kết quả.
✅ Kết quả mong đợi:
[
{
"customerId": 1,
"name": "Nguyễn Văn A",
"email": "a@email.com",
"orderId": 101,
"total": 500000
},
{
"customerId": 2,
"name": "Trần Thị B",
"email": "b@email.com",
"orderId": 102,
"total": 120000
}
]
🎉 Dữ liệu đã được ghép lại thành công!
4. Các chế độ ghép dữ liệu trong Merge Node
📌 Merge Node hỗ trợ 4 chế độ ghép dữ liệu khác nhau:
Chế độ | Mô tả | Khi nào sử dụng? |
---|---|---|
By Index | Ghép dữ liệu theo vị trí trong danh sách | Khi hai danh sách có số phần tử tương ứng |
By Key | Ghép dữ liệu dựa vào một trường chung (ví dụ: ID) | Khi dữ liệu đến từ hai nguồn khác nhau có chung một key |
Append | Gộp cả hai danh sách mà không cần ghép từng phần tử | Khi muốn giữ nguyên dữ liệu từ hai nguồn |
Wait | Chờ dữ liệu từ cả hai nguồn trước khi tiếp tục | Khi cần đảm bảo cả hai nguồn dữ liệu đều có sẵn |
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Ghép dữ liệu sản phẩm từ hai nguồn khác nhau
Yêu cầu:
- Danh sách sản phẩm từ Google Sheets (gồm
productId
,name
). - Danh sách giá bán từ API (gồm
productId
,price
). - Dùng Merge Node để ghép chúng lại theo
productId
.
📌 Gợi ý thực hiện:
- Sử dụng Google Sheets Node để lấy danh sách sản phẩm.
- Sử dụng HTTP Request Node để gọi API lấy giá sản phẩm.
- Dùng Merge Node (By Key - productId) để ghép dữ liệu.
📌 Bài tập 2: Hợp nhất danh sách nhân viên từ hai bảng dữ liệu
Yêu cầu:
- Danh sách nhân viên từ bảng A gồm
employeeId
,name
. - Danh sách nhân viên từ bảng B gồm
employeeId
,position
. - Dùng Merge Node để kết hợp hai danh sách này.
📌 Gợi ý thực hiện:
- Sử dụng Set Node hoặc Google Sheets Node để nhập dữ liệu.
- Sử dụng Merge Node (By Key - employeeId) để ghép dữ liệu.
6. Thảo luận cuối bài – Khi nào nên dùng Merge Node?
Ben: Merge Node có thể ghép hơn hai nguồn dữ liệu không?
Chuyên gia: Có chứ! Merge Node có thể xử lý nhiều nguồn dữ liệu, nhưng để ghép từ 3 nguồn trở lên, em cần sử dụng nhiều Merge Node nối tiếp nhau.
Bon: Vậy nếu một danh sách có nhiều dòng hơn danh sách kia thì sao?
Chuyên gia:
- Nếu ghép By Index, chỉ các phần tử tương ứng mới được ghép.
- Nếu ghép By Key, các phần tử có chung key mới được ghép.
- Nếu ghép Append, tất cả dữ liệu sẽ được gộp lại mà không cần khớp từng phần tử.
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Merge Node giúp ghép dữ liệu từ nhiều nguồn khác nhau.
✅ Có nhiều chế độ ghép dữ liệu: By Index, By Key, Append, Wait.
✅ Ứng dụng thực tế trong việc đồng bộ thông tin khách hàng, đơn hàng, sản phẩm...
BÀI HỌC 16: SPLIT IN BATCHES NODE – XỬ LÝ DỮ LIỆU THEO TỪNG NHÓM NHỎ
1. Hội thoại mở đầu – Khi nào cần chia nhỏ dữ liệu?
Ben: Anh Bon ơi, nếu em có 1.000 email cần gửi, mình phải làm sao để tránh bị chặn?
Bon: Nếu gửi một lúc 1.000 email, server có thể giới hạn hoặc chặn tài khoản của em!
Ben: Vậy có cách nào gửi từng nhóm nhỏ không?
Chuyên gia: Có chứ! Trong n8n, chúng ta dùng Split In Batches Node để xử lý dữ liệu theo từng nhóm nhỏ thay vì xử lý toàn bộ cùng lúc.
Ben: Vậy là mình có thể chia dữ liệu thành từng nhóm và xử lý lần lượt?
Chuyên gia: Đúng rồi! Hôm nay chúng ta sẽ học cách sử dụng Split In Batches Node để làm điều đó!
2. Split In Batches Node là gì?
📌 Split In Batches Node là một node trong n8n giúp:
- Chia nhỏ dữ liệu thành từng nhóm (batch) thay vì xử lý tất cả cùng lúc.
- Tránh lỗi quá tải khi làm việc với API hoặc gửi email hàng loạt.
- Tăng hiệu suất và kiểm soát quy trình xử lý dữ liệu.
📌 Ứng dụng thực tế của Split In Batches Node:
- Gửi email hàng loạt nhưng chia thành từng nhóm nhỏ để tránh bị chặn.
- Xử lý dữ liệu lớn theo từng phần để giảm tải hệ thống.
- Tự động đăng bài lên mạng xã hội theo từng nhóm thay vì đăng một lúc.
3. Cách sử dụng Split In Batches Node – Step by Step
🔹 Bước 1: Tạo workflow mới trong n8n
- Đăng nhập vào n8n.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 2: Tạo danh sách dữ liệu cần xử lý
Giả sử chúng ta có danh sách 10 email cần gửi:
- Nhấn dấu
+
, tìm "Set" và thêm vào workflow. - Thêm dữ liệu email cần gửi:
[
{ "email": "user1@email.com" },
{ "email": "user2@email.com" },
{ "email": "user3@email.com" },
{ "email": "user4@email.com" },
{ "email": "user5@email.com" },
{ "email": "user6@email.com" },
{ "email": "user7@email.com" },
{ "email": "user8@email.com" },
{ "email": "user9@email.com" },
{ "email": "user10@email.com" }
]
🔹 Bước 3: Thêm Split In Batches Node để chia nhỏ danh sách
- Nhấn dấu
+
, tìm "Split In Batches" và thêm vào workflow. - Kết nối Set Node → Split In Batches Node.
- Trong Split In Batches Node:
- Batch Size: Nhập
3
(tức là mỗi nhóm sẽ có 3 email).
- Batch Size: Nhập
📌 Lưu ý:
- Nếu danh sách có 10 email và batch size = 3, hệ thống sẽ chạy 4 lần:
- Lần 1: 3 email
- Lần 2: 3 email
- Lần 3: 3 email
- Lần 4: 1 email cuối
🔹 Bước 4: Thêm Email Node để gửi email từng nhóm
- Nhấn dấu
+
, tìm "Email" và thêm vào workflow. - Kết nối Split In Batches Node → Email Node.
- Cấu hình Email Node:
- To:
{{$json["email"]}}
- Subject:
Thông báo quan trọng!
- Body:
Xin chào, đây là email tự động từ n8n.
- To:
🔹 Bước 5: Lặp lại quá trình xử lý từng nhóm
- Trong Split In Batches Node, bật Continue On Fail.
- Kết nối Email Node quay lại Split In Batches Node để tiếp tục gửi nhóm tiếp theo.
📌 Giải thích:
- Khi Email Node hoàn thành, workflow sẽ quay lại Split In Batches Node để xử lý nhóm tiếp theo.
- Lặp lại cho đến khi xử lý hết danh sách email.
4. Bài tập thực hành mở rộng
📌 Bài tập 1: Đăng bài lên Facebook theo từng nhóm
Yêu cầu:
- Có danh sách 20 bài viết cần đăng.
- Chia thành nhóm 5 bài/lượt đăng.
- Sử dụng Split In Batches Node để đảm bảo không bị giới hạn API.
📌 Gợi ý thực hiện:
- Dùng Set Node để nhập danh sách bài viết.
- Dùng Split In Batches Node để chia nhóm 5 bài.
- Dùng HTTP Request Node để gửi dữ liệu lên API Facebook.
📌 Bài tập 2: Lọc và xử lý danh sách đơn hàng lớn
Yêu cầu:
- Có danh sách 1.000 đơn hàng.
- Chia nhỏ mỗi nhóm 50 đơn/lần xử lý.
- Gửi dữ liệu lên API kiểm tra tồn kho.
📌 Gợi ý thực hiện:
- Lấy danh sách đơn hàng từ Google Sheets Node hoặc API.
- Dùng Split In Batches Node để chia nhỏ danh sách.
- Gửi từng nhóm lên API bằng HTTP Request Node.
5. Thảo luận cuối bài – Khi nào nên dùng Split In Batches Node?
Ben: Nếu danh sách không chia hết cho batch size thì sao?
Chuyên gia: Phần dư vẫn được xử lý bình thường, nhưng nhóm cuối cùng sẽ có ít phần tử hơn.
Bon: Có cách nào để theo dõi quá trình xử lý không?
Chuyên gia:
- Có thể dùng "Wait Node" để tạo độ trễ giữa các batch.
- Dùng "Log Node" để ghi lại từng batch đã chạy xong.
6. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Split In Batches Node giúp xử lý dữ liệu theo từng nhóm nhỏ để tránh quá tải.
✅ Dùng trong gửi email hàng loạt, đăng bài mạng xã hội, xử lý đơn hàng lớn, v.v.
✅ Có thể kết hợp với Email Node, HTTP Request Node để tối ưu workflow.
BÀI HỌC 17: WAIT NODE – ĐIỀU KHIỂN THỜI GIAN CHẠY CỦA WORKFLOW
1. Hội thoại mở đầu – Khi nào cần chờ trong workflow?
Ben: Anh Bon ơi, hôm trước em tạo workflow gửi email tự động, nhưng có lúc email bị gửi quá nhanh làm server chặn luôn!
Bon: Đúng rồi, nếu gửi quá nhanh hoặc xử lý dữ liệu liên tục mà không có khoảng nghỉ, hệ thống có thể bị quá tải hoặc gặp lỗi!
Ben: Vậy mình có thể làm gì để tránh tình trạng này?
Chuyên gia: Chúng ta có thể sử dụng Wait Node trong n8n! Nó giúp workflow tạm dừng một khoảng thời gian trước khi tiếp tục thực hiện các bước tiếp theo!
Ben: Hay quá! Vậy hôm nay mình sẽ học cách dùng Wait Node để điều khiển thời gian chạy workflow đúng không?
Chuyên gia: Chính xác! Bắt đầu thôi! 🚀
2. Wait Node là gì?
📌 Wait Node trong n8n giúp workflow tạm dừng trong một khoảng thời gian nhất định trước khi tiếp tục.
🔹 Khi nào nên dùng Wait Node?
- Chờ trước khi thực hiện bước tiếp theo, ví dụ:
- Đợi 5 phút rồi gửi email tiếp theo.
- Chờ 1 tiếng rồi kiểm tra dữ liệu mới.
- Tránh bị giới hạn API khi gửi quá nhiều yêu cầu liên tục.
- Tạo quy trình tự động có thời gian linh hoạt, như:
- Gửi tin nhắn nhắc nhở sau 24h.
- Đợi 30 phút để kiểm tra đơn hàng mới.
📌 Wait Node có thể đặt thời gian chờ theo:
- Thời gian cố định (ví dụ: chờ 10 giây, 5 phút, 1 ngày).
- Thời điểm cụ thể (ví dụ: chờ đến 8h sáng hôm sau).
3. Cách sử dụng Wait Node – Step by Step
🔹 Bước 1: Tạo workflow mới trong n8n
- Đăng nhập vào n8n.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 2: Tạo Trigger khởi động workflow
Giả sử chúng ta muốn gửi email chúc mừng khách hàng vào sáng hôm sau sau khi họ đăng ký dịch vụ.
- Nhấn dấu
+
, tìm "Manual Trigger" và thêm vào workflow. - Manual Trigger sẽ giúp chúng ta chạy workflow thử nghiệm bằng tay.
🔹 Bước 3: Thêm Wait Node để trì hoãn gửi email
- Nhấn dấu
+
, tìm "Wait" và thêm vào workflow. - Kết nối Manual Trigger → Wait Node.
- Trong Wait Node, chọn:
- Mode:
Wait until a specific time
- Time:
Tomorrow at 08:00 AM
- Mode:
📌 Giải thích: Workflow sẽ tạm dừng cho đến 8h sáng hôm sau rồi mới tiếp tục gửi email.
🔹 Bước 4: Thêm Email Node để gửi email sau khi chờ
- Nhấn dấu
+
, tìm "Email" và thêm vào workflow. - Kết nối Wait Node → Email Node.
- Cấu hình Email Node:
- To:
{{$json["email"]}}
- Subject:
Chúc mừng bạn đã đăng ký thành công!
- Body:
Cảm ơn bạn đã đăng ký, chúng tôi có ưu đãi đặc biệt dành cho bạn!
- To:
🔹 Bước 5: Lưu và chạy thử workflow
- Nhấn "Save" để lưu workflow.
- Nhấn "Execute Workflow" để chạy thử.
- Workflow sẽ dừng lại ở Wait Node cho đến 8h sáng hôm sau trước khi gửi email.
4. Bài tập thực hành mở rộng
📌 Bài tập 1: Nhắc nhở khách hàng sau 24 giờ
Yêu cầu:
- Khi khách hàng đăng ký dịch vụ, đợi 24 giờ rồi gửi email nhắc nhở.
- Dùng Wait Node để trì hoãn email.
📌 Gợi ý thực hiện:
- Dùng Webhook Node để nhận dữ liệu đăng ký.
- Dùng Wait Node với thời gian chờ
24h
. - Dùng Email Node để gửi email sau 24h.
📌 Bài tập 2: Kiểm tra đơn hàng mỗi 6 tiếng
Yêu cầu:
- Hệ thống tự động kiểm tra đơn hàng mới mỗi 6 giờ.
📌 Gợi ý thực hiện:
- Dùng Cron Node để chạy workflow mỗi 6 giờ.
- Dùng HTTP Request Node để gọi API kiểm tra đơn hàng.
- Dùng Wait Node nếu cần trì hoãn xử lý đơn hàng.
5. Thảo luận cuối bài – Khi nào nên dùng Wait Node?
Ben: Nếu em muốn workflow tạm dừng 3 ngày thì sao?
Chuyên gia: Wait Node hỗ trợ đặt thời gian chờ tối đa là vài ngày hoặc đến một thời điểm cụ thể trong tương lai!
Bon: Vậy có cách nào theo dõi workflow trong thời gian chờ không?
Chuyên gia:
- Có thể kiểm tra trạng thái workflow trong Execution List của n8n.
- Dùng Webhook Node để nhận tín hiệu và tiếp tục workflow sớm hơn nếu cần.
6. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Wait Node giúp tạm dừng workflow một khoảng thời gian nhất định.
✅ Hữu ích trong việc trì hoãn gửi email, kiểm tra API định kỳ, hoặc đợi sự kiện xảy ra.
✅ Kết hợp với Cron Node hoặc Webhook Node để tạo workflow tự động linh hoạt hơn.
BÀI HỌC 18: IF NODE – RẼ NHÁNH ĐIỀU KIỆN (IF-ELSE)
1. Hội thoại mở đầu – Khi nào cần rẽ nhánh trong workflow?
Ben: Anh Bon ơi, hôm qua em làm workflow gửi tin nhắn chúc mừng sinh nhật, nhưng lỡ gửi cho cả những người không có sinh nhật hôm đó! 😵
Bon: Haha, vậy là em cần một cách kiểm tra trước khi gửi tin nhắn! Nếu đúng ngày sinh nhật thì gửi, còn không thì bỏ qua!
Ben: Nhưng làm sao để kiểm tra điều kiện trong n8n?
Chuyên gia: Dùng If Node! Nó giúp workflow quyết định nên đi tiếp hay rẽ nhánh dựa trên điều kiện nhất định!
Ben: Vậy hôm nay mình sẽ học cách dùng If Node để rẽ nhánh đúng không?
Chuyên gia: Chính xác! Hôm nay chúng ta sẽ học cách kiểm tra điều kiện và rẽ nhánh hợp lý trong workflow! 🚀
2. If Node là gì?
📌 If Node là một node quan trọng trong n8n giúp workflow kiểm tra điều kiện và quyết định nên đi theo nhánh nào.
🔹 Cách hoạt động của If Node:
- Nếu điều kiện đúng (TRUE) → Workflow đi theo nhánh "true".
- Nếu điều kiện sai (FALSE) → Workflow đi theo nhánh "false".
🔹 Ứng dụng thực tế của If Node:
✅ Gửi email xác nhận đơn hàng chỉ khi thanh toán thành công.
✅ Chỉ gửi tin nhắn chúc mừng nếu đúng ngày sinh nhật.
✅ Phân loại khách hàng VIP nếu tổng số tiền mua hàng > 1 triệu đồng.
3. Cách sử dụng If Node – Step by Step
Bài thực hành: Gửi email chúc mừng sinh nhật
📌 Mục tiêu:
- Kiểm tra nếu hôm nay là sinh nhật khách hàng.
- Nếu đúng, gửi email chúc mừng.
- Nếu sai, không làm gì cả.
🔹 Bước 1: Tạo workflow mới trong n8n
- Đăng nhập vào n8n.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 2: Tạo Trigger để khởi động workflow
- Nhấn dấu
+
, tìm "Manual Trigger" và thêm vào workflow. - Kết nối Manual Trigger với If Node.
🔹 Bước 3: Thêm If Node để kiểm tra sinh nhật
- Nhấn dấu
+
, tìm "If" và thêm vào workflow. - Kết nối Manual Trigger → If Node.
- Trong If Node, cấu hình điều kiện:
- First Value:
{{$json["birthday"]}}
- Operation:
Equals
- Second Value:
{{$moment().format("YYYY-MM-DD")}}
- First Value:
📌 Giải thích:
{{$json["birthday"]}}
lấy ngày sinh của khách hàng từ dữ liệu đầu vào.{{$moment().format("YYYY-MM-DD")}}
lấy ngày hôm nay.- Nếu ngày sinh = hôm nay → Đi nhánh true.
- Nếu không → Đi nhánh false.
🔹 Bước 4: Thêm Email Node để gửi chúc mừng
- Nhấn dấu
+
, tìm "Email" và thêm vào workflow. - Kết nối nhánh "true" của If Node → Email Node.
- Cấu hình Email Node:
- To:
{{$json["email"]}}
- Subject:
🎉 Chúc mừng sinh nhật bạn! 🎂
- Body:
Chúc bạn có một ngày sinh nhật vui vẻ và tràn đầy hạnh phúc! 🥳
- To:
🔹 Bước 5: Lưu và chạy thử workflow
- Nhấn "Save" để lưu workflow.
- Nhấn "Execute Workflow" để chạy thử.
- Nếu hôm nay là sinh nhật khách hàng → Email được gửi.
- Nếu không → Workflow dừng lại mà không gửi email.
4. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi ưu đãi VIP cho khách hàng có tổng chi tiêu > 1 triệu đồng
Yêu cầu:
- Nếu tổng chi tiêu của khách hàng lớn hơn 1 triệu → Gửi email ưu đãi VIP.
- Nếu nhỏ hơn → Không gửi email.
📌 Gợi ý thực hiện:
- Sử dụng Webhook Node để nhận dữ liệu khách hàng.
- Dùng If Node để kiểm tra điều kiện
{{$json["total_spent"]}} > 1000000
. - Nếu đúng → Gửi email bằng Email Node.
- Nếu sai → Không làm gì.
📌 Bài tập 2: Tự động gửi email xác nhận nếu đơn hàng đã thanh toán
Yêu cầu:
- Nếu trạng thái đơn hàng là
"Paid"
→ Gửi email xác nhận đơn hàng. - Nếu trạng thái là
"Pending"
hoặc"Cancelled"
→ Không gửi email.
📌 Gợi ý thực hiện:
- Dùng Webhook Node để nhận dữ liệu đơn hàng.
- Dùng If Node kiểm tra
{{$json["order_status"]}} == "Paid"
. - Nếu đúng → Gửi email bằng Email Node.
- Nếu sai → Không làm gì.
5. Thảo luận cuối bài – Khi nào nên dùng If Node?
Ben: Nếu em muốn kiểm tra nhiều điều kiện cùng lúc thì sao?
Chuyên gia: Có thể dùng nhiều If Node liên tiếp hoặc dùng Function Node để viết điều kiện phức tạp hơn!
Bon: Có cách nào kiểm tra nhiều điều kiện trong cùng một If Node không?
Chuyên gia:
- Có thể dùng nhiều điều kiện trong If Node, như:
total_spent > 1000000 AND country == "Vietnam"
- Hoặc dùng Switch Node nếu có nhiều nhánh điều kiện khác nhau.
6. Kết luận
📌 Tóm tắt nội dung bài học:
✅ If Node giúp workflow rẽ nhánh theo điều kiện.
✅ Dùng để kiểm tra dữ liệu trước khi tiếp tục workflow.
✅ Kết hợp với Webhook, Email, Function Node để xử lý linh hoạt hơn.
BÀI HỌC 19: SWITCH NODE – XỬ LÝ NHIỀU ĐIỀU KIỆN PHỨC TẠP
1. Hội thoại mở đầu – Khi nào If Node là chưa đủ?
Ben: Anh Bon ơi, hôm qua em dùng If Node để kiểm tra đơn hàng, nhưng có nhiều trạng thái khác nhau, em phải dùng tới 4 If Node lận! 😵
Bon: Ừ, anh cũng từng gặp vấn đề này. Nếu có nhiều điều kiện, dùng quá nhiều If Node sẽ khiến workflow rối lắm!
Chuyên gia: Chính xác! Khi có nhiều điều kiện rẽ nhánh, thay vì dùng nhiều If Node liên tiếp, chúng ta có thể dùng Switch Node để đơn giản hóa workflow!
Ben: Switch Node? Nó hoạt động giống như If Node không?
Chuyên gia: Khá giống, nhưng thay vì chỉ có hai nhánh (true/false) như If Node, Switch Node có thể kiểm tra nhiều điều kiện khác nhau và đưa workflow đi theo nhánh tương ứng!
Bon: Vậy hôm nay mình sẽ học cách dùng Switch Node đúng không?
Chuyên gia: Đúng rồi! Hôm nay, chúng ta sẽ học cách xử lý nhiều điều kiện phức tạp bằng Switch Node! 🚀
2. Switch Node là gì?
📌 Switch Node trong n8n cho phép kiểm tra một giá trị đầu vào và chọn một nhánh dựa trên điều kiện phù hợp. Nó giống như câu lệnh "switch-case" trong lập trình.
🔹 Cách hoạt động của Switch Node:
- Lấy một giá trị đầu vào (ví dụ: trạng thái đơn hàng, loại khách hàng, quốc gia...).
- So sánh giá trị này với nhiều điều kiện khác nhau.
- Điều hướng workflow đến nhánh phù hợp.
🔹 Ứng dụng thực tế của Switch Node:
✅ Phân loại đơn hàng theo trạng thái (Pending, Paid, Shipped, Cancelled...).
✅ Gửi thông báo khác nhau cho từng nhóm khách hàng (Mới, VIP, Thường...).
✅ Xử lý phản hồi chatbot dựa trên tin nhắn người dùng.
3. Cách sử dụng Switch Node – Step by Step
Bài thực hành: Xử lý đơn hàng theo trạng thái
📌 Mục tiêu:
- Kiểm tra trạng thái đơn hàng (
Pending
,Paid
,Shipped
,Cancelled
). - Gửi thông báo tương ứng đến khách hàng.
🔹 Bước 1: Tạo workflow mới trong n8n
- Đăng nhập vào n8n.
- Nhấn "New Workflow" để tạo workflow mới.
🔹 Bước 2: Tạo Webhook để nhận dữ liệu đơn hàng
- Nhấn dấu
+
, tìm "Webhook" và thêm vào workflow. - Cấu hình Webhook:
- HTTP Method:
POST
- Path:
/order-status
- HTTP Method:
- Lưu và nhấn "Listen for Requests".
- Gửi một yêu cầu POST có nội dung:
{
"order_id": "12345",
"status": "Paid",
"email": "khachhang@example.com"
}
🔹 Bước 3: Thêm Switch Node để kiểm tra trạng thái đơn hàng
- Nhấn dấu
+
, tìm "Switch" và thêm vào workflow. - Kết nối Webhook → Switch Node.
- Trong Switch Node, cấu hình:
- Value 1:
{{$json["status"]}}
- Operation:
Equals
- Value 1:
📌 Thêm các điều kiện như sau:
Case | Giá trị |
---|---|
Case 1 | Pending |
Case 2 | Paid |
Case 3 | Shipped |
Case 4 | Cancelled |
📌 Giải thích:
{{$json["status"]}}
lấy giá trị trạng thái đơn hàng từ dữ liệu webhook.- Nếu trạng thái là
Pending
→ Đi nhánh Case 1. - Nếu trạng thái là
Paid
→ Đi nhánh Case 2. - Nếu trạng thái là
Shipped
→ Đi nhánh Case 3. - Nếu trạng thái là
Cancelled
→ Đi nhánh Case 4.
🔹 Bước 4: Thêm Email Node để gửi thông báo
- Nhấn dấu
+
, tìm "Email" và thêm vào workflow. - Kết nối từng nhánh của Switch Node đến một Email Node khác nhau.
- Cấu hình Email Node cho từng trường hợp:
📌 Trường hợp "Pending" (Đơn hàng đang chờ xác nhận):
- To:
{{$json["email"]}}
- Subject:
🚀 Đơn hàng của bạn đang chờ xác nhận
- Body:
Cảm ơn bạn đã đặt hàng! Chúng tôi đang xử lý đơn hàng của bạn.
📌 Trường hợp "Paid" (Đã thanh toán):
- To:
{{$json["email"]}}
- Subject:
💳 Đơn hàng của bạn đã thanh toán thành công!
- Body:
Chúng tôi đã nhận được thanh toán. Đơn hàng sẽ sớm được gửi đi!
📌 Trường hợp "Shipped" (Đang giao hàng):
- To:
{{$json["email"]}}
- Subject:
📦 Đơn hàng của bạn đang trên đường!
- Body:
Đơn hàng của bạn đang được giao, vui lòng đợi trong 3-5 ngày.
📌 Trường hợp "Cancelled" (Đơn hàng bị hủy):
- To:
{{$json["email"]}}
- Subject:
❌ Đơn hàng của bạn đã bị hủy
- Body:
Rất tiếc, đơn hàng của bạn đã bị hủy. Nếu có vấn đề gì, vui lòng liên hệ hỗ trợ.
🔹 Bước 5: Lưu và chạy thử workflow
- Nhấn "Save" để lưu workflow.
- Nhấn "Execute Workflow" để chạy thử.
- Gửi yêu cầu webhook với trạng thái khác nhau (
Pending
,Paid
,Shipped
,Cancelled
). - Kiểm tra email khách hàng nhận được đúng thông báo tương ứng.
4. Bài tập thực hành mở rộng
📌 Bài tập 1: Xử lý phân loại khách hàng
Yêu cầu:
- Nếu khách hàng là VIP → Gửi ưu đãi đặc biệt.
- Nếu khách hàng là Mới → Gửi hướng dẫn sử dụng sản phẩm.
- Nếu khách hàng là Thường → Gửi email thông báo chương trình khuyến mãi.
📌 Gợi ý:
- Dùng Webhook Node để nhận thông tin khách hàng.
- Dùng Switch Node kiểm tra
{{$json["customer_type"]}}
. - Kết nối từng nhánh với Email Node để gửi thông báo phù hợp.
5. Thảo luận cuối bài – Khi nào nên dùng Switch Node?
Ben: Switch Node giúp workflow dễ nhìn hơn thật! Nhưng nếu muốn kiểm tra nhiều điều kiện cùng lúc thì sao?
Chuyên gia: Nếu cần kiểm tra nhiều điều kiện phức tạp, có thể dùng Function Node để viết code kiểm tra tất cả điều kiện trong một lần!
Bon: Vậy nếu có hơn 10 nhánh khác nhau thì sao?
Chuyên gia: Switch Node vẫn hoạt động tốt, nhưng lúc đó có thể cần kết hợp với Merge Node để gom dữ liệu lại!
6. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Switch Node giúp workflow rẽ nhánh nhiều điều kiện cùng lúc.
✅ Dễ dàng phân loại và xử lý dữ liệu một cách rõ ràng.
✅ Giảm sự phức tạp so với If Node khi có nhiều điều kiện.
BÀI HỌC 20: BÀI THỰC HÀNH – TẠO HỆ THỐNG THEO DÕI TRẠNG THÁI ĐƠN HÀNG TỪ GOOGLE SHEETS
1. Hội thoại mở đầu – Cách quản lý đơn hàng tự động?
Ben: Anh Bon ơi, mẹ nhờ em theo dõi đơn hàng trên Google Sheets, nhưng mỗi lần có đơn hàng mới, em phải vào nhập tay, rồi cập nhật trạng thái nữa! 😵
Bon: Haha, vậy thì em cần n8n giúp tự động hóa rồi! Nếu có một workflow theo dõi đơn hàng, tự động cập nhật trạng thái từ Google Sheets thì sao?
Ben: Thật á? Như vậy mỗi khi có đơn hàng mới, nó sẽ tự ghi vào bảng, rồi khi trạng thái thay đổi, nó cũng tự cập nhật? 🤩
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ làm một hệ thống theo dõi đơn hàng từ Google Sheets! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Nhận đơn hàng mới từ Webhook và lưu vào Google Sheets.
✅ Tự động cập nhật trạng thái đơn hàng từ Google Sheets.
✅ Gửi email thông báo khi trạng thái đơn hàng thay đổi.
3. Chuẩn bị trước khi thực hành
🔹 Bước 1: Tạo Google Sheets để lưu đơn hàng
- Mở Google Sheets và tạo một bảng mới.
- Đặt tên bảng:
Order_Tracking
- Tạo các cột sau:
Order ID | Customer Name | Status | |
---|---|---|---|
12345 | John Doe | john@example.com | Pending |
- Lưu lại đường link Google Sheets để sử dụng trong n8n.
🔹 Bước 2: Kết nối Google Sheets với n8n
- Vào n8n, nhấn dấu
+
, tìm Google Sheets Node và thêm vào workflow. - Nhấn vào "Connect Account", đăng nhập Google và cấp quyền cho n8n.
- Chọn "Order_Tracking" làm bảng dữ liệu.
4. Tạo workflow theo dõi trạng thái đơn hàng – Step by Step
🛠️ Bước 1: Nhận đơn hàng mới qua Webhook
- Nhấn dấu
+
, tìm "Webhook" và thêm vào workflow. - Cấu hình Webhook Node:
- HTTP Method:
POST
- Path:
/new-order
- HTTP Method:
- Nhấn "Listen for Requests" để chờ nhận dữ liệu.
- Gửi một yêu cầu thử bằng JSON:
{
"order_id": "12346",
"customer_name": "Alice",
"email": "alice@example.com",
"status": "Pending"
}
📌 Khi có đơn hàng mới, Webhook sẽ nhận dữ liệu này.
🛠️ Bước 2: Ghi đơn hàng vào Google Sheets
- Nhấn dấu
+
, tìm Google Sheets Node và thêm vào workflow. - Kết nối Webhook → Google Sheets Node.
- Cấu hình Google Sheets Node:
- Operation:
Append
- Spreadsheet:
Order_Tracking
- Columns:
- Order ID:
{{$json["order_id"]}}
- Customer Name:
{{$json["customer_name"]}}
- Email:
{{$json["email"]}}
- Status:
{{$json["status"]}}
- Order ID:
- Operation:
- Nhấn "Execute Node" để kiểm tra.
📌 Khi có đơn hàng mới, Google Sheets sẽ tự động ghi thông tin đơn hàng vào bảng.
🛠️ Bước 3: Theo dõi trạng thái đơn hàng từ Google Sheets
- Nhấn dấu
+
, tìm Google Sheets Node và thêm vào workflow. - Cấu hình Google Sheets Node:
- Operation:
Lookup
- Spreadsheet:
Order_Tracking
- Lookup Column:
Order ID
- Lookup Value:
{{$json["order_id"]}}
- Operation:
- Nhấn "Execute Node" để kiểm tra.
📌 Khi trạng thái đơn hàng thay đổi trong Google Sheets, workflow sẽ lấy dữ liệu mới nhất.
🛠️ Bước 4: Gửi email thông báo khi đơn hàng thay đổi
- Nhấn dấu
+
, tìm Email Node và thêm vào workflow. - Kết nối Google Sheets → Email Node.
- Cấu hình Email Node:
- To:
{{$json["email"]}}
- Subject:
Cập nhật đơn hàng #{{$json["order_id"]}}
- Body:
- To:
Xin chào {{$json["customer_name"]}},
Đơn hàng của bạn đã được cập nhật trạng thái: **{{$json["status"]}}**.
Cảm ơn bạn đã mua sắm cùng chúng tôi! 🚀
- Nhấn "Execute Node" để kiểm tra.
📌 Khi trạng thái đơn hàng thay đổi, hệ thống sẽ gửi email tự động cho khách hàng.
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Thêm cột "Tracking Number"
Yêu cầu:
- Khi đơn hàng có mã vận đơn (
Tracking Number
), gửi email kèm thông tin này.
📌 Gợi ý:
- Thêm cột mới
Tracking Number
vào Google Sheets. - Sửa workflow để lấy dữ liệu từ cột này.
- Chỉnh sửa Email Node để hiển thị Tracking Number.
6. Thảo luận cuối bài – Tại sao Google Sheets + n8n là giải pháp mạnh?
Ben: Wow! Giờ đơn hàng mới tự ghi vào Google Sheets, khi trạng thái thay đổi thì tự gửi email luôn! 🤩
Bon: Đúng vậy! Google Sheets + n8n giúp mình dễ quản lý đơn hàng mà không cần nhập tay!
Chuyên gia: Đây là một cách tuyệt vời để tự động hóa công việc mà không cần biết lập trình! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Webhook nhận đơn hàng mới và ghi vào Google Sheets.
✅ Google Sheets theo dõi trạng thái đơn hàng.
✅ Email tự động gửi khi có thay đổi trạng thái.
CHƯƠNG 3: Kết nối n8n với các dịch vụ phổ biến.
BÀI HỌC 21: READ & WRITE NODE – ĐỌC VÀ GHI DỮ LIỆU TỪ GOOGLE SHEETS VÀ FILE
1. Hội thoại mở đầu – Làm sao để n8n đọc và ghi dữ liệu?
Ben: Anh Bon ơi, hôm trước mình đã dùng Google Sheets để theo dõi đơn hàng rồi, nhưng em muốn biết cách n8n có thể đọc và ghi dữ liệu từ các file khác nữa không?
Bon: Ý em là đọc dữ liệu từ file Excel hay CSV rồi xử lý nó hả?
Ben: Đúng rồi! Nếu n8n có thể đọc và ghi file, thì em có thể làm báo cáo, lưu dữ liệu từ các workflow khác nữa!
Chuyên gia: Tuyệt vời! Hôm nay chúng ta sẽ học cách dùng Read & Write Node để đọc và ghi dữ liệu từ Google Sheets và các file như CSV, JSON! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Đọc dữ liệu từ Google Sheets bằng Read Node.
✅ Ghi dữ liệu vào Google Sheets bằng Write Node.
✅ Làm việc với file CSV và JSON trong n8n.
3. Tại sao Read & Write Node quan trọng?
🔹 Read Node giúp đọc dữ liệu từ các nguồn như Google Sheets, CSV, JSON để xử lý trong workflow.
🔹 Write Node giúp ghi dữ liệu vào các file hoặc dịch vụ như Google Sheets, giúp lưu trữ dữ liệu đã xử lý.
📌 Ứng dụng thực tế:
- Lấy dữ liệu khách hàng từ Google Sheets để gửi email tự động.
- Lưu kết quả phân tích vào file CSV để xuất báo cáo.
- Đọc danh sách sản phẩm từ file JSON để xử lý tự động.
4. Cách sử dụng Read & Write Node – Step by Step
🛠️ Bước 1: Đọc dữ liệu từ Google Sheets
1. Chuẩn bị Google Sheets
- Mở Google Sheets và tạo một bảng có dữ liệu mẫu:
Name | Order ID | |
---|---|---|
Alice | alice@example.com | 1001 |
Bob | bob@example.com | 1002 |
- Đặt tên bảng là
Customers_Data
.
2. Cấu hình Read Node để đọc dữ liệu
- Mở n8n, nhấn
+
, tìm Google Sheets Node và thêm vào workflow. - Chọn Operation:
Read
. - Kết nối tài khoản Google Sheets.
- Chọn bảng Customers_Data.
- Nhấn "Execute Node" để kiểm tra.
📌 Kết quả: n8n sẽ lấy toàn bộ dữ liệu từ Google Sheets và hiển thị trong workflow.
🛠️ Bước 2: Ghi dữ liệu vào Google Sheets
1. Thêm dữ liệu mới vào bảng
-
Nhấn
+
, thêm một Google Sheets Node mới. -
Chọn Operation:
Append
. -
Cấu hình để ghi thêm dữ liệu mới:
- Name:
Charlie
- Email:
charlie@example.com
- Order ID:
1003
- Name:
-
Nhấn "Execute Node" để kiểm tra.
📌 Khi chạy, Google Sheets sẽ tự động thêm dòng mới với dữ liệu vừa nhập.
🛠️ Bước 3: Đọc dữ liệu từ file CSV
1. Chuẩn bị file CSV
Tạo một file CSV customers.csv
với nội dung sau:
Name,Email,Order ID
David,david@example.com,1004
Emma,emma@example.com,1005
2. Sử dụng Read Node để đọc file CSV
- Nhấn
+
, tìm Read Binary File Node và thêm vào workflow. - Chọn Path đến file
customers.csv
. - Nhấn "Execute Node" để kiểm tra.
📌 Khi chạy, n8n sẽ đọc file CSV và hiển thị dữ liệu trong workflow.
🛠️ Bước 4: Ghi dữ liệu vào file JSON
1. Chuẩn bị dữ liệu để ghi vào JSON
- Nhấn
+
, tìm Function Node và thêm vào workflow. - Nhập đoạn code để tạo dữ liệu JSON:
return [
{
json: {
name: "John",
email: "john@example.com",
order_id: "1006"
}
}
];
- Nhấn
+
, tìm Write Binary File Node và thêm vào workflow. - Chọn Path:
order_data.json
. - Nhấn "Execute Node" để lưu file JSON.
📌 Khi chạy, n8n sẽ tạo file order_data.json
chứa thông tin đơn hàng mới.
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Xuất danh sách khách hàng thành file CSV
Yêu cầu:
- Đọc dữ liệu từ Google Sheets.
- Ghi dữ liệu này vào một file CSV.
📌 Gợi ý:
- Dùng Google Sheets Node để đọc dữ liệu.
- Dùng Write Binary File Node để lưu thành file CSV.
6. Thảo luận cuối bài – Read & Write Node hữu ích thế nào?
Ben: Wow! Bây giờ em có thể đọc dữ liệu từ Google Sheets, file CSV và cả JSON nữa! 🤩
Bon: Chưa hết đâu, còn có thể ghi dữ liệu vào file nữa, rất hữu ích cho việc tự động hóa báo cáo!
Chuyên gia: Đúng vậy! Read & Write Node là công cụ mạnh mẽ giúp n8n xử lý dữ liệu linh hoạt! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Đọc dữ liệu từ Google Sheets bằng Read Node.
✅ Ghi dữ liệu vào Google Sheets bằng Write Node.
✅ Làm việc với file CSV và JSON trong n8n.
BÀI HỌC 22: KẾT NỐI N8N VỚI GMAIL – GỬI VÀ NHẬN EMAIL TỰ ĐỘNG
1. Hội thoại mở đầu – Làm sao để n8n gửi email tự động?
Ben: Anh Bon ơi, hôm trước mình học cách đọc và ghi dữ liệu rồi. Vậy bây giờ làm sao để n8n gửi email tự động nhỉ?
Bon: Ừm, nếu n8n có thể gửi email, mình có thể tạo hệ thống thông báo khi có đơn hàng mới, nhắc lịch hẹn, hoặc gửi báo cáo tự động!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách sử dụng Gmail Node để gửi và nhận email trong n8n! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Kết nối n8n với Gmail.
✅ Gửi email tự động từ n8n bằng Gmail Node.
✅ Nhận email và xử lý nội dung email trong n8n.
✅ Ứng dụng thực tế: Gửi thông báo khi có đơn hàng mới.
3. Tại sao Gmail Node quan trọng?
🔹 Gửi email tự động: Thông báo đơn hàng, báo cáo hàng ngày, nhắc nhở sự kiện.
🔹 Nhận email và xử lý: Tự động trích xuất thông tin từ email đến, lưu dữ liệu vào Google Sheets, gửi phản hồi tự động.
🔹 Tích hợp với các workflow khác: Kết hợp với Google Sheets, Webhook, Telegram, Slack...
📌 Ứng dụng thực tế:
- Tự động gửi email xác nhận đơn hàng cho khách.
- Nhận email phản hồi từ khách hàng và lưu vào CRM.
- Gửi email thông báo khi có sự kiện quan trọng.
4. Cách gửi email bằng Gmail Node – Step by Step
🛠️ Bước 1: Kết nối n8n với Gmail
1. Bật quyền truy cập API Gmail
- Vào Google Cloud Console
- Tạo một dự án mới (nếu chưa có).
- Truy cập API & Services > Library, tìm Gmail API và nhấn Enable.
- Vào Credentials, chọn Create Credentials > OAuth Client ID.
- Chọn Application Type: Desktop App, sau đó tải file JSON về.
2. Cấu hình Gmail Node trong n8n
- Mở n8n, nhấn
+
, tìm Gmail Node và thêm vào workflow. - Chọn OAuth2 Authentication.
- Nhập thông tin từ file JSON đã tải.
- Nhấn Connect Account và làm theo hướng dẫn để cấp quyền.
📌 Sau khi kết nối thành công, bạn có thể sử dụng Gmail Node để gửi và nhận email!
🛠️ Bước 2: Gửi email tự động bằng Gmail Node
1. Cấu hình Gmail Node để gửi email
- Nhấn
+
, tìm Gmail Node và thêm vào workflow. - Chọn Operation: Send Email.
- Điền thông tin email:
- To:
ben@example.com
- Subject:
Chào Ben!
- Body:
Đây là email tự động gửi từ n8n!
- To:
- Nhấn "Execute Node" để gửi email.
📌 Khi chạy, email sẽ được gửi đến hộp thư của người nhận!
🛠️ Bước 3: Nhận email và xử lý nội dung
1. Cấu hình Gmail Node để nhận email
- Nhấn
+
, thêm một Gmail Node mới. - Chọn Operation: Get Emails.
- Chọn Label:
INBOX
. - Chọn Max Emails:
5
(số email muốn nhận). - Nhấn "Execute Node" để lấy email mới nhất.
📌 Sau khi chạy, n8n sẽ hiển thị danh sách email nhận được!
2. Xử lý nội dung email nhận được
- Dùng Set Node để trích xuất tiêu đề, nội dung email.
- Dùng Google Sheets Node để lưu nội dung email vào Google Sheets.
- Dùng If Node để lọc email theo tiêu đề hoặc người gửi.
📌 Ví dụ: Nếu email có tiêu đề chứa từ "Đơn hàng", thì lưu vào Google Sheets và gửi thông báo đến Telegram.
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi email xác nhận đơn hàng
Yêu cầu:
- Khi có đơn hàng mới trên Google Sheets, n8n sẽ tự động gửi email xác nhận.
📌 Gợi ý:
- Dùng Google Sheets Node để đọc dữ liệu đơn hàng mới.
- Dùng Gmail Node để gửi email cho khách hàng.
6. Thảo luận cuối bài – Tự động hóa email hữu ích thế nào?
Ben: Wow! Giờ em có thể gửi email tự động mà không cần mở Gmail! 🤩
Bon: Chưa hết đâu, còn có thể nhận email và xử lý nội dung nữa, giống như một trợ lý ảo vậy!
Chuyên gia: Chính xác! Gmail Node giúp n8n giao tiếp với khách hàng, quản lý đơn hàng, và xử lý email một cách thông minh! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Kết nối n8n với Gmail bằng OAuth2.
✅ Gửi email tự động với Gmail Node.
✅ Nhận và xử lý email đến bằng Gmail Node.
BÀI HỌC 23: KẾT NỐI N8N VỚI TELEGRAM – GỬI TIN NHẮN VÀ NHẬN PHẢN HỒI TỰ ĐỘNG!
1. Hội thoại mở đầu – Chatbot Telegram có thể làm gì?
Ben: Anh Bon ơi, hôm trước mình học gửi email tự động rồi. Nhưng mà giờ ai còn dùng email nữa, em toàn dùng Telegram thôi!
Bon: Ừ nhỉ, bây giờ mọi người đều thích chat qua Telegram, vừa nhanh vừa tiện!
Chuyên gia: Vậy thì hôm nay, chúng ta sẽ học cách dùng n8n để gửi tin nhắn tự động trên Telegram, và thậm chí còn có thể nhận phản hồi từ người dùng! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Tạo bot Telegram và lấy API Token.
✅ Sử dụng Telegram Node trong n8n để gửi tin nhắn tự động.
✅ Nhận tin nhắn từ người dùng và xử lý trong n8n.
✅ Ứng dụng thực tế: Gửi thông báo đơn hàng và nhận phản hồi từ khách hàng.
3. Tại sao Telegram Node quan trọng?
🔹 Gửi thông báo nhanh chóng: Khi có đơn hàng mới, khi hệ thống có lỗi, hoặc gửi lời nhắc quan trọng.
🔹 Nhận phản hồi từ khách hàng: Khách có thể chat với bot, trả lời câu hỏi, hoặc cung cấp thông tin.
🔹 Kết hợp với các dịch vụ khác: Nhận dữ liệu từ Google Sheets, gửi báo cáo từ hệ thống, cập nhật trạng thái đơn hàng...
📌 Ứng dụng thực tế:
- Thông báo đơn hàng mới đến nhóm nhân viên.
- Nhắc lịch hẹn hoặc sự kiện quan trọng.
- Tạo chatbot tự động trả lời khách hàng.
4. Cách gửi tin nhắn bằng Telegram Node – Step by Step
🛠️ Bước 1: Tạo bot Telegram và lấy API Token
1. Tạo bot trên Telegram
- Mở Telegram, tìm kiếm BotFather.
- Nhấn Start, sau đó gõ lệnh:
/newbot
- Đặt tên cho bot, ví dụ: MyN8nBot.
- Chọn username cho bot, ví dụ: MyN8nBot_Bot (phải có _Bot ở cuối).
- BotFather sẽ gửi về API Token, trông như thế này:
123456789:ABCDefghIJKLmnopQRSTuvwxYZ
📌 Lưu API Token lại, lát nữa chúng ta sẽ dùng!
2. Lấy Chat ID của bạn hoặc nhóm Telegram
- Mở Telegram, tìm bot có tên IDBot.
- Nhấn Start, sau đó gõ lệnh:
/getid
- IDBot sẽ trả về Chat ID của bạn hoặc nhóm Telegram.
📌 Lưu Chat ID này lại!
🛠️ Bước 2: Gửi tin nhắn tự động bằng Telegram Node
1. Thêm Telegram Node vào n8n
- Mở n8n, nhấn
+
, tìm Telegram Node và thêm vào workflow. - Chọn Operation: Send Message.
- Nhập thông tin:
- Chat ID:
@YourChatID
- Message:
Xin chào! Đây là tin nhắn tự động từ n8n 🚀
- Chat ID:
- Nhấn "Execute Node" để gửi tin nhắn.
📌 Sau khi chạy, bạn sẽ thấy tin nhắn xuất hiện trên Telegram!
🛠️ Bước 3: Nhận tin nhắn từ Telegram và xử lý trong n8n
1. Thêm Telegram Trigger Node vào n8n
- Nhấn
+
, tìm Telegram Trigger Node và thêm vào workflow. - Chọn Update Type: Message (để nhận tin nhắn từ người dùng).
- Nhập Bot Token mà bạn đã lấy từ BotFather.
- Nhấn "Execute Node", sau đó gửi thử một tin nhắn đến bot.
- Nếu n8n hiển thị tin nhắn bạn vừa gửi, có nghĩa là bot đã hoạt động! 🎉
🛠️ Bước 4: Xử lý tin nhắn từ người dùng
📌 Ví dụ: Nếu người dùng nhắn "đơn hàng"
thì bot sẽ gửi lại danh sách đơn hàng.
1. Thêm If Node để kiểm tra nội dung tin nhắn
- Nhấn
+
, tìm If Node và thêm vào workflow. - Ở mục Condition, chọn:
- Property:
message.text
- Operation:
Contains
- Value:
đơn hàng
- Property:
- Nếu tin nhắn có chứa
"đơn hàng"
, bot sẽ gửi danh sách đơn hàng.
2. Thêm Telegram Node để trả lời tin nhắn
- Nhấn
+
, tìm Telegram Node, chọn Send Message. - Nhập Chat ID và Message, ví dụ:
Danh sách đơn hàng hôm nay: - Đơn 1: Sản phẩm A - Đơn 2: Sản phẩm B - Đơn 3: Sản phẩm C
- Kết nối node này với If Node.
📌 Giờ thì bot sẽ tự động trả lời khi có ai nhắn "đơn hàng"! 🚀
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi thông báo đơn hàng đến nhóm Telegram
Yêu cầu:
- Khi có đơn hàng mới trên Google Sheets, n8n sẽ tự động gửi tin nhắn đến nhóm Telegram.
📌 Gợi ý:
- Dùng Google Sheets Node để đọc dữ liệu đơn hàng mới.
- Dùng Telegram Node để gửi tin nhắn đến nhóm.
6. Thảo luận cuối bài – Telegram Bot có thể làm gì nữa?
Ben: Thật tuyệt! Giờ em có thể gửi tin nhắn tự động mà không cần bấm điện thoại! 🤩
Bon: Chưa hết đâu, bot còn có thể nhận tin nhắn và trả lời nữa, giống như một trợ lý ảo vậy!
Chuyên gia: Đúng rồi! Với Telegram Bot, bạn có thể làm hệ thống báo cáo, chatbot, thông báo lỗi hệ thống, và nhiều ứng dụng khác! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Tạo bot Telegram và lấy API Token.
✅ Gửi tin nhắn tự động với Telegram Node.
✅ Nhận tin nhắn và xử lý phản hồi từ người dùng.
BÀI HỌC 24: KẾT NỐI N8N VỚI SLACK – GỬI TIN NHẮN TỰ ĐỘNG VÀ NHẬN PHẢN HỒI TỪ NGƯỜI DÙNG!
1. Hội thoại mở đầu – Tại sao nên dùng Slack với n8n?
Ben: Anh Bon ơi, hôm trước mình học gửi tin nhắn tự động qua Telegram rồi, nhưng nhiều công ty lại dùng Slack hơn!
Bon: Đúng rồi, Slack là công cụ chính để làm việc nhóm, có thể gửi thông báo, báo cáo, thậm chí tạo chatbot tự động!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách kết nối n8n với Slack để gửi tin nhắn tự động và nhận phản hồi từ người dùng! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Tạo ứng dụng Slack và lấy API Token.
✅ Sử dụng Slack Node trong n8n để gửi tin nhắn tự động.
✅ Nhận tin nhắn từ người dùng và xử lý trong n8n.
✅ Ứng dụng thực tế: Gửi thông báo tự động khi có đơn hàng mới hoặc khi có lỗi hệ thống.
3. Tại sao nên kết nối Slack với n8n?
🔹 Tự động hóa thông báo công việc: Gửi tin nhắn khi có nhiệm vụ mới, đơn hàng, hay sự cố cần xử lý.
🔹 Nhận phản hồi từ người dùng: Cho phép nhân viên hoặc khách hàng phản hồi nhanh chóng.
🔹 Tích hợp với các dịch vụ khác: Kết nối với Google Sheets, Trello, Notion, CRM để tự động cập nhật thông tin.
📌 Ứng dụng thực tế:
- Thông báo đơn hàng mới đến nhóm bán hàng.
- Gửi cảnh báo khi hệ thống gặp lỗi.
- Tạo chatbot hỗ trợ khách hàng tự động.
4. Cách gửi tin nhắn tự động bằng Slack Node – Step by Step
🛠️ Bước 1: Tạo ứng dụng Slack và lấy API Token
1. Tạo ứng dụng Slack
- Truy cập Slack API và đăng nhập tài khoản Slack.
- Nhấn Create New App → Chọn From Scratch.
- Đặt tên cho ứng dụng, ví dụ:
MyN8nSlackBot
. - Chọn workspace Slack mà bạn muốn cài đặt bot.
- Nhấn Create App.
2. Cấp quyền cho bot Slack
- Trong trang ứng dụng, chọn OAuth & Permissions.
- Trong phần Scopes, thêm quyền:
chat:write
(Gửi tin nhắn)chat:write.public
(Gửi tin vào kênh công khai)im:history
(Đọc tin nhắn từ người dùng)
- Nhấn Install to Workspace → Xác nhận cấp quyền.
- Lưu lại Bot User OAuth Token, trông như thế này:
xoxb-1234567890-abcdefghijABCDEFGHIJ
📌 Lưu API Token lại để dùng trong n8n!
🛠️ Bước 2: Gửi tin nhắn tự động bằng Slack Node
1. Thêm Slack Node vào n8n
- Mở n8n, nhấn
+
, tìm Slack Node và thêm vào workflow. - Chọn Operation: Post Message.
- Nhập thông tin:
- Channel:
#general
(hoặc kênh Slack của bạn). - Message:
Xin chào team! Đây là tin nhắn tự động từ n8n 🚀
- Channel:
- Dán Bot User OAuth Token vào mục Authentication.
- Nhấn "Execute Node" để gửi tin nhắn.
📌 Bạn sẽ thấy tin nhắn xuất hiện trên Slack! 🎉
🛠️ Bước 3: Nhận tin nhắn từ Slack và xử lý trong n8n
1. Kết nối Slack với n8n để nhận tin nhắn
- Truy cập Slack API, vào mục Event Subscriptions.
- Bật Enable Events, nhập Webhook URL từ n8n.
- Trong phần Subscribe to bot events, thêm:
message.channels
(Nhận tin từ kênh)message.im
(Nhận tin nhắn riêng từ người dùng)
- Nhấn Save Changes.
📌 Bây giờ, Slack có thể gửi dữ liệu về n8n khi có tin nhắn mới!
🛠️ Bước 4: Xử lý tin nhắn từ người dùng trong n8n
📌 Ví dụ: Nếu ai đó nhắn "trạng thái đơn hàng"
, bot sẽ gửi danh sách đơn hàng.
1. Thêm Slack Trigger Node vào n8n
- Nhấn
+
, tìm Slack Trigger Node và thêm vào workflow. - Chọn Event: Message.
- Nhấn "Execute Node", sau đó gửi thử tin nhắn vào Slack.
- Nếu n8n hiển thị tin nhắn bạn vừa gửi, bot đã hoạt động! 🎉
2. Thêm If Node để kiểm tra nội dung tin nhắn
- Nhấn
+
, tìm If Node. - Ở mục Condition, chọn:
- Property:
text
- Operation:
Contains
- Value:
trạng thái đơn hàng
- Property:
- Nếu tin nhắn có chứa
"trạng thái đơn hàng"
, bot sẽ gửi danh sách đơn hàng.
3. Thêm Slack Node để trả lời tin nhắn
- Nhấn
+
, tìm Slack Node, chọn Post Message. - Nhập Channel và Message, ví dụ:
Đơn hàng của bạn đang được xử lý! 🚀
- Kết nối node này với If Node.
📌 Giờ bot sẽ tự động trả lời khi ai đó nhắn "trạng thái đơn hàng"! 🚀
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi cảnh báo lỗi hệ thống đến kênh Slack
Yêu cầu:
- Khi hệ thống gặp lỗi, n8n sẽ gửi thông báo đến nhóm kỹ thuật trên Slack.
📌 Gợi ý:
- Dùng Webhook Node để nhận dữ liệu lỗi từ hệ thống.
- Dùng Slack Node để gửi tin nhắn cảnh báo đến nhóm.
6. Thảo luận cuối bài – Slack Bot có thể làm gì nữa?
Ben: Anh Bon ơi, mình có thể làm chatbot trả lời tự động bằng Slack được không? 🤩
Bon: Được chứ! Em có thể tạo chatbot hỗ trợ khách hàng, nhận và xử lý yêu cầu ngay trong Slack!
Chuyên gia: Chính xác! Với n8n, bạn có thể tạo hệ thống thông báo, chatbot, cập nhật trạng thái công việc, và nhiều ứng dụng khác! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Tạo ứng dụng Slack và lấy API Token.
✅ Gửi tin nhắn tự động với Slack Node.
✅ Nhận tin nhắn và xử lý phản hồi từ người dùng.
BÀI HỌC 25: KẾT NỐI N8N VỚI NOTION – TẠO VÀ CẬP NHẬT DỮ LIỆU TỰ ĐỘNG!
1. Hội thoại mở đầu – Tại sao nên dùng Notion với n8n?
Ben: Anh Bon ơi, em thấy nhiều người dùng Notion để ghi chú và quản lý công việc!
Bon: Đúng rồi! Notion giúp lưu trữ thông tin, lên kế hoạch, quản lý dự án, nhưng nhập liệu bằng tay mất thời gian lắm!
Chuyên gia: Vậy nên hôm nay, chúng ta sẽ học cách kết nối n8n với Notion để tạo và cập nhật dữ liệu tự động! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Kết nối n8n với Notion bằng API Token.
✅ Tạo mới một trang hoặc database entry trên Notion.
✅ Cập nhật dữ liệu tự động khi có thay đổi từ nguồn khác (Google Sheets, CRM…).
✅ Ứng dụng thực tế: Quản lý danh sách đơn hàng, công việc, ghi chú tự động.
3. Tại sao nên kết nối Notion với n8n?
🔹 Tự động hóa nhập dữ liệu: Không cần nhập tay mỗi lần có thông tin mới.
🔹 Quản lý công việc hiệu quả: Tự động cập nhật danh sách công việc từ nhiều nguồn.
🔹 Kết nối với các dịch vụ khác: Kết hợp với Google Sheets, Slack, Trello để đồng bộ dữ liệu.
📌 Ứng dụng thực tế:
- Tạo danh sách đơn hàng mới khi có khách đặt hàng.
- Ghi chú tự động từ email hoặc Google Sheets vào Notion.
- Cập nhật trạng thái công việc từ Trello, ClickUp, Asana sang Notion.
4. Cách kết nối n8n với Notion – Step by Step
🛠️ Bước 1: Lấy API Token từ Notion
1. Tạo tích hợp (Integration) trên Notion
- Truy cập Notion API và đăng nhập.
- Nhấn "Create New Integration".
- Đặt tên, ví dụ:
n8n Integration
. - Chọn workspace cần kết nối, nhấn Submit.
- Lưu lại Secret Token, ví dụ:
secret_abcdefghijklmnpqrstuvwxyz123456
2. Cấp quyền cho Integration
- Mở Notion, vào trang hoặc database cần kết nối.
- Nhấn Share → Nhập tên
n8n Integration
→ Invite.
📌 Giờ Notion đã cho phép n8n truy cập dữ liệu!
🛠️ Bước 2: Tạo database trên Notion để lưu dữ liệu
- Mở Notion, tạo một database mới (hoặc dùng database có sẵn).
- Đặt tên database, ví dụ:
Danh sách đơn hàng
. - Thêm các cột như:
- Mã đơn hàng (Text)
- Khách hàng (Text)
- Sản phẩm (Multi-select)
- Trạng thái (Select: "Chờ xử lý", "Đã giao", "Hủy")
- Sao chép Database ID từ URL của Notion, ví dụ:
Database ID là phần cuối sau dấuhttps://www.notion.so/myworkspace/abcdef1234567890
/
.
📌 Giờ chúng ta đã có database trên Notion để nhận dữ liệu từ n8n!
🛠️ Bước 3: Tạo trang mới trên Notion bằng Notion Node trong n8n
1. Thêm Notion Node vào n8n
- Mở n8n, nhấn
+
, tìm Notion Node và thêm vào workflow. - Chọn Operation: Create Page.
- Dán Secret Token vào mục Authentication.
- Nhập Database ID của Notion.
- Điền thông tin:
- Mã đơn hàng:
#12345
- Khách hàng:
Nguyễn Văn A
- Sản phẩm:
Laptop Dell
- Trạng thái:
Chờ xử lý
- Mã đơn hàng:
- Nhấn Execute Node để chạy thử.
📌 Kiểm tra Notion, bạn sẽ thấy đơn hàng mới xuất hiện! 🎉
🛠️ Bước 4: Cập nhật dữ liệu trên Notion từ Google Sheets
📌 Yêu cầu: Khi có đơn hàng mới trên Google Sheets, n8n sẽ tự động cập nhật vào Notion.
1. Thêm Google Sheets Node vào n8n
- Nhấn
+
, tìm Google Sheets Node. - Chọn Operation: Read Rows.
- Chọn file Google Sheets chứa danh sách đơn hàng.
- Nhấn Execute Node để kiểm tra dữ liệu.
2. Thêm Notion Node để cập nhật dữ liệu
- Thêm Notion Node vào workflow.
- Chọn Operation: Update Page.
- Nhập Page ID (lấy từ Google Sheets Node).
- Chọn các trường cần cập nhật (Mã đơn hàng, Khách hàng, Trạng thái...).
- Kết nối Google Sheets Node với Notion Node.
- Nhấn Execute Workflow để kiểm tra.
📌 Khi Google Sheets có đơn hàng mới, Notion sẽ cập nhật tự động! 🚀
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Ghi chú email quan trọng vào Notion
📌 Yêu cầu:
- Khi có email quan trọng (chứa từ khóa
"Hóa đơn"
,"Hợp đồng"
), n8n sẽ tự động ghi vào Notion.
📌 Gợi ý:
- Sử dụng Gmail Node để quét email.
- Sử dụng If Node để kiểm tra nội dung email.
- Sử dụng Notion Node để lưu email vào Notion.
6. Thảo luận cuối bài – Notion Automation có thể làm gì nữa?
Ben: Anh Bon ơi, mình có thể tạo bảng quản lý công việc tự động trên Notion không? 🤩
Bon: Được chứ! Mình có thể tự động ghi danh sách nhiệm vụ, cập nhật tiến độ theo thời gian thực!
Chuyên gia: Đúng vậy! Notion có thể kết nối với nhiều dịch vụ khác để quản lý dữ liệu một cách thông minh! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Lấy API Token và kết nối Notion với n8n.
✅ Tạo mới một trang/database entry trên Notion.
✅ Cập nhật dữ liệu Notion tự động từ Google Sheets hoặc email.
BÀI HỌC 26: KẾT NỐI N8N VỚI TRELLO – QUẢN LÝ DỰ ÁN VÀ CÔNG VIỆC TỰ ĐỘNG!
1. Hội thoại mở đầu – Quản lý công việc dễ dàng với Trello và n8n
Ben: Anh Bon ơi, hôm trước mình học cách dùng Notion để ghi chú tự động, nhưng nếu muốn quản lý công việc theo bảng (Kanban) thì sao?
Bon: Trello chính là lựa chọn tuyệt vời! Mình có thể tạo danh sách nhiệm vụ, sắp xếp công việc theo tiến độ…
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách kết nối n8n với Trello để tự động hóa quản lý công việc! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Kết nối n8n với Trello bằng API Token.
✅ Tự động tạo thẻ (card) mới trên Trello khi có nhiệm vụ mới.
✅ Cập nhật trạng thái công việc tự động khi có thay đổi từ Google Sheets hoặc Notion.
✅ Ứng dụng thực tế: Quản lý dự án, theo dõi tiến độ công việc, nhắc nhở tự động.
3. Tại sao nên kết nối Trello với n8n?
🔹 Quản lý công việc hiệu quả: Tự động cập nhật danh sách công việc.
🔹 Tiết kiệm thời gian: Không cần nhập thủ công, mọi thứ tự động.
🔹 Tích hợp đa nền tảng: Đồng bộ Trello với Gmail, Google Sheets, Notion, Slack…
📌 Ứng dụng thực tế:
- Tự động tạo thẻ Trello khi có công việc mới trong Google Sheets.
- Cập nhật trạng thái công việc khi có thay đổi từ Notion.
- Gửi thông báo qua Slack khi một nhiệm vụ được hoàn thành.
4. Cách kết nối n8n với Trello – Step by Step
🛠️ Bước 1: Lấy API Token từ Trello
1. Lấy API Key và Token
- Truy cập Trello Developer API.
- Đăng nhập tài khoản Trello.
- Sao chép API Key hiển thị trên trang.
- Nhấn "Generate a Token" để lấy Token.
- Lưu lại API Key và Token để dùng trong n8n.
📌 Giờ bạn đã có thông tin cần thiết để kết nối Trello với n8n!
🛠️ Bước 2: Thêm Trello Node vào n8n
1. Thêm Trello Node vào workflow
- Mở n8n, nhấn
+
, tìm Trello Node và thêm vào workflow. - Chọn Operation: Create Card (Tạo thẻ Trello mới).
- Chọn phương thức xác thực: API Key & Token.
- Dán API Key và Token đã lấy từ Trello.
- Chọn Board (bảng công việc) cần làm việc.
- Chọn List (danh sách công việc), ví dụ:
Việc cần làm
. - Điền thông tin thẻ mới:
- Tên thẻ:
Hoàn thành báo cáo tháng
- Mô tả:
Nộp báo cáo tài chính tháng 3 trước ngày 5/4.
- Hạn chót:
2025-04-04
- Tên thẻ:
- Nhấn Execute Node để kiểm tra.
📌 Kiểm tra Trello, bạn sẽ thấy thẻ công việc mới xuất hiện! 🎉
🛠️ Bước 3: Tự động tạo thẻ Trello khi có công việc mới trong Google Sheets
📌 Yêu cầu: Khi có dòng mới trong Google Sheets, n8n sẽ tự động tạo thẻ công việc trên Trello.
1. Thêm Google Sheets Node vào n8n
- Nhấn
+
, tìm Google Sheets Node. - Chọn Operation: Read Rows.
- Chọn file Google Sheets chứa danh sách công việc.
- Nhấn Execute Node để kiểm tra dữ liệu.
2. Kết nối Google Sheets với Trello
- Thêm Trello Node vào workflow.
- Chọn Operation: Create Card.
- Kết nối Google Sheets Node với Trello Node.
- Map dữ liệu từ Google Sheets vào Trello:
- Tên thẻ:
Cột Tiêu đề công việc
- Mô tả:
Cột Nội dung công việc
- Hạn chót:
Cột Deadline
- Tên thẻ:
- Nhấn Execute Workflow để kiểm tra.
📌 Khi có công việc mới trong Google Sheets, Trello sẽ tự động tạo thẻ công việc! 🚀
🛠️ Bước 4: Cập nhật trạng thái công việc khi hoàn thành
📌 Yêu cầu: Khi trạng thái công việc trong Google Sheets thay đổi thành "Hoàn thành", n8n sẽ cập nhật Trello.
1. Thêm If Node để kiểm tra trạng thái công việc
- Nhấn
+
, tìm If Node. - Chọn Condition: Text → Equal.
- Kiểm tra nếu trạng thái công việc =
"Hoàn thành"
.
2. Thêm Trello Node để cập nhật trạng thái
- Thêm Trello Node, chọn Operation: Update Card.
- Chọn Card ID (lấy từ Google Sheets Node).
- Chuyển thẻ vào danh sách
"Đã hoàn thành"
. - Nhấn Execute Workflow để kiểm tra.
📌 Khi trạng thái công việc thay đổi thành "Hoàn thành" trong Google Sheets, Trello sẽ tự động cập nhật! 🎉
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi thông báo Slack khi có nhiệm vụ quan trọng
📌 Yêu cầu:
- Khi có nhiệm vụ mới quan trọng (ví dụ: deadline dưới 3 ngày), n8n sẽ gửi thông báo qua Slack.
📌 Gợi ý:
- Sử dụng Google Sheets Node để kiểm tra hạn chót.
- Sử dụng If Node để kiểm tra nếu deadline < 3 ngày.
- Sử dụng Slack Node để gửi tin nhắn nhắc nhở.
6. Thảo luận cuối bài – Tự động hóa quản lý công việc hiệu quả hơn!
Ben: Anh Bon ơi, nếu mình muốn di chuyển thẻ Trello sang danh sách khác khi sắp đến hạn thì sao?
Bon: Dễ thôi! Mình có thể dùng If Node để kiểm tra hạn chót và tự động di chuyển thẻ!
Chuyên gia: Chính xác! Càng tự động hóa, mình càng tiết kiệm thời gian và làm việc hiệu quả hơn! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Lấy API Token và kết nối Trello với n8n.
✅ Tạo thẻ công việc mới tự động từ Google Sheets.
✅ Cập nhật trạng thái công việc tự động khi có thay đổi.
BÀI HỌC 27: KẾT NỐI N8N VỚI CLICKUP – QUẢN LÝ DỰ ÁN NÂNG CAO!
1. Hội thoại mở đầu – Quản lý dự án chuyên nghiệp với ClickUp và n8n
Ben: Anh Bon ơi, ngoài Trello, còn công cụ nào giúp quản lý công việc chuyên nghiệp hơn không?
Bon: Có ClickUp! Nó hỗ trợ nhiều tính năng hơn Trello, như theo dõi tiến độ, giao việc tự động…
Chuyên gia: Đúng vậy! Hôm nay, chúng ta sẽ học cách kết nối n8n với ClickUp để tự động hóa quản lý dự án! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Kết nối n8n với ClickUp bằng API Token.
✅ Tự động tạo nhiệm vụ mới trên ClickUp khi có công việc mới trong Google Sheets.
✅ Cập nhật trạng thái công việc khi có thay đổi từ Notion hoặc Trello.
✅ Ứng dụng thực tế: Quản lý dự án, theo dõi tiến độ, tự động nhắc nhở công việc.
3. Tại sao nên kết nối ClickUp với n8n?
🔹 Tự động hóa quy trình làm việc: Không cần nhập thủ công, mọi thứ đồng bộ.
🔹 Quản lý dự án hiệu quả: Hỗ trợ danh sách công việc, trạng thái, deadline…
🔹 Tích hợp đa nền tảng: Kết nối với Trello, Notion, Slack, Google Sheets…
📌 Ứng dụng thực tế:
- Tạo nhiệm vụ mới trên ClickUp từ Google Sheets.
- Cập nhật trạng thái nhiệm vụ tự động khi có thay đổi từ Trello.
- Gửi thông báo Slack khi nhiệm vụ sắp đến hạn.
4. Cách kết nối n8n với ClickUp – Step by Step
🛠️ Bước 1: Lấy API Token từ ClickUp
- Truy cập ClickUp API.
- Đăng nhập tài khoản ClickUp.
- Nhấn Generate API Token.
- Sao chép API Token để dùng trong n8n.
📌 Bây giờ bạn đã có API Token để kết nối ClickUp với n8n!
🛠️ Bước 2: Thêm ClickUp Node vào n8n
1. Thêm ClickUp Node vào workflow
- Mở n8n, nhấn
+
, tìm ClickUp Node. - Chọn Operation: Create Task (Tạo nhiệm vụ mới).
- Chọn phương thức xác thực: API Token.
- Dán API Token đã lấy từ ClickUp.
- Chọn Workspace, List (Danh sách công việc).
- Điền thông tin nhiệm vụ:
- Tên nhiệm vụ:
Chuẩn bị báo cáo tài chính tháng 3
- Mô tả:
Thu thập dữ liệu doanh thu, chi phí và lập báo cáo.
- Hạn chót:
2025-04-05
- Tên nhiệm vụ:
- Nhấn Execute Node để kiểm tra.
📌 Kiểm tra ClickUp, bạn sẽ thấy nhiệm vụ mới xuất hiện! 🎉
🛠️ Bước 3: Tự động tạo nhiệm vụ ClickUp khi có công việc mới trong Google Sheets
📌 Yêu cầu: Khi có dòng mới trong Google Sheets, n8n sẽ tự động tạo nhiệm vụ trên ClickUp.
1. Thêm Google Sheets Node vào n8n
- Nhấn
+
, tìm Google Sheets Node. - Chọn Operation: Read Rows.
- Chọn file Google Sheets chứa danh sách công việc.
- Nhấn Execute Node để kiểm tra dữ liệu.
2. Kết nối Google Sheets với ClickUp
- Thêm ClickUp Node vào workflow.
- Chọn Operation: Create Task.
- Kết nối Google Sheets Node với ClickUp Node.
- Map dữ liệu từ Google Sheets vào ClickUp:
- Tên nhiệm vụ:
Cột Tiêu đề công việc
- Mô tả:
Cột Nội dung công việc
- Hạn chót:
Cột Deadline
- Tên nhiệm vụ:
- Nhấn Execute Workflow để kiểm tra.
📌 Khi có công việc mới trong Google Sheets, ClickUp sẽ tự động tạo nhiệm vụ! 🚀
🛠️ Bước 4: Cập nhật trạng thái công việc khi hoàn thành
📌 Yêu cầu: Khi trạng thái công việc trong Google Sheets thay đổi thành "Hoàn thành", n8n sẽ cập nhật ClickUp.
1. Thêm If Node để kiểm tra trạng thái công việc
- Nhấn
+
, tìm If Node. - Chọn Condition: Text → Equal.
- Kiểm tra nếu trạng thái công việc =
"Hoàn thành"
.
2. Thêm ClickUp Node để cập nhật trạng thái
- Thêm ClickUp Node, chọn Operation: Update Task.
- Chọn Task ID (lấy từ Google Sheets Node).
- Cập nhật trạng thái thành
"Hoàn thành"
. - Nhấn Execute Workflow để kiểm tra.
📌 Khi trạng thái công việc thay đổi thành "Hoàn thành" trong Google Sheets, ClickUp sẽ tự động cập nhật! 🎉
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi thông báo Slack khi nhiệm vụ sắp đến hạn
📌 Yêu cầu:
- Khi có nhiệm vụ sắp đến hạn (còn 2 ngày), n8n sẽ gửi thông báo qua Slack.
📌 Gợi ý:
- Sử dụng Google Sheets Node để kiểm tra hạn chót.
- Sử dụng If Node để kiểm tra nếu deadline < 2 ngày.
- Sử dụng Slack Node để gửi tin nhắn nhắc nhở.
6. Thảo luận cuối bài – ClickUp có gì đặc biệt?
Ben: Anh Bon ơi, ClickUp khác Trello như thế nào?
Bon: ClickUp mạnh hơn, có nhiều tính năng như theo dõi tiến độ, phân quyền, tự động hóa nâng cao…
Chuyên gia: Chính xác! Nếu bạn cần quản lý dự án chuyên sâu, ClickUp là lựa chọn tuyệt vời! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Lấy API Token và kết nối ClickUp với n8n.
✅ Tạo nhiệm vụ mới tự động từ Google Sheets.
✅ Cập nhật trạng thái nhiệm vụ tự động khi có thay đổi.
BÀI HỌC 28: KẾT NỐI N8N VỚI ASANA – NÂNG CẤP QUẢN LÝ CÔNG VIỆC!
1. Hội thoại mở đầu – Sử dụng Asana để quản lý dự án hiệu quả
Ben: Anh Bon ơi, hôm trước mình học ClickUp rồi, vậy Asana có gì khác?
Bon: Asana đơn giản hơn ClickUp, nhưng vẫn rất mạnh mẽ để quản lý công việc theo nhóm!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách kết nối n8n với Asana để tự động hóa quy trình làm việc! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Kết nối n8n với Asana bằng API Key.
✅ Tự động tạo nhiệm vụ trên Asana khi có công việc mới trong Google Sheets.
✅ Cập nhật trạng thái công việc trên Asana khi có thay đổi từ Trello hoặc ClickUp.
✅ Ứng dụng thực tế: Quản lý dự án, theo dõi tiến độ, tự động nhắc nhở công việc.
3. Tại sao nên kết nối Asana với n8n?
🔹 Tự động hóa quy trình làm việc: Giảm nhập liệu thủ công, tiết kiệm thời gian.
🔹 Quản lý công việc hiệu quả: Theo dõi nhiệm vụ, thời hạn, người phụ trách.
🔹 Tích hợp với nhiều nền tảng: Google Sheets, Trello, ClickUp, Slack…
📌 Ứng dụng thực tế:
- Tạo nhiệm vụ mới trên Asana từ Google Sheets.
- Cập nhật trạng thái công việc khi có thay đổi từ ClickUp hoặc Trello.
- Gửi thông báo Slack khi nhiệm vụ sắp đến hạn.
4. Cách kết nối n8n với Asana – Step by Step
🛠️ Bước 1: Lấy API Key từ Asana
- Truy cập Asana Developer Console.
- Đăng nhập tài khoản Asana.
- Nhấn Create New Personal Access Token.
- Điền tên mô tả, nhấn Create Token.
- Sao chép API Key để dùng trong n8n.
📌 Bây giờ bạn đã có API Key để kết nối Asana với n8n!
🛠️ Bước 2: Thêm Asana Node vào n8n
1. Thêm Asana Node vào workflow
- Mở n8n, nhấn
+
, tìm Asana Node. - Chọn Operation: Create Task (Tạo nhiệm vụ mới).
- Chọn phương thức xác thực: API Key.
- Dán API Key đã lấy từ Asana.
- Chọn Workspace, Project (Dự án cần tạo nhiệm vụ).
- Điền thông tin nhiệm vụ:
- Tên nhiệm vụ:
Chuẩn bị báo cáo tháng 3
- Mô tả:
Thu thập dữ liệu doanh thu, chi phí.
- Người phụ trách:
Chọn từ danh sách
- Hạn chót:
2025-04-05
- Tên nhiệm vụ:
- Nhấn Execute Node để kiểm tra.
📌 Kiểm tra Asana, bạn sẽ thấy nhiệm vụ mới xuất hiện! 🎉
🛠️ Bước 3: Tự động tạo nhiệm vụ Asana khi có công việc mới trong Google Sheets
📌 Yêu cầu: Khi có dòng mới trong Google Sheets, n8n sẽ tự động tạo nhiệm vụ trên Asana.
1. Thêm Google Sheets Node vào n8n
- Nhấn
+
, tìm Google Sheets Node. - Chọn Operation: Read Rows.
- Chọn file Google Sheets chứa danh sách công việc.
- Nhấn Execute Node để kiểm tra dữ liệu.
2. Kết nối Google Sheets với Asana
- Thêm Asana Node vào workflow.
- Chọn Operation: Create Task.
- Kết nối Google Sheets Node với Asana Node.
- Map dữ liệu từ Google Sheets vào Asana:
- Tên nhiệm vụ:
Cột Tiêu đề công việc
- Mô tả:
Cột Nội dung công việc
- Người phụ trách:
Cột Người phụ trách
- Hạn chót:
Cột Deadline
- Tên nhiệm vụ:
- Nhấn Execute Workflow để kiểm tra.
📌 Khi có công việc mới trong Google Sheets, Asana sẽ tự động tạo nhiệm vụ! 🚀
🛠️ Bước 4: Cập nhật trạng thái công việc khi hoàn thành
📌 Yêu cầu: Khi trạng thái công việc trong Google Sheets thay đổi thành "Hoàn thành", n8n sẽ cập nhật Asana.
1. Thêm If Node để kiểm tra trạng thái công việc
- Nhấn
+
, tìm If Node. - Chọn Condition: Text → Equal.
- Kiểm tra nếu trạng thái công việc =
"Hoàn thành"
.
2. Thêm Asana Node để cập nhật trạng thái
- Thêm Asana Node, chọn Operation: Update Task.
- Chọn Task ID (lấy từ Google Sheets Node).
- Cập nhật trạng thái thành
"Hoàn thành"
. - Nhấn Execute Workflow để kiểm tra.
📌 Khi trạng thái công việc thay đổi thành "Hoàn thành" trong Google Sheets, Asana sẽ tự động cập nhật! 🎉
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi thông báo Slack khi nhiệm vụ sắp đến hạn
📌 Yêu cầu:
- Khi có nhiệm vụ sắp đến hạn (còn 2 ngày), n8n sẽ gửi thông báo qua Slack.
📌 Gợi ý:
- Sử dụng Google Sheets Node để kiểm tra hạn chót.
- Sử dụng If Node để kiểm tra nếu deadline < 2 ngày.
- Sử dụng Slack Node để gửi tin nhắn nhắc nhở.
6. Thảo luận cuối bài – So sánh Asana với các công cụ khác
Ben: Anh Bon ơi, Asana khác ClickUp và Trello như thế nào?
Bon: Asana dễ dùng hơn ClickUp nhưng mạnh hơn Trello, đặc biệt là khi làm việc nhóm!
Chuyên gia: Đúng vậy! Nếu bạn muốn quản lý công việc đơn giản nhưng hiệu quả, Asana là lựa chọn tuyệt vời! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Lấy API Key và kết nối Asana với n8n.
✅ Tạo nhiệm vụ mới tự động từ Google Sheets.
✅ Cập nhật trạng thái nhiệm vụ tự động khi có thay đổi.
BÀI HỌC 29: KẾT NỐI n8n VỚI MONDAY.COM – QUẢN LÝ CÔNG VIỆC TỐI ƯU!
1. Hội thoại mở đầu – Tại sao chọn Monday.com?
Ben: Anh Bon ơi, mình đã học về Trello, ClickUp, Asana rồi, Monday.com có gì đặc biệt vậy?
Bon: Monday.com là một nền tảng quản lý công việc mạnh mẽ, cho phép tùy chỉnh workflow linh hoạt hơn so với Trello và Asana!
Chuyên gia: Đúng vậy! Hôm nay, chúng ta sẽ học cách kết nối Monday.com với n8n để tự động hóa các công việc hàng ngày! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Kết nối n8n với Monday.com bằng API Key.
✅ Tự động tạo nhiệm vụ trên Monday.com từ Google Sheets.
✅ Cập nhật trạng thái nhiệm vụ khi có thay đổi từ Trello hoặc ClickUp.
✅ Ứng dụng thực tế: Quản lý công việc nhóm, theo dõi tiến độ, tự động nhắc nhở công việc.
3. Tại sao nên kết nối Monday.com với n8n?
🔹 Tự động hóa quy trình làm việc: Giảm nhập liệu thủ công, tiết kiệm thời gian.
🔹 Quản lý công việc hiệu quả: Theo dõi nhiệm vụ, thời hạn, người phụ trách.
🔹 Tích hợp với nhiều nền tảng: Google Sheets, Trello, ClickUp, Slack…
📌 Ứng dụng thực tế:
- Tạo nhiệm vụ mới trên Monday.com từ Google Sheets.
- Cập nhật trạng thái công việc khi có thay đổi từ Trello.
- Gửi thông báo Slack khi nhiệm vụ sắp đến hạn.
4. Cách kết nối n8n với Monday.com – Step by Step
🛠️ Bước 1: Lấy API Key từ Monday.com
- Truy cập Monday.com Developer Console.
- Đăng nhập tài khoản Monday.com.
- Vào Profile > Admin > API.
- Sao chép API Key để dùng trong n8n.
📌 API Key này sẽ giúp n8n kết nối với Monday.com!
🛠️ Bước 2: Thêm Monday.com Node vào n8n
1. Thêm Monday.com Node vào workflow
- Mở n8n, nhấn
+
, tìm Monday.com Node. - Chọn Operation: Create Item (Tạo nhiệm vụ mới).
- Chọn phương thức xác thực: API Key.
- Dán API Key đã lấy từ Monday.com.
- Chọn Board ID, Group ID (bảng và nhóm chứa nhiệm vụ).
- Điền thông tin nhiệm vụ:
- Tên nhiệm vụ:
Viết báo cáo dự án X
- Mô tả:
Tóm tắt tiến độ dự án, gửi email tổng kết.
- Người phụ trách:
Chọn từ danh sách
- Hạn chót:
2025-04-10
- Tên nhiệm vụ:
- Nhấn Execute Node để kiểm tra.
📌 Kiểm tra Monday.com, bạn sẽ thấy nhiệm vụ mới xuất hiện! 🎉
🛠️ Bước 3: Tự động tạo nhiệm vụ Monday.com khi có công việc mới trong Google Sheets
📌 Yêu cầu: Khi có dòng mới trong Google Sheets, n8n sẽ tự động tạo nhiệm vụ trên Monday.com.
1. Thêm Google Sheets Node vào n8n
- Nhấn
+
, tìm Google Sheets Node. - Chọn Operation: Read Rows.
- Chọn file Google Sheets chứa danh sách công việc.
- Nhấn Execute Node để kiểm tra dữ liệu.
2. Kết nối Google Sheets với Monday.com
- Thêm Monday.com Node vào workflow.
- Chọn Operation: Create Item.
- Kết nối Google Sheets Node với Monday.com Node.
- Map dữ liệu từ Google Sheets vào Monday.com:
- Tên nhiệm vụ:
Cột Tiêu đề công việc
- Mô tả:
Cột Nội dung công việc
- Người phụ trách:
Cột Người phụ trách
- Hạn chót:
Cột Deadline
- Tên nhiệm vụ:
- Nhấn Execute Workflow để kiểm tra.
📌 Khi có công việc mới trong Google Sheets, Monday.com sẽ tự động tạo nhiệm vụ! 🚀
🛠️ Bước 4: Cập nhật trạng thái công việc khi hoàn thành
📌 Yêu cầu: Khi trạng thái công việc trong Google Sheets thay đổi thành "Hoàn thành", n8n sẽ cập nhật Monday.com.
1. Thêm If Node để kiểm tra trạng thái công việc
- Nhấn
+
, tìm If Node. - Chọn Condition: Text → Equal.
- Kiểm tra nếu trạng thái công việc =
"Hoàn thành"
.
2. Thêm Monday.com Node để cập nhật trạng thái
- Thêm Monday.com Node, chọn Operation: Change Column Value.
- Chọn Item ID (lấy từ Google Sheets Node).
- Cập nhật trạng thái thành
"Hoàn thành"
. - Nhấn Execute Workflow để kiểm tra.
📌 Khi trạng thái công việc thay đổi thành "Hoàn thành" trong Google Sheets, Monday.com sẽ tự động cập nhật! 🎉
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi thông báo Slack khi nhiệm vụ sắp đến hạn
📌 Yêu cầu:
- Khi có nhiệm vụ sắp đến hạn (còn 2 ngày), n8n sẽ gửi thông báo qua Slack.
📌 Gợi ý:
- Sử dụng Google Sheets Node để kiểm tra hạn chót.
- Sử dụng If Node để kiểm tra nếu deadline < 2 ngày.
- Sử dụng Slack Node để gửi tin nhắn nhắc nhở.
6. Thảo luận cuối bài – So sánh Monday.com với các công cụ khác
Ben: Anh Bon ơi, Monday.com khác gì Trello, ClickUp và Asana?
Bon: Monday.com mạnh mẽ như ClickUp nhưng dễ dùng hơn, lại trực quan với các bảng theo dõi!
Chuyên gia: Đúng vậy! Nếu bạn muốn một công cụ dễ tùy chỉnh, Monday.com là lựa chọn tuyệt vời! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Lấy API Key và kết nối Monday.com với n8n.
✅ Tạo nhiệm vụ mới tự động từ Google Sheets.
✅ Cập nhật trạng thái nhiệm vụ tự động khi có thay đổi.
BÀI HỌC 30: KẾT NỐI n8n VỚI SALESFORCE – TỰ ĐỘNG HÓA QUY TRÌNH BÁN HÀNG!
1. Hội thoại mở đầu – Salesforce có gì đặc biệt?
Ben: Anh Bon ơi, Salesforce là gì mà nhiều công ty lớn dùng vậy?
Bon: Salesforce là một nền tảng quản lý quan hệ khách hàng (CRM) giúp doanh nghiệp theo dõi khách hàng, tự động hóa quy trình bán hàng và chăm sóc khách hàng hiệu quả!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách kết nối n8n với Salesforce để tự động hóa quy trình bán hàng! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết cách:
✅ Kết nối n8n với Salesforce bằng OAuth2.
✅ Tự động tạo khách hàng tiềm năng (Lead) trong Salesforce từ Google Forms.
✅ Tự động cập nhật trạng thái giao dịch khi khách hàng mua hàng.
✅ Ứng dụng thực tế: Quản lý khách hàng, theo dõi cơ hội bán hàng, tự động gửi email chăm sóc khách hàng.
3. Tại sao nên kết nối Salesforce với n8n?
🔹 Tự động hóa quy trình bán hàng: Không bỏ sót khách hàng tiềm năng.
🔹 Tiết kiệm thời gian: Giảm nhập liệu thủ công, tập trung vào chăm sóc khách hàng.
🔹 Tích hợp với nhiều nền tảng: Google Forms, Email, Slack, Zapier, Trello…
📌 Ứng dụng thực tế:
- Tự động lưu khách hàng tiềm năng từ Google Forms vào Salesforce.
- Cập nhật trạng thái giao dịch khi khách hàng thanh toán.
- Gửi email chăm sóc khách hàng tự động.
4. Cách kết nối n8n với Salesforce – Step by Step
🛠️ Bước 1: Lấy thông tin API từ Salesforce
- Đăng nhập vào Salesforce Developer Console.
- Vào Setup > App Manager > New Connected App.
- Nhập thông tin App:
- Tên App:
n8n Integration
- Email liên hệ:
your-email@example.com
- Enable OAuth Settings: ✅
- Callback URL:
https://n8n.io/oauth2/callback
- Chọn quyền:
Full access (full)
,Perform requests on your behalf at any time (refresh_token, offline_access)
- Tên App:
- Nhấn Save và chờ vài phút để API Key được kích hoạt.
- Sao chép Consumer Key và Consumer Secret để sử dụng trong n8n.
📌 Consumer Key và Secret giúp n8n kết nối với Salesforce!
🛠️ Bước 2: Thêm Salesforce Node vào n8n
1. Thêm Salesforce Node vào workflow
- Mở n8n, nhấn
+
, tìm Salesforce Node. - Chọn Operation: Create Record (Tạo khách hàng mới).
- Chọn phương thức xác thực: OAuth2.
- Nhập Consumer Key và Consumer Secret đã lấy từ Salesforce.
- Kết nối tài khoản Salesforce với n8n.
- Chọn Object Type: Lead (Khách hàng tiềm năng).
- Điền thông tin khách hàng:
- Tên:
Nguyễn Văn A
- Email:
a.nguyen@example.com
- Số điện thoại:
+84 123 456 789
- Công ty:
ABC Corp
- Tên:
- Nhấn Execute Node để kiểm tra.
📌 Kiểm tra Salesforce, bạn sẽ thấy khách hàng mới xuất hiện! 🎉
🛠️ Bước 3: Tự động tạo Lead từ Google Forms
📌 Yêu cầu: Khi khách hàng điền thông tin vào Google Forms, n8n sẽ tự động tạo Lead trong Salesforce.
1. Thêm Google Sheets Node vào n8n
- Nhấn
+
, tìm Google Sheets Node. - Chọn Operation: Read Rows.
- Chọn file Google Sheets chứa thông tin khách hàng.
- Nhấn Execute Node để kiểm tra dữ liệu.
2. Kết nối Google Sheets với Salesforce
- Thêm Salesforce Node vào workflow.
- Chọn Operation: Create Record.
- Kết nối Google Sheets Node với Salesforce Node.
- Map dữ liệu từ Google Sheets vào Salesforce:
- Tên khách hàng:
Cột Họ và Tên
- Email:
Cột Email
- Số điện thoại:
Cột Số điện thoại
- Công ty:
Cột Công ty
- Tên khách hàng:
- Nhấn Execute Workflow để kiểm tra.
📌 Khi có khách hàng mới điền Google Forms, Salesforce sẽ tự động tạo Lead! 🚀
🛠️ Bước 4: Cập nhật trạng thái giao dịch khi khách hàng mua hàng
📌 Yêu cầu: Khi trạng thái đơn hàng trong Google Sheets thay đổi thành "Đã thanh toán", n8n sẽ cập nhật Salesforce.
1. Thêm If Node để kiểm tra trạng thái đơn hàng
- Nhấn
+
, tìm If Node. - Chọn Condition: Text → Equal.
- Kiểm tra nếu trạng thái đơn hàng =
"Đã thanh toán"
.
2. Thêm Salesforce Node để cập nhật trạng thái giao dịch
- Thêm Salesforce Node, chọn Operation: Update Record.
- Chọn Object Type: Opportunity (Giao dịch).
- Chọn Opportunity ID (lấy từ Google Sheets Node).
- Cập nhật trạng thái thành
"Closed Won"
(Đã hoàn thành). - Nhấn Execute Workflow để kiểm tra.
📌 Khi khách hàng thanh toán, trạng thái giao dịch trên Salesforce sẽ tự động cập nhật! 🎉
5. Bài tập thực hành mở rộng
📌 Bài tập 1: Gửi email tự động khi có khách hàng mới
📌 Yêu cầu:
- Khi có Lead mới trên Salesforce, n8n sẽ tự động gửi email chào mừng qua Gmail.
📌 Gợi ý:
- Sử dụng Salesforce Trigger Node để theo dõi khách hàng mới.
- Sử dụng Gmail Node để gửi email tự động.
6. Thảo luận cuối bài – So sánh Salesforce với các công cụ khác
Ben: Anh Bon ơi, Salesforce khác gì Trello, ClickUp hay Monday.com?
Bon: Salesforce là CRM (Quản lý khách hàng), còn các công cụ kia là quản lý công việc! Salesforce giúp theo dõi khách hàng và bán hàng hiệu quả hơn!
Chuyên gia: Chính xác! Nếu bạn muốn tối ưu quy trình bán hàng, Salesforce là lựa chọn hàng đầu! 🚀
7. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Lấy API Key và kết nối Salesforce với n8n.
✅ Tạo Lead tự động từ Google Forms.
✅ Cập nhật trạng thái giao dịch khi khách hàng thanh toán.
BÀI HỌC 31: BIẾN VÀ THAM SỐ TRONG n8n – CÁCH LƯU TRỮ VÀ SỬ DỤNG DỮ LIỆU
1. Hội thoại mở đầu – Dữ liệu trong n8n có quan trọng không?
Ben: Anh Bon ơi, em thấy n8n có rất nhiều dữ liệu chạy qua các node, nhưng làm sao để lưu trữ và sử dụng lại chúng?
Bon: Hay đấy! Trong lập trình, chúng ta sử dụng biến và tham số để lưu trữ dữ liệu. n8n cũng có cách riêng để xử lý chúng!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách sử dụng biến và tham số trong n8n để xử lý dữ liệu thông minh hơn! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết:
✅ Biến trong n8n là gì và cách sử dụng chúng.
✅ Các loại tham số trong n8n: workflow, node, system…
✅ Cách sử dụng biến để xử lý dữ liệu trong workflow.
✅ Thực hành: Tạo workflow tự động lưu và sử dụng biến để gửi email thông minh.
3. Tại sao cần sử dụng biến và tham số trong n8n?
🔹 Lưu trữ thông tin tạm thời giữa các node.
🔹 Tái sử dụng dữ liệu mà không cần nhập lại.
🔹 Giúp workflow linh hoạt, giảm lỗi nhập tay.
📌 Ví dụ thực tế:
-
Lưu email khách hàng từ Google Sheets để gửi thông báo sau.
-
Lưu trạng thái đơn hàng để kiểm tra trước khi gửi email xác nhận.
-
Lưu API key để sử dụng trong nhiều node mà không nhập lại.
4. Các loại biến và tham số trong n8n
🟢 1. Biến trong Function Node
-
Biến trong Function Node được tạo bằng JavaScript.
-
Dùng để lưu trữ tạm thời và xử lý dữ liệu.
📌 Ví dụ:
let name = "Nguyễn Văn A";
let email = "a.nguyen@example.com";
return [{ name, email }];
🎯 Khi chạy node này, biến name
và email
có thể được dùng ở node tiếp theo!
🟢 2. Tham số trong n8n
📌 Tham số giúp lấy dữ liệu từ hệ thống n8n mà không cần nhập tay.
1️⃣ Workflow Parameters ($workflow
):
-
Lấy thông tin về workflow đang chạy.
-
Ví dụ:
$workflow.id
– lấy ID của workflow.
2️⃣ Node Parameters ($node
):
-
Lấy dữ liệu từ node trước đó.
-
Ví dụ:
$node["Webhook"].json["email"]
– lấy email từ Webhook Node.
3️⃣ System Parameters ($system
):
-
Lấy thông tin hệ thống n8n.
-
Ví dụ:
$system.environment
– lấy môi trường đang chạy (cloud hay local).
📌 Ví dụ dùng tham số để lấy email khách hàng:
return [{ email: $node["Google Sheets"].json["email"] }];
🎯 Email lấy từ Google Sheets Node có thể dùng trong Gmail Node để gửi mail!
5. Thực hành: Tạo workflow gửi email tự động bằng biến và tham số
📌 Yêu cầu:
-
Khi có khách hàng mới trong Google Sheets, n8n sẽ lưu email vào biến và gửi email tự động qua Gmail.
🛠️ Bước 1: Đọc dữ liệu từ Google Sheets
-
Thêm Google Sheets Node vào workflow.
-
Chọn Operation: Read Rows.
-
Chọn file Google Sheets có danh sách khách hàng.
-
Nhấn Execute Node để kiểm tra dữ liệu.
🛠️ Bước 2: Lưu email vào biến trong Function Node
-
Thêm Function Node vào workflow.
-
Nhập code sau để lấy email từ Google Sheets:
let email = $node["Google Sheets"].json["email"];
return [{ email }];
-
Nhấn Execute Node để kiểm tra biến email.
🛠️ Bước 3: Gửi email tự động với Gmail Node
-
Thêm Gmail Node vào workflow.
-
Chọn Operation: Send Email.
-
Ở phần To, nhập biến email:
{{$node["Function"].json["email"]}}
-
Nhập nội dung email chào mừng khách hàng.
-
Nhấn Execute Node để gửi email.
📌 Khi có khách hàng mới, email chào mừng sẽ được gửi tự động! 🚀
6. Bài tập thực hành mở rộng
📌 Bài tập 1: Lưu trạng thái đơn hàng vào biến
📌 Yêu cầu:
-
Khi đơn hàng mới xuất hiện trong Google Sheets, lưu trạng thái vào biến và kiểm tra nếu đã thanh toán thì gửi email xác nhận.
📌 Gợi ý:
-
Dùng Function Node để lưu trạng thái đơn hàng.
-
Dùng If Node để kiểm tra nếu trạng thái là
"Đã thanh toán"
. -
Dùng Gmail Node để gửi email xác nhận.
7. Thảo luận cuối bài – Khi nào nên dùng biến, khi nào nên dùng tham số?
Ben: Anh Bon ơi, em nên dùng biến hay tham số trong n8n?
Bon: Nếu cần lưu dữ liệu tạm thời trong một workflow, dùng biến. Nếu cần lấy dữ liệu từ các node khác, dùng tham số!
Chuyên gia: Đúng vậy! Nếu bạn nắm vững biến và tham số, workflow của bạn sẽ mạnh mẽ hơn rất nhiều! 🚀
8. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Hiểu về biến và tham số trong n8n.
✅ Cách dùng biến trong Function Node để lưu dữ liệu.
✅ Cách dùng tham số để lấy dữ liệu từ các node khác.
✅ Thực hành tạo workflow gửi email tự động bằng biến và tham số.
BÀI HỌC 32: XỬ LÝ DỮ LIỆU JSON TRONG n8n – LÀM CHỦ DỮ LIỆU NÂNG CAO
1. Hội thoại mở đầu – JSON là gì?
Ben: Anh Bon ơi, hôm trước mình học về biến và tham số rồi, nhưng dữ liệu trong n8n toàn có dấu {}
và []
nhìn lạ quá!
Bon: Đó là JSON, một định dạng dữ liệu rất phổ biến. Nếu em hiểu JSON, em có thể làm mọi thứ với n8n!
Chuyên gia: Chính xác! JSON là "ngôn ngữ" mà n8n dùng để lưu trữ và truyền dữ liệu giữa các node. Hôm nay, chúng ta sẽ học cách xử lý JSON một cách chuyên nghiệp! 🚀
2. Mục tiêu bài học
📌 Sau bài này, bạn sẽ biết:
✅ JSON là gì và tại sao n8n sử dụng JSON.
✅ Cách đọc, chỉnh sửa và trích xuất dữ liệu JSON trong n8n.
✅ Dùng Function Node để xử lý dữ liệu JSON nâng cao.
✅ Thực hành: Lọc danh sách khách hàng từ API và gửi email tự động.
3. JSON là gì và tại sao n8n sử dụng JSON?
🔹 JSON (JavaScript Object Notation) là một định dạng dữ liệu phổ biến, có cấu trúc đơn giản và dễ đọc.
📌 Ví dụ về JSON:
{
"name": "Nguyễn Văn A",
"email": "a.nguyen@example.com",
"orders": [
{"id": 1, "total": 100000},
{"id": 2, "total": 250000}
]
}
📌 JSON có 2 loại dữ liệu chính:
-
Đối tượng (Object)
{}
: Chứa các cặpkey: value
. -
Mảng (Array)
[]
: Chứa danh sách dữ liệu.
🎯 Trong n8n, mọi node đều trả về dữ liệu ở dạng JSON!
4. Cách đọc và chỉnh sửa JSON trong n8n
🟢 1. Đọc dữ liệu JSON từ một node khác
📌 Ví dụ: Nếu Webhook Node
nhận được dữ liệu sau:
{
"name": "Trần Thị B",
"email": "b.tran@example.com"
}
📌 Cách truy cập dữ liệu từ node trong n8n:
{{$node["Webhook"].json["name"]}} -> "Trần Thị B"
{{$node["Webhook"].json["email"]}} -> "b.tran@example.com"
🟢 2. Dùng Set Node để chỉnh sửa JSON
📌 Thay đổi hoặc tạo dữ liệu mới từ JSON.
🛠 Thực hành:
-
Thêm Set Node vào workflow.
-
Thêm trường mới:
-
Name:
"fullName"
, Value:{{$node["Webhook"].json["name"]}}
-
Status:
"Active"
-
-
Nhấn Execute Node để xem kết quả JSON mới!
📌 Dữ liệu sau khi chỉnh sửa:
{
"fullName": "Trần Thị B",
"Status": "Active"
}
🟢 3. Dùng Function Node để xử lý JSON nâng cao
📌 Lọc danh sách khách hàng có tổng đơn hàng > 200,000 VND.
🛠 Thực hành:
-
Thêm Function Node vào workflow.
-
Nhập đoạn code sau để lọc dữ liệu JSON:
let customers = $node["Webhook"].json["orders"];
let vipCustomers = customers.filter(order => order.total > 200000);
return vipCustomers;
-
Nhấn Execute Node để xem danh sách khách VIP.
📌 Kết quả JSON:
[
{"id": 2, "total": 250000}
]
🎯 Chúng ta vừa trích xuất dữ liệu có điều kiện bằng JSON!
5. Thực hành: Lọc khách hàng từ API và gửi email tự động
📌 Yêu cầu:
-
Lấy danh sách khách hàng từ API.
-
Lọc những khách có tổng đơn hàng trên 200,000 VND.
-
Gửi email thông báo cho khách hàng VIP.
🛠️ Bước 1: Lấy dữ liệu từ API bằng HTTP Request Node
-
Thêm HTTP Request Node vào workflow.
-
Chọn Operation: GET.
-
Nhập URL API giả định:
https://api.example.com/customers
-
Nhấn Execute Node để lấy danh sách khách hàng (JSON).
📌 Dữ liệu mẫu từ API:
[
{"name": "Nguyễn Văn A", "email": "a.nguyen@example.com", "total": 150000},
{"name": "Trần Thị B", "email": "b.tran@example.com", "total": 250000}
]
🛠️ Bước 2: Lọc khách VIP bằng Function Node
-
Thêm Function Node vào workflow.
-
Nhập code sau để lọc khách có tổng đơn hàng trên 200,000 VND:
let customers = $node["HTTP Request"].json;
let vipCustomers = customers.filter(customer => customer.total > 200000);
return vipCustomers;
-
Nhấn Execute Node để kiểm tra danh sách VIP.
📌 Dữ liệu lọc xong:
[
{"name": "Trần Thị B", "email": "b.tran@example.com", "total": 250000}
]
🛠️ Bước 3: Gửi email tự động với Gmail Node
-
Thêm Gmail Node vào workflow.
-
Chọn Operation: Send Email.
-
Ở mục To, nhập:
{{$json["email"]}}
-
Nhập nội dung email chúc mừng khách hàng VIP.
-
Nhấn Execute Node để gửi email.
📌 Email sẽ được gửi đến tất cả khách VIP trong danh sách! 🚀
6. Bài tập thực hành mở rộng
📌 Bài tập 1: Chuyển đổi JSON thành bảng dữ liệu
📌 Yêu cầu:
-
Lấy dữ liệu từ API về danh sách sản phẩm.
-
Chuyển JSON thành bảng trong Google Sheets.
-
Gửi email khi có sản phẩm mới.
📌 Gợi ý:
-
Dùng HTTP Request Node để lấy dữ liệu.
-
Dùng Set Node để định dạng dữ liệu.
-
Dùng Google Sheets Node để lưu dữ liệu.
-
Dùng Gmail Node để thông báo sản phẩm mới.
7. Thảo luận cuối bài – JSON có thực sự quan trọng?
Ben: Anh Bon ơi, JSON có vẻ quan trọng quá nhỉ?
Bon: Đúng vậy! JSON giúp n8n giao tiếp với API, lưu trữ dữ liệu, và xử lý thông tin một cách linh hoạt!
Chuyên gia: Ai nắm vững JSON sẽ làm chủ được n8n! Bạn đã sẵn sàng chưa? 🚀
8. Kết luận
📌 Tóm tắt nội dung bài học:
✅ Hiểu JSON và cách n8n sử dụng JSON.
✅ Cách đọc, chỉnh sửa, và trích xuất dữ liệu JSON.
✅ Dùng Function Node để xử lý JSON nâng cao.
✅ Thực hành tạo workflow tự động xử lý khách hàng VIP.
BÀI HỌC 33: XỬ LÝ DỮ LIỆU VỚI LOOPING (LẶP) TRONG n8n
1. Hội thoại mở đầu – Tại sao cần vòng lặp trong n8n?
Ben: Anh Bon ơi, hôm trước em thấy workflow của mình chạy rất hay, nhưng có lúc nó chỉ xử lý được một mục mà không chạy hết danh sách. Mình có thể làm gì để xử lý tất cả các mục tự động không?
Bon: Đó chính là lúc chúng ta cần Looping (vòng lặp)! Nếu có 100 đơn hàng, thay vì xử lý từng cái một cách thủ công, ta có thể dùng vòng lặp để tự động xử lý tất cả!
Chuyên gia: Đúng vậy! Hôm nay, chúng ta sẽ học cách tạo vòng lặp trong n8n để tự động hóa quy trình làm việc một cách thông minh! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Vòng lặp (Loop) là gì và tại sao nó quan trọng trong n8n.
✅ Cách sử dụng Loop trong n8n với các node như Split In Batches, Function Node.
✅ Cách chạy vòng lặp bằng While Loop và Do-While Loop trong n8n.
✅ Thực hành: Tự động gửi email cho tất cả khách hàng trong danh sách.
3. Vòng lặp (Loop) là gì?
🔹 Vòng lặp là một kỹ thuật giúp chạy một tác vụ nhiều lần cho từng phần tử trong danh sách dữ liệu.
📌 Ví dụ: Nếu bạn có danh sách 10 khách hàng, vòng lặp sẽ giúp bạn gửi email cho từng người mà không cần lặp lại thao tác thủ công.
📌 Các loại vòng lặp trong n8n:
-
For Loop → Chạy với số lần cố định.
-
While Loop → Chạy khi một điều kiện còn đúng.
-
Split In Batches → Chạy từng nhóm dữ liệu.
-
Function Node → Viết vòng lặp bằng JavaScript.
4. Cách tạo vòng lặp trong n8n
🟢 1. Sử dụng Split In Batches Node (Chia nhỏ dữ liệu)
📌 Tình huống: Bạn có danh sách 100 khách hàng và muốn xử lý 10 khách mỗi lần để tránh quá tải hệ thống.
🛠 Thực hành:
-
Thêm Webhook Node để nhận danh sách khách hàng từ API.
-
Thêm Split In Batches Node và đặt:
-
Batch Size:
10
(Mỗi lần xử lý 10 khách).
-
-
Thêm Gmail Node để gửi email cho từng khách hàng.
-
Kết nối Split In Batches Node → Gmail Node → Split In Batches Node (Tạo vòng lặp).
-
Nhấn Execute Workflow để xem email gửi tự động từng nhóm 10 khách hàng.
📌 Lợi ích:
✅ Giúp chia nhỏ dữ liệu để tránh quá tải.
✅ Đảm bảo hệ thống hoạt động mượt mà.
🟢 2. Sử dụng Function Node để tạo vòng lặp (For Loop)
📌 Tình huống: Bạn có danh sách sản phẩm và muốn tính tổng giá trị của tất cả sản phẩm.
🛠 Thực hành:
-
Thêm Function Node vào workflow.
-
Nhập đoạn mã sau để tính tổng giá trị sản phẩm:
let products = [
{ "name": "Laptop", "price": 15000000 },
{ "name": "Chuột", "price": 500000 },
{ "name": "Bàn phím", "price": 800000 }
];
let total = 0;
for (let i = 0; i < products.length; i++) {
total += products[i].price;
}
return [{ "Total Price": total }];
-
Nhấn Execute Node để kiểm tra tổng giá trị sản phẩm.
📌 Lợi ích:
✅ Tự động tính toán mà không cần nhập tay.
✅ Xử lý nhiều phần tử chỉ với vài dòng code.
🟢 3. Sử dụng While Loop trong Function Node
📌 Tình huống: Bạn muốn tạo vòng lặp chạy đến khi tổng đơn hàng đạt 1 triệu đồng.
🛠 Thực hành:
-
Thêm Function Node vào workflow.
-
Nhập đoạn mã sau để lặp qua các đơn hàng:
let orders = [
{ "id": 1, "total": 100000 },
{ "id": 2, "total": 250000 },
{ "id": 3, "total": 400000 },
{ "id": 4, "total": 300000 }
];
let total = 0;
let index = 0;
let processedOrders = [];
while (total < 1000000 && index < orders.length) {
total += orders[index].total;
processedOrders.push(orders[index]);
index++;
}
return processedOrders;
-
Nhấn Execute Node để kiểm tra danh sách đơn hàng đã xử lý.
📌 Lợi ích:
✅ Giúp dừng vòng lặp khi đạt điều kiện mong muốn.
✅ Kiểm soát dữ liệu linh hoạt hơn so với For Loop.
5. Thực hành: Gửi email cho tất cả khách hàng trong danh sách
📌 Yêu cầu:
-
Lấy danh sách khách hàng từ Google Sheets.
-
Dùng vòng lặp để gửi email cho từng khách hàng.
🛠️ Bước 1: Lấy dữ liệu từ Google Sheets
-
Thêm Google Sheets Node vào workflow.
-
Chọn Operation: Get Rows để lấy danh sách khách hàng.
-
Nhấn Execute Node để kiểm tra danh sách.
📌 Dữ liệu mẫu:
[
{ "name": "Nguyễn Văn A", "email": "a.nguyen@example.com" },
{ "name": "Trần Thị B", "email": "b.tran@example.com" }
]
🛠️ Bước 2: Dùng Loop để gửi email từng khách hàng
-
Thêm Function Node vào workflow.
-
Nhập đoạn mã sau để lặp qua danh sách khách hàng:
let customers = $node["Google Sheets"].json;
let emails = [];
for (let i = 0; i < customers.length; i++) {
emails.push({
"email": customers[i].email,
"name": customers[i].name
});
}
return emails;
🛠️ Bước 3: Gửi email bằng Gmail Node
-
Thêm Gmail Node vào workflow.
-
Chọn Operation: Send Email.
-
Trong mục To, nhập:
{{$json["email"]}}
-
Nhập nội dung email chào mừng khách hàng.
-
Nhấn Execute Node để gửi email tự động cho tất cả khách hàng.
📌 Lợi ích:
✅ Gửi email hàng loạt mà không cần thao tác thủ công.
✅ Tối ưu quy trình marketing tự động.
6. Bài tập thực hành mở rộng
📌 Bài tập:
-
Tạo workflow tự động kiểm tra tồn kho sản phẩm.
-
Nếu sản phẩm nào sắp hết hàng (dưới 10 cái), gửi thông báo đến email quản lý.
📌 Gợi ý:
-
Dùng Google Sheets Node để lấy danh sách sản phẩm.
-
Dùng Function Node để lọc sản phẩm dưới 10 cái.
-
Dùng Gmail Node để gửi email thông báo.
7. Kết luận
📌 Tóm tắt bài học:
✅ Looping giúp tự động xử lý danh sách dữ liệu.
✅ Có thể dùng Split In Batches, Function Node, While Loop.
✅ Ứng dụng vào việc gửi email, kiểm tra dữ liệu, tính toán tự động.
BÀI HỌC 34: TẠO VÀ SỬ DỤNG CUSTOM FUNCTIONS TRONG n8n
1. Hội thoại mở đầu – Tại sao cần Custom Functions?
Ben: Anh Bon ơi, hôm trước em dùng Function Node để xử lý dữ liệu, nhưng có mấy đoạn code em cứ phải viết đi viết lại hoài. Có cách nào giúp mình tái sử dụng code không?
Bon: Tất nhiên là có! Chúng ta có thể tạo Custom Functions – các hàm JavaScript có thể dùng lại nhiều lần trong n8n!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách viết và sử dụng Custom Functions để giúp workflow của mình chuyên nghiệp hơn! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Custom Function là gì và lợi ích của nó trong n8n.
✅ Cách viết Custom Functions trong Function Node.
✅ Cách tạo và sử dụng Custom Functions trong nhiều workflow.
✅ Thực hành: Tạo hàm kiểm tra email hợp lệ và tái sử dụng.
3. Custom Function là gì?
🔹 Custom Function (hàm tùy chỉnh) là một đoạn code JavaScript có thể được tái sử dụng trong nhiều workflow của n8n.
📌 Tại sao cần Custom Functions?
✅ Giảm lặp lại code – Viết một lần, dùng nhiều lần.
✅ Dễ bảo trì – Nếu cần sửa, chỉ sửa một chỗ.
✅ Giúp workflow gọn gàng hơn – Không cần viết lại logic nhiều lần.
📌 Ví dụ ứng dụng:
-
Kiểm tra email có hợp lệ không.
-
Chuyển đổi đơn vị tiền tệ.
-
Tạo mã giảm giá tự động.
-
Tính toán dữ liệu phức tạp.
4. Cách viết Custom Functions trong n8n
🟢 1. Viết Custom Function trong Function Node
📌 Tình huống: Bạn muốn kiểm tra xem một email có hợp lệ không trước khi gửi.
🛠 Thực hành:
-
Thêm Function Node vào workflow.
-
Nhập đoạn mã sau để kiểm tra email hợp lệ:
function isValidEmail(email) {
let regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return regex.test(email);
}
// Ví dụ danh sách email
let emails = [
{ "email": "user@example.com" },
{ "email": "invalid-email.com" }
];
let results = emails.map(item => ({
email: item.email,
isValid: isValidEmail(item.email)
}));
return results;
-
Nhấn Execute Node để kiểm tra kết quả.
📌 Lợi ích:
✅ Dễ dàng kiểm tra email hợp lệ trước khi gửi.
✅ Có thể tái sử dụng hàm isValidEmail()
trong các workflow khác.
🟢 2. Lưu Custom Function để dùng lại nhiều lần
📌 Tình huống: Bạn có một workflow chuyên kiểm tra dữ liệu, nhưng không muốn mỗi lần đều phải copy/paste function vào Function Node.
🔹 Giải pháp: Lưu hàm vào Set Node hoặc Environment Variable để dùng lại.
🛠 Cách làm:
-
Thêm Set Node vào workflow.
-
Tạo biến chứa Custom Function:
return [{ isValidEmail: email => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email) }];
-
Kết nối Set Node với Function Node.
-
Dùng Custom Function trong Function Node:
let isValidEmail = $node["Set Node"].json.isValidEmail; return [{ email: "user@example.com", isValid: isValidEmail("user@example.com") }];
-
Nhấn Execute Node để kiểm tra kết quả.
📌 Lợi ích:
✅ Có thể tái sử dụng hàm mà không cần copy code mỗi lần.
✅ Giúp workflow gọn gàng hơn.
🟢 3. Tạo Custom Function dùng chung cho nhiều workflow
📌 Tình huống: Bạn muốn dùng Custom Function trong nhiều workflow mà không phải cài đặt lại từng lần.
🔹 Giải pháp: Lưu Custom Function vào Global Variables của n8n.
🛠 Cách làm:
-
Mở
Settings.json
của n8n. -
Thêm Custom Function vào
globalFunctions
:{ "globalFunctions": { "isValidEmail": "return email => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);" } }
-
Restart n8n để áp dụng thay đổi.
-
Dùng Custom Function trong Function Node:
let isValidEmail = global.isValidEmail; return [{ email: "user@example.com", isValid: isValidEmail("user@example.com") }];
-
Nhấn Execute Node để kiểm tra kết quả.
📌 Lợi ích:
✅ Custom Function có thể được dùng trong tất cả workflow.
✅ Không cần khai báo lại mỗi lần chạy workflow.
5. Thực hành: Kiểm tra danh sách email và gửi thông báo
📌 Yêu cầu:
-
Kiểm tra danh sách email từ Google Sheets.
-
Nếu email hợp lệ → Gửi thông báo.
-
Nếu email không hợp lệ → Báo lỗi.
🛠️ Bước 1: Lấy danh sách email từ Google Sheets
-
Thêm Google Sheets Node vào workflow.
-
Chọn Operation: Get Rows để lấy danh sách email.
-
Nhấn Execute Node để kiểm tra danh sách.
📌 Dữ liệu mẫu:
[
{ "email": "user@example.com" },
{ "email": "invalid-email" }
]
🛠️ Bước 2: Kiểm tra email hợp lệ bằng Function Node
-
Thêm Function Node vào workflow.
-
Nhập đoạn mã sau để kiểm tra email:
function isValidEmail(email) { let regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return regex.test(email); } let emails = $node["Google Sheets"].json; let results = emails.map(item => ({ email: item.email, isValid: isValidEmail(item.email) })); return results;
-
Nhấn Execute Node để kiểm tra kết quả.
🛠️ Bước 3: Gửi thông báo nếu email hợp lệ
-
Thêm IF Node vào workflow.
-
Cấu hình điều kiện:
-
Nếu
isValid
làtrue
→ Gửi thông báo. -
Nếu
isValid
làfalse
→ Báo lỗi.
-
-
Thêm Gmail Node để gửi email.
-
Nhấn Execute Workflow để kiểm tra.
📌 Lợi ích:
✅ Giúp kiểm tra và xử lý dữ liệu tự động.
✅ Tránh gửi email đến địa chỉ không hợp lệ.
6. Bài tập thực hành mở rộng
📌 Bài tập:
-
Viết Custom Function kiểm tra số điện thoại hợp lệ.
-
Nếu hợp lệ → Lưu vào Google Sheets.
-
Nếu không hợp lệ → Gửi thông báo lỗi.
📌 Gợi ý:
-
Dùng Function Node để kiểm tra số điện thoại.
-
Dùng IF Node để phân loại dữ liệu.
-
Dùng Google Sheets Node để lưu số hợp lệ.
7. Kết luận
📌 Tóm tắt bài học:
✅ Custom Function giúp tái sử dụng code dễ dàng.
✅ Có thể lưu trong Function Node, Set Node, hoặc Global Variables.
✅ Ứng dụng vào kiểm tra email, số điện thoại, chuyển đổi dữ liệu,...
BÀI HỌC 35: XỬ LÝ LỖI (ERROR HANDLING) TRONG n8n – GIÚP WORKFLOW HOẠT ĐỘNG ỔN ĐỊNH!
1. Hội thoại mở đầu – Tại sao cần xử lý lỗi?
Ben: Anh Bon ơi, hôm qua em chạy workflow mà bị lỗi hoài. Cứ khi nào API gặp vấn đề là workflow dừng luôn!
Bon: Đúng rồi, nếu không xử lý lỗi thì workflow sẽ dễ bị gián đoạn. Nhưng đừng lo, n8n có nhiều cách giúp mình kiểm soát lỗi!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách xử lý lỗi để workflow chạy ổn định hơn! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Các loại lỗi phổ biến trong n8n.
✅ Cách phát hiện và xử lý lỗi với Error Workflow.
✅ Cách dùng Try-Catch trong Function Node.
✅ Cách gửi thông báo khi workflow gặp lỗi.
✅ Thực hành: Xây dựng hệ thống xử lý lỗi thông minh.
3. Các loại lỗi phổ biến trong n8n
🔹 Lỗi API (API Errors) – Khi kết nối đến API bị lỗi (404, 500, timeout,…)
🔹 Lỗi nhập dữ liệu (Data Errors) – Khi dữ liệu không đúng định dạng.
🔹 Lỗi logic (Logic Errors) – Khi workflow chạy sai vì điều kiện sai.
🔹 Lỗi hệ thống (System Errors) – Khi n8n hoặc server bị lỗi.
📌 Ví dụ:
-
API bị lỗi: Không kết nối được đến Google Sheets.
-
Dữ liệu bị sai: Nhập số điện thoại nhưng lại chứa chữ cái.
-
Logic sai: Quên kiểm tra email trước khi gửi thông báo.
👉 Giải pháp: Ta sẽ dùng Error Handling để kiểm soát và xử lý các lỗi này.
4. Cách xử lý lỗi trong n8n
🟢 1. Dùng Error Workflow để xử lý lỗi tự động
📌 Tình huống: Bạn có một workflow gửi email, nhưng nếu API Gmail bị lỗi, bạn muốn lưu email vào Google Sheets để gửi lại sau.
🛠 Thực hành:
-
Tạo một Error Workflow mới.
-
Thêm Start Node (cấu hình là Workflow Error).
-
Thêm Set Node để lưu thông tin lỗi.
-
Thêm Google Sheets Node để lưu email lỗi.
-
Lưu lại Error Workflow.
-
Vào workflow chính, bật "Save errors to error workflow".
-
Chạy thử workflow và kiểm tra lỗi.
📌 Lợi ích:
✅ Workflow chính sẽ không dừng đột ngột khi có lỗi.
✅ Các lỗi sẽ được lưu lại để xử lý sau.
🟢 2. Dùng Try-Catch trong Function Node để xử lý lỗi
📌 Tình huống: Bạn có một đoạn code gọi API, nhưng nếu API bị lỗi, bạn muốn trả về giá trị mặc định thay vì dừng workflow.
🛠 Thực hành:
-
Thêm Function Node vào workflow.
-
Nhập đoạn code sau để xử lý lỗi API:
try {
let response = await this.helpers.request("https://api.example.com/data");
return [{ data: response }];
} catch (error) {
return [{ error: "API không khả dụng, vui lòng thử lại sau!" }];
}
-
Nhấn Execute Node để kiểm tra kết quả.
📌 Lợi ích:
✅ Workflow không bị dừng khi gặp lỗi.
✅ Có thể hiển thị thông báo lỗi thay vì để workflow bị crash.
🟢 3. Gửi thông báo lỗi qua Telegram hoặc Email
📌 Tình huống: Bạn muốn nhận thông báo ngay khi workflow bị lỗi để xử lý kịp thời.
🛠 Thực hành:
-
Tạo một Error Workflow mới.
-
Thêm Start Node (cấu hình là Workflow Error).
-
Thêm Telegram Node để gửi thông báo.
-
Nhập nội dung thông báo:
Workflow bị lỗi! ❌ Workflow: {{$json["workflow"]["id"]}} Lỗi: {{$json["error"]["message"]}}
-
Lưu lại Error Workflow.
-
Chạy thử workflow chính để kiểm tra.
📌 Lợi ích:
✅ Nhận thông báo ngay khi có lỗi.
✅ Không cần kiểm tra thủ công trong n8n.
5. Thực hành: Xây dựng hệ thống xử lý lỗi thông minh
📌 Yêu cầu:
-
Lấy dữ liệu từ Google Sheets.
-
Gửi email với Gmail API.
-
Nếu có lỗi:
-
Lưu lỗi vào Google Sheets.
-
Gửi thông báo qua Telegram.
-
🛠 Hướng dẫn step-by-step:
🔹 Bước 1: Lấy danh sách email từ Google Sheets
-
Thêm Google Sheets Node vào workflow.
-
Chọn Operation: Get Rows để lấy danh sách email.
-
Nhấn Execute Node để kiểm tra danh sách.
🔹 Bước 2: Gửi email và xử lý lỗi bằng Try-Catch
-
Thêm Function Node để gửi email:
try { let email = $json["email"]; let response = await this.helpers.request({ method: "POST", url: "https://api.gmail.com/send", body: { email: email, message: "Hello!" }, json: true }); return [{ status: "Gửi thành công!" }]; } catch (error) { return [{ email: email, error: "Gửi email thất bại!" }]; }
-
Nhấn Execute Node để kiểm tra kết quả.
🔹 Bước 3: Lưu lỗi vào Google Sheets
-
Thêm IF Node để kiểm tra lỗi.
-
Nếu lỗi, gửi dữ liệu đến Google Sheets Node để lưu lại.
🔹 Bước 4: Gửi thông báo lỗi qua Telegram
-
Thêm Telegram Node.
-
Nhập nội dung thông báo lỗi:
Lỗi khi gửi email: {{$json["error"]}} Email: {{$json["email"]}}
-
Nhấn Execute Node để kiểm tra kết quả.
📌 Lợi ích:
✅ Hệ thống chạy ổn định ngay cả khi có lỗi.
✅ Không mất dữ liệu do lỗi đột xuất.
✅ Nhận cảnh báo ngay khi có lỗi.
6. Bài tập thực hành mở rộng
📌 Bài tập:
-
Xây dựng hệ thống tự động đăng bài lên Facebook.
-
Nếu API Facebook bị lỗi:
-
Lưu bài đăng vào Google Sheets để thử lại sau.
-
Gửi thông báo lỗi qua Slack hoặc Telegram.
-
📌 Gợi ý:
-
Dùng Try-Catch trong Function Node để xử lý lỗi API.
-
Dùng IF Node để kiểm tra và lưu lỗi.
-
Dùng Slack/Telegram Node để gửi thông báo.
7. Kết luận
📌 Tóm tắt bài học:
✅ Lỗi là điều không thể tránh khỏi khi làm việc với n8n.
✅ Có nhiều cách để xử lý lỗi như Error Workflow, Try-Catch, IF Node.
✅ Có thể gửi thông báo lỗi để xử lý kịp thời.
BÀI HỌC 36: WEBHOOKS TRONG n8n – KẾT NỐI DỮ LIỆU THEO THỜI GIAN THỰC!
1. Hội thoại mở đầu – Webhook là gì?
Ben: Anh Bon ơi, làm sao để n8n nhận dữ liệu ngay lập tức mà không cần kiểm tra liên tục?
Bon: À, đó là lúc mình dùng Webhook! Khi có dữ liệu mới, nó sẽ tự động gửi đến n8n mà không cần mình kiểm tra thủ công.
Chuyên gia: Đúng rồi! Webhook giống như một cái chuông cửa – khi có ai bấm chuông, cửa sẽ báo ngay lập tức. Hôm nay, chúng ta sẽ học cách dùng Webhook trong n8n! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Webhook là gì và hoạt động như thế nào?
✅ Cách tạo Webhook trong n8n.
✅ Cách kết nối Webhook với dịch vụ khác như Telegram, Google Sheets, Zapier.
✅ Thực hành: Tạo hệ thống nhận phản hồi từ Google Forms theo thời gian thực.
3. Webhook là gì?
🔹 Webhook là một URL đặc biệt giúp n8n nhận dữ liệu ngay khi có sự kiện xảy ra.
🔹 Khi một dịch vụ gửi dữ liệu đến Webhook, n8n sẽ xử lý ngay lập tức mà không cần kiểm tra thủ công.
📌 Ví dụ ứng dụng Webhook:
✅ Khi có khách hàng điền Google Form, dữ liệu sẽ tự động cập nhật vào Google Sheets.
✅ Khi có đơn hàng mới trên Shopee, webhook sẽ gửi thông tin đến Telegram.
✅ Khi có email mới, webhook sẽ tự động lưu vào Notion.
👉 Cách hoạt động của Webhook:
1️⃣ Một dịch vụ (Google Forms, Telegram, Facebook, Zapier,…) gửi dữ liệu đến Webhook.
2️⃣ n8n nhận dữ liệu và xử lý theo workflow đã thiết lập.
3️⃣ Kết quả được lưu trữ hoặc gửi đến nơi khác (Google Sheets, Gmail, Slack,…).
4. Cách tạo Webhook trong n8n
📌 Chúng ta sẽ tạo một Webhook nhận dữ liệu từ một biểu mẫu Google Forms.
🛠 Bước 1: Tạo Webhook Node trong n8n
-
Vào n8n, tạo một workflow mới.
-
Thêm Webhook Node, chọn Operation: POST.
-
Copy URL của Webhook (sẽ dùng để kết nối với Google Forms).
🛠 Bước 2: Kết nối Webhook với Google Forms
-
Tạo một Google Form mới (biểu mẫu phản hồi khách hàng).
-
Vào Google Apps Script (Extensions > Apps Script).
-
Dán đoạn code sau để gửi dữ liệu về Webhook:
function sendToWebhook(e) {
var url = "PASTE_YOUR_WEBHOOK_URL_HERE"; // Thay bằng URL webhook của bạn
var formData = {
"Tên": e.values[1],
"Email": e.values[2],
"Nội dung": e.values[3]
};
var options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(formData)
};
UrlFetchApp.fetch(url, options);
}
function onFormSubmit(e) {
sendToWebhook(e);
}
-
Lưu script và đặt trigger chạy khi có phản hồi mới.
-
Gửi thử một phản hồi trên Google Forms để kiểm tra.
📌 Khi có phản hồi mới, dữ liệu sẽ được gửi ngay lập tức đến n8n qua Webhook! 🚀
5. Xử lý dữ liệu Webhook trong n8n
🛠 Bước 3: Lưu phản hồi vào Google Sheets
-
Thêm Google Sheets Node vào workflow.
-
Chọn Operation: Append Row để thêm dữ liệu mới.
-
Map dữ liệu từ Webhook vào các cột Tên, Email, Nội dung.
-
Nhấn Execute Workflow để kiểm tra kết quả.
📌 Mỗi khi có phản hồi từ Google Forms, dữ liệu sẽ được lưu vào Google Sheets ngay lập tức!
6. Ứng dụng Webhook trong thực tế
📌 Một số cách dùng Webhook để tự động hóa công việc:
✅ Thông báo đơn hàng mới: Khi có đơn hàng Shopee/Lazada, gửi tin nhắn Telegram tự động.
✅ Ghi nhận khách hàng mới: Khi khách hàng điền form, lưu thông tin vào CRM như Notion/Trello.
✅ Quản lý lịch hẹn: Khi khách đặt lịch trên Calendly, gửi email xác nhận ngay lập tức.
7. Thực hành mở rộng – Kết nối Webhook với Telegram
📌 Yêu cầu:
-
Khi có phản hồi từ Google Forms, hệ thống sẽ gửi thông báo ngay lập tức vào Telegram.
🛠 Bước 1: Thêm Telegram Node vào workflow
-
Thêm Telegram Node, chọn Operation: Send Message.
-
Nhập Token của Telegram Bot (lấy từ @BotFather).
-
Nhập Chat ID (ID nhóm Telegram).
-
Nhập nội dung tin nhắn:
📩 Có phản hồi mới từ Google Forms! - Tên: {{$json["Tên"]}} - Email: {{$json["Email"]}} - Nội dung: {{$json["Nội dung"]}}
-
Nhấn Execute Node để kiểm tra.
📌 Khi có phản hồi mới, Telegram sẽ báo ngay lập tức!
8. Bài tập thực hành mở rộng
📌 Bài tập:
-
Tạo Webhook nhận thông tin đơn hàng từ Shopee.
-
Khi có đơn hàng mới:
✅ Lưu thông tin vào Google Sheets.
✅ Gửi thông báo qua Slack hoặc Telegram.
✅ Nếu đơn hàng trên 1 triệu, gửi email xác nhận.
📌 Gợi ý:
-
Dùng Webhook Node để nhận dữ liệu từ Shopee API.
-
Dùng Google Sheets Node để lưu đơn hàng.
-
Dùng Telegram/Slack Node để gửi thông báo.
-
Dùng IF Node để kiểm tra giá trị đơn hàng.
9. Kết luận
📌 Tóm tắt bài học:
✅ Webhook giúp kết nối dữ liệu theo thời gian thực.
✅ Có thể dùng Webhook để nhận dữ liệu từ Google Forms, Shopee, Telegram, Slack, CRM…
✅ Có thể kết hợp Webhook với Google Sheets, Telegram, Email để xử lý dữ liệu tự động.
BÀI HỌC 37: LÀM SẠCH DỮ LIỆU TỰ ĐỘNG TRƯỚC KHI ĐƯA VÀO CƠ SỞ DỮ LIỆU
1. Hội thoại mở đầu – Vì sao cần làm sạch dữ liệu?
Ben: Anh Bon ơi, sao bảng dữ liệu của mình có nhiều lỗi quá? Có dòng thiếu thông tin, có dòng bị trùng, có chỗ sai định dạng nữa! 😵
Bon: Ừ, nếu đưa dữ liệu bẩn vào hệ thống, nó có thể gây sai sót lớn, làm hỏng báo cáo và tự động hóa. Mình cần phải làm sạch dữ liệu trước khi lưu vào cơ sở dữ liệu!
Chuyên gia: Chính xác! Trong bài học hôm nay, chúng ta sẽ học cách dùng n8n để làm sạch dữ liệu tự động trước khi đưa vào Google Sheets, MySQL hoặc bất kỳ nơi nào khác! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Làm sạch dữ liệu là gì và tại sao quan trọng?
✅ Các lỗi dữ liệu phổ biến và cách xử lý.
✅ Cách dùng Set Node, Function Node, IF Node để làm sạch dữ liệu tự động.
✅ Thực hành: Làm sạch dữ liệu khách hàng trước khi lưu vào Google Sheets.
3. Vì sao cần làm sạch dữ liệu?
🔹 Dữ liệu bẩn có thể gây ra:
❌ Lỗi trong báo cáo, phân tích.
❌ Lặp thông tin khách hàng, gây spam.
❌ Hệ thống tự động hóa hoạt động sai.
📌 Các lỗi dữ liệu phổ biến:
✅ Dữ liệu trống (email, số điện thoại bị thiếu).
✅ Dữ liệu trùng lặp (cùng một khách hàng nhưng nhập hai lần).
✅ Sai định dạng (số điện thoại không đúng chuẩn, email thiếu @,...).
✅ Dữ liệu chứa khoảng trắng thừa, ký tự đặc biệt.
4. Xây dựng workflow làm sạch dữ liệu trong n8n
📌 Chúng ta sẽ làm sạch danh sách khách hàng trước khi lưu vào Google Sheets.
🛠 Bước 1: Lấy dữ liệu từ nguồn (Google Sheets, API, Webhook)
-
Thêm Google Sheets Node để đọc dữ liệu.
-
Chọn Operation: Read Rows.
-
Chọn cột cần làm sạch (Tên, Email, SĐT).
🛠 Bước 2: Kiểm tra và làm sạch dữ liệu
📌 Xóa khoảng trắng, ký tự đặc biệt (Set Node + Function Node)
-
Thêm Function Node và dán đoạn code sau:
return items.map(item => {
return {
json: {
"Tên": item.json["Tên"].trim(),
"Email": item.json["Email"].trim().toLowerCase(),
"SĐT": item.json["SĐT"].replace(/\D/g, '') // Chỉ giữ lại số
}
};
});
📌 Giải thích:
✅ trim(): Xóa khoảng trắng đầu/cuối.
✅ toLowerCase(): Chuyển email về chữ thường.
✅ replace(/\D/g, ''): Loại bỏ tất cả ký tự không phải số trong số điện thoại.
📌 Xóa dòng trống, dòng thiếu dữ liệu (IF Node)
-
Thêm IF Node.
-
Chọn Condition:
-
Nếu Email hoặc SĐT trống → Bỏ dòng đó.
-
-
Thiết lập điều kiện:
Email IS NOT EMPTY AND SĐT IS NOT EMPTY
-
Kết nối IF Node với Function Node để chỉ giữ lại dữ liệu hợp lệ.
📌 Xóa dữ liệu trùng lặp (Merge Node - Unique Mode)
-
Thêm Merge Node, chọn Unique Mode.
-
Chọn cột Email để giữ duy nhất một dòng cho mỗi khách hàng.
🛠 Bước 3: Lưu dữ liệu sạch vào Google Sheets
-
Thêm Google Sheets Node.
-
Chọn Operation: Append Row để thêm dữ liệu mới.
-
Kết nối với Merge Node để lưu dữ liệu đã làm sạch.
-
Nhấn Execute Workflow để kiểm tra kết quả.
📌 Kết quả: Danh sách khách hàng sạch, không trùng lặp, không sai định dạng! 🚀
5. Ứng dụng thực tế của làm sạch dữ liệu
📌 Một số tình huống cần làm sạch dữ liệu tự động:
✅ Nhập dữ liệu khách hàng từ CRM, Google Forms, Facebook Ads.
✅ Chuẩn hóa danh sách sản phẩm, đơn hàng trước khi lưu vào MySQL.
✅ Lọc dữ liệu trùng lặp trước khi gửi email marketing.
6. Thực hành mở rộng – Làm sạch dữ liệu JSON từ API
📌 Yêu cầu:
-
Nhận dữ liệu JSON từ một API (danh sách sản phẩm).
-
Xóa khoảng trắng, chuẩn hóa định dạng giá tiền.
-
Xóa sản phẩm không có giá hoặc tên bị trống.
🛠 Bước 1: Thêm HTTP Request Node để lấy dữ liệu từ API.
🛠 Bước 2: Dùng Function Node để làm sạch dữ liệu.
return items
.filter(item => item.json["price"] && item.json["name"]) // Xóa sản phẩm thiếu thông tin
.map(item => {
return {
json: {
"Tên sản phẩm": item.json["name"].trim(),
"Giá": parseFloat(item.json["price"].replace(/[^0-9.]/g, '')), // Chuyển giá về số
}
};
});
🛠 Bước 3: Lưu dữ liệu sạch vào Google Sheets hoặc Database.
📌 Kết quả: Chỉ những sản phẩm hợp lệ mới được lưu, đảm bảo hệ thống không bị sai sót.
7. Bài tập thực hành mở rộng
📌 Bài tập:
-
Tạo workflow nhập dữ liệu khách hàng từ Webhook.
-
Làm sạch dữ liệu (xóa trống, chuẩn hóa email, số điện thoại).
-
Nếu khách hàng đã có trong database, cập nhật thông tin thay vì thêm mới.
-
Lưu dữ liệu sạch vào Google Sheets.
📌 Gợi ý:
-
Dùng Webhook Node để nhận dữ liệu.
-
Dùng Function Node để xử lý dữ liệu.
-
Dùng IF Node để kiểm tra trùng lặp.
-
Dùng Google Sheets Node để lưu thông tin.
8. Kết luận
📌 Tóm tắt bài học:
✅ Làm sạch dữ liệu giúp hệ thống chạy ổn định, chính xác.
✅ Có thể dùng Set Node, Function Node, IF Node, Merge Node để chuẩn hóa dữ liệu.
✅ Workflow mẫu giúp lọc dữ liệu khách hàng trước khi lưu vào Google Sheets.
BÀI HỌC 38: GỬI DỮ LIỆU GIỮA CÁC WORKFLOW VỚI EXECUTE WORKFLOW NODE
1. Hội thoại mở đầu – Vì sao cần gửi dữ liệu giữa các workflow?
Ben: Anh Bon ơi, em thấy mình có nhiều workflow trong n8n quá. Có cách nào để workflow này gọi workflow khác không? 🤔
Bon: Được chứ! Nếu mình có một workflow chuyên xử lý dữ liệu và muốn workflow khác dùng lại nó, mình có thể dùng Execute Workflow Node! 🚀
Chuyên gia: Chính xác! Trong bài học hôm nay, chúng ta sẽ học cách gửi dữ liệu giữa các workflow trong n8n bằng Execute Workflow Node.
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Execute Workflow Node là gì?
✅ Cách gọi một workflow từ một workflow khác.
✅ Cách truyền dữ liệu giữa các workflow.
✅ Thực hành: Xử lý đơn hàng với hai workflow liên kết nhau.
3. Execute Workflow Node là gì?
🔹 Execute Workflow Node giúp bạn chạy một workflow khác từ bên trong một workflow hiện tại.
📌 Lợi ích:
✅ Tái sử dụng workflow, không cần lặp lại công việc.
✅ Chia nhỏ workflow để dễ quản lý.
✅ Giữ hệ thống linh hoạt, có thể sửa từng phần mà không ảnh hưởng toàn bộ.
📌 Ví dụ thực tế:
-
Một workflow chuyên gửi email có thể được gọi từ nhiều workflow khác.
-
Một workflow chuyên xử lý dữ liệu khách hàng có thể được dùng lại ở nhiều nơi.
4. Xây dựng workflow gửi dữ liệu bằng Execute Workflow Node
📌 Tình huống thực tế:
-
Workflow 1: Nhận đơn hàng mới từ Webhook.
-
Workflow 2: Xử lý đơn hàng và cập nhật trạng thái vào Google Sheets.
🛠 Bước 1: Tạo Workflow xử lý đơn hàng (Workflow 2)
-
Vào n8n, nhấn New Workflow và đặt tên: "Xử lý đơn hàng".
-
Thêm Set Node để mô phỏng xử lý đơn hàng.
-
Nhập các trường dữ liệu:
-
Mã đơn hàng (order_id).
-
Tên khách hàng (customer_name).
-
Số tiền (amount).
-
Trạng thái (status = "Đã xử lý").
-
-
Thêm Google Sheets Node để lưu đơn hàng.
-
Lưu lại Workflow này.
📌 Lưu ý: Workflow này sẽ không có Trigger Node vì nó chỉ chạy khi được gọi.
🛠 Bước 2: Tạo Workflow chính để gọi Workflow 2 (Workflow 1)
-
Tạo một workflow mới, đặt tên "Nhận đơn hàng".
-
Thêm Webhook Node để nhận dữ liệu đơn hàng.
-
Thêm Execute Workflow Node để gọi Workflow 2.
-
Trong Execute Workflow Node:
-
Chọn Workflow cần gọi: "Xử lý đơn hàng".
-
Truyền dữ liệu đơn hàng từ Webhook sang Workflow 2.
-
-
Nhấn Execute Workflow để kiểm tra.
📌 Kết quả: Khi có đơn hàng mới, workflow này sẽ tự động gọi workflow xử lý đơn hàng. 🚀
5. Ứng dụng thực tế của Execute Workflow Node
📌 Một số tình huống sử dụng:
✅ Tạo một workflow chuyên gửi email và gọi nó từ nhiều workflow khác.
✅ Làm một workflow chuyên xử lý dữ liệu khách hàng và dùng lại nó ở nhiều nơi.
✅ Tách workflow lớn thành các phần nhỏ, giúp dễ quản lý và sửa lỗi.
6. Thực hành mở rộng – Gửi dữ liệu giữa nhiều workflow
📌 Yêu cầu:
-
Workflow A lấy danh sách khách hàng từ Google Sheets.
-
Workflow B gửi email cho từng khách hàng.
-
Workflow C cập nhật trạng thái khách hàng đã nhận email.
🛠 Bước 1:
-
Tạo Workflow A, dùng Google Sheets Node để lấy danh sách khách hàng.
-
Gọi Workflow B bằng Execute Workflow Node.
🛠 Bước 2:
-
Tạo Workflow B, dùng Send Email Node để gửi email.
-
Sau khi gửi email xong, gọi Workflow C.
🛠 Bước 3:
-
Tạo Workflow C, dùng Google Sheets Node để cập nhật trạng thái.
📌 Kết quả: Hệ thống tự động lấy danh sách, gửi email và cập nhật trạng thái.
7. Bài tập thực hành mở rộng
📌 Bài tập:
-
Tạo một workflow chuyên kiểm tra số điện thoại (làm sạch, định dạng).
-
Gọi workflow này từ nhiều workflow khác khi cần kiểm tra dữ liệu khách hàng.
📌 Gợi ý:
-
Dùng Execute Workflow Node để gọi workflow kiểm tra số điện thoại.
-
Dùng Function Node để xử lý dữ liệu số điện thoại.
8. Kết luận
📌 Tóm tắt bài học:
✅ Execute Workflow Node giúp gửi dữ liệu giữa các workflow.
✅ Có thể tái sử dụng workflow, giúp hệ thống linh hoạt hơn.
✅ Ứng dụng trong quản lý đơn hàng, gửi email, kiểm tra dữ liệu,...
BÀI HỌC 39: LƯU TRỮ DỮ LIỆU TẠM THỜI BẰNG DATA STORE NODE
1. Hội thoại mở đầu – Khi nào cần lưu trữ dữ liệu tạm thời?
Ben: Anh Bon ơi, nếu mình cần lưu dữ liệu tạm thời trong workflow, nhưng không muốn dùng Google Sheets hay Database, thì có cách nào không? 🤔
Bon: Có chứ! n8n có một node đặc biệt tên là Data Store Node. Nó giúp mình lưu và lấy dữ liệu nhanh chóng mà không cần kết nối với hệ thống bên ngoài! 🚀
Chuyên gia: Đúng vậy! Hôm nay, chúng ta sẽ học cách dùng Data Store Node để lưu và truy xuất dữ liệu ngay bên trong n8n.
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Data Store Node là gì?
✅ Cách lưu dữ liệu tạm thời bằng Data Store.
✅ Cách lấy dữ liệu từ Data Store để sử dụng trong workflow.
✅ Thực hành: Lưu và truy xuất trạng thái đơn hàng trong n8n.
3. Data Store Node là gì?
🔹 Data Store Node là một hệ thống lưu trữ dữ liệu tạm thời ngay bên trong n8n.
📌 Lợi ích:
✅ Không cần kết nối với Database hay Google Sheets.
✅ Truy xuất dữ liệu nhanh chóng.
✅ Dữ liệu có thể được lưu giữa các lần chạy workflow.
📌 Khi nào nên dùng Data Store?
-
Khi cần lưu trạng thái tạm thời (ví dụ: trạng thái đơn hàng, số lượt gửi email, token API).
-
Khi muốn chia sẻ dữ liệu giữa các workflow trong n8n.
-
Khi muốn giảm số lần gọi API hoặc truy vấn database để tiết kiệm tài nguyên.
4. Cách sử dụng Data Store Node
📌 Tình huống thực tế:
Bạn muốn theo dõi trạng thái đơn hàng trong n8n, nhưng không muốn lưu vào Google Sheets hoặc Database.
🛠 Bước 1: Lưu dữ liệu đơn hàng vào Data Store
-
Vào n8n, nhấn New Workflow và đặt tên "Quản lý đơn hàng tạm thời".
-
Thêm Set Node để tạo dữ liệu đơn hàng mẫu:
-
Mã đơn hàng (order_id):
12345
-
Tên khách hàng (customer_name):
Nguyễn Văn A
-
Số tiền (amount):
500,000
-
Trạng thái (status):
"Đang xử lý"
-
-
Thêm Data Store Node (hoạt động ở chế độ "Write") để lưu dữ liệu.
-
Trong Data Store Node:
-
Key:
{{$json["order_id"]}}
(dùng mã đơn hàng làm khóa) -
Value: Chứa toàn bộ dữ liệu đơn hàng
-
📌 Kết quả: Dữ liệu đơn hàng được lưu vào Data Store của n8n.
🛠 Bước 2: Truy xuất dữ liệu đơn hàng từ Data Store
-
Thêm Data Store Node (hoạt động ở chế độ "Read") để lấy dữ liệu đơn hàng.
-
Nhập Key là
12345
để tìm đơn hàng vừa lưu. -
Nhấn Execute Node để kiểm tra.
📌 Kết quả: Dữ liệu đơn hàng hiển thị, chứng minh nó đã được lưu thành công.
🛠 Bước 3: Cập nhật trạng thái đơn hàng
-
Thêm Data Store Node (hoạt động ở chế độ "Update").
-
Chọn Key là
12345
. -
Thêm trường status với giá trị
"Hoàn thành"
. -
Nhấn Execute Node để cập nhật.
📌 Kết quả: Trạng thái đơn hàng trong Data Store được cập nhật từ "Đang xử lý"
thành "Hoàn thành"
.
5. Ứng dụng thực tế của Data Store Node
📌 Một số tình huống sử dụng:
✅ Lưu số lần gửi email để tránh spam.
✅ Lưu trạng thái đơn hàng để kiểm tra mà không cần database.
✅ Lưu token API để dùng lại nhiều lần mà không cần đăng nhập lại.
6. Bài tập thực hành mở rộng
📌 Bài tập:
-
Tạo một workflow cho phép lưu và lấy thông tin khách hàng trong Data Store.
-
Khi nhập số điện thoại, workflow sẽ kiểm tra Data Store xem khách hàng này có tồn tại không.
-
Nếu không có, workflow sẽ thêm khách hàng vào Data Store.
-
Nếu có, workflow sẽ hiển thị thông tin khách hàng.
📌 Gợi ý:
-
Dùng Set Node để nhập dữ liệu khách hàng.
-
Dùng Data Store Node (Read) để kiểm tra khách hàng có tồn tại không.
-
Dùng Data Store Node (Write) để lưu khách hàng mới nếu chưa có.
7. Kết luận
📌 Tóm tắt bài học:
✅ Data Store Node giúp lưu trữ dữ liệu tạm thời ngay trong n8n.
✅ Có thể lưu, truy xuất và cập nhật dữ liệu mà không cần Database.
✅ Ứng dụng trong lưu trạng thái đơn hàng, kiểm soát số lần gửi email, lưu token API,...
BÀI HỌC 40: TỐI ƯU HÓA WORKFLOW ĐỂ CHẠY NHANH HƠN VÀ TIẾT KIỆM TÀI NGUYÊN
1. Hội thoại mở đầu – Tại sao cần tối ưu workflow?
Ben: Anh Bon ơi, em thấy một số workflow chạy rất chậm. Có lúc mất đến vài phút! 😟
Bon: Đúng rồi! Nếu workflow không được tối ưu, nó có thể tốn nhiều tài nguyên và thời gian xử lý.
Chuyên gia: Chính xác! Khi làm việc với n8n, ta cần tối ưu workflow để nó chạy nhanh hơn, tiết kiệm tài nguyên hệ thống và tránh lỗi không đáng có. Hôm nay, chúng ta sẽ học cách làm điều đó! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Những yếu tố ảnh hưởng đến tốc độ workflow trong n8n.
✅ Cách tối ưu workflow bằng các kỹ thuật quan trọng.
✅ Thực hành: Cải thiện tốc độ một workflow chậm.
3. Những yếu tố ảnh hưởng đến hiệu suất workflow
🔹 Dưới đây là các nguyên nhân chính khiến workflow chạy chậm:
Nguyên nhân | Ảnh hưởng |
---|---|
Quá nhiều node không cần thiết | Tốn tài nguyên, tăng thời gian xử lý |
Sử dụng trigger không hợp lý | Workflow có thể chạy liên tục không cần thiết |
Gọi API nhiều lần không cần thiết | Tăng độ trễ, có thể bị giới hạn tốc độ |
Không sử dụng batch processing | Xử lý dữ liệu số lượng lớn một cách kém hiệu quả |
Không tối ưu các điều kiện rẽ nhánh | Workflow thực hiện các bước không cần thiết |
📌 Mục tiêu của tối ưu hóa workflow:
✔ Giảm số lượng node không cần thiết.
✔ Hạn chế gọi API không cần thiết.
✔ Sử dụng các node hiệu quả hơn.
✔ Tăng tốc xử lý bằng batch processing.
4. Cách tối ưu workflow trong n8n
🛠 Kỹ thuật 1: Xóa các node không cần thiết
📌 Lỗi thường gặp:
-
Dùng nhiều Set Node không cần thiết.
-
Có những Function Node chỉ để xử lý một dòng code đơn giản (có thể làm trực tiếp trong node khác).
📌 Cách giải quyết:
-
Nhóm các thao tác lại để giảm số lượng node.
-
Kiểm tra lại workflow để loại bỏ node dư thừa.
🛠 Kỹ thuật 2: Sử dụng Trigger hợp lý
📌 Lỗi thường gặp:
-
Dùng Cron Node để kiểm tra dữ liệu liên tục dù không cần thiết.
-
Webhook Node chạy mọi request, kể cả request không cần xử lý.
📌 Cách giải quyết:
✔ Chỉ chạy workflow khi thực sự cần thiết (ví dụ: chỉ khi có dữ liệu mới).
✔ Nếu dùng Cron Node, hãy đặt khoảng thời gian hợp lý (ví dụ: mỗi 1 giờ thay vì mỗi 5 phút).
🛠 Kỹ thuật 3: Giảm số lần gọi API
📌 Lỗi thường gặp:
-
Gọi API cho từng dòng dữ liệu riêng lẻ (thay vì gửi theo nhóm).
-
Gửi yêu cầu API không cần thiết nhiều lần.
📌 Cách giải quyết:
✔ Sử dụng batch processing (gửi nhiều dữ liệu cùng lúc thay vì từng dòng một).
✔ Nếu API hỗ trợ, hãy lưu cache dữ liệu thay vì gọi lại nhiều lần.
🛠 Kỹ thuật 4: Dùng Split In Batches Node khi xử lý dữ liệu lớn
📌 Lỗi thường gặp:
-
Khi có danh sách hàng trăm hoặc hàng nghìn dữ liệu, workflow xử lý tất cả cùng lúc, gây chậm hệ thống.
📌 Cách giải quyết:
✔ Sử dụng Split In Batches Node để xử lý từng nhóm nhỏ.
🛠 Kỹ thuật 5: Tối ưu các điều kiện rẽ nhánh (If, Switch Node)
📌 Lỗi thường gặp:
-
Dùng nhiều If Node liên tiếp, làm workflow phức tạp hơn.
-
Một số workflow có thể dùng Switch Node thay vì nhiều If Node.
📌 Cách giải quyết:
✔ Nếu có nhiều điều kiện, hãy sử dụng Switch Node thay vì nhiều If Node.
✔ Đặt các điều kiện hợp lý để giảm số lần kiểm tra.
5. Thực hành: Cải thiện tốc độ workflow chậm
📌 Tình huống thực tế:
Bạn có một workflow đang chạy rất chậm khi kiểm tra đơn hàng từ Google Sheets và gửi email xác nhận.
📌 Các lỗi trong workflow này:
❌ Gọi API đến Google Sheets nhiều lần không cần thiết.
❌ Kiểm tra trạng thái đơn hàng quá thường xuyên.
❌ Gửi email từng cái một thay vì theo nhóm.
📌 Bước 1: Tối ưu hóa đọc dữ liệu từ Google Sheets
✔ Thay vì đọc từng dòng một, hãy lấy toàn bộ dữ liệu một lần, sau đó xử lý bằng các node khác.
📌 Bước 2: Sử dụng batch processing khi gửi email
✔ Thay vì gửi từng email một, hãy dùng Split In Batches Node để gửi theo nhóm.
📌 Bước 3: Chạy workflow hợp lý
✔ Dùng Webhook Node thay vì kiểm tra đơn hàng liên tục bằng Cron Job.
📌 Kết quả:
✅ Workflow chạy nhanh hơn gấp 3 lần.
✅ Giảm số lượng node từ 10 xuống còn 6.
✅ Tiết kiệm tài nguyên, giảm lỗi quá tải.
6. Kết luận
📌 Tóm tắt bài học:
✅ Tối ưu workflow giúp workflow chạy nhanh hơn và tiết kiệm tài nguyên.
✅ Giảm số lượng node không cần thiết.
✅ Dùng batch processing để xử lý dữ liệu hiệu quả hơn.
✅ Hạn chế gọi API nhiều lần để tránh lãng phí tài nguyên.
BÀI HỌC 41: DEBUG WORKFLOW – TÌM VÀ SỬA LỖI NHANH CHÓNG TRONG n8n!
1. Hội thoại mở đầu – Lỗi là điều không thể tránh khỏi!
Ben: Anh Bon ơi, em chạy workflow mà nó báo lỗi hoài! 😭 Không biết sửa ở đâu luôn...
Bon: Anh cũng gặp lỗi suốt! Nhưng nếu biết cách debug, mình có thể tìm và sửa lỗi nhanh lắm!
Chuyên gia: Chính xác! Trong n8n, có nhiều cách giúp bạn phát hiện và sửa lỗi dễ dàng. Hôm nay, chúng ta sẽ học cách debug workflow hiệu quả! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Cách nhận diện lỗi trong n8n.
✅ Sử dụng công cụ debug để tìm nguyên nhân lỗi.
✅ Các kỹ thuật sửa lỗi nhanh chóng.
✅ Thực hành: Debug một workflow bị lỗi!
3. Các loại lỗi thường gặp trong n8n
🔹 Lỗi trong workflow thường xuất hiện do:
Loại lỗi | Nguyên nhân thường gặp |
---|---|
Lỗi kết nối API | Sai URL, sai API Key, API giới hạn tốc độ |
Lỗi dữ liệu đầu vào | Dữ liệu bị thiếu, sai định dạng |
Lỗi trong JavaScript | Viết sai code trong Function Node |
Lỗi logic workflow | Node kết nối sai, điều kiện If/Switch sai |
Lỗi từ dịch vụ bên ngoài | Server bị lỗi, Google Sheets hết giới hạn |
📌 Mục tiêu của debug:
✔ Tìm ra lỗi một cách nhanh nhất.
✔ Hiểu được nguyên nhân để sửa đúng chỗ.
✔ Kiểm tra lại workflow sau khi sửa.
4. Cách debug workflow trong n8n
🛠 Kỹ thuật 1: Sử dụng "Execute Node" để chạy từng node riêng lẻ
📌 Lỗi thường gặp:
-
Workflow có quá nhiều node, khó xác định lỗi xảy ra ở đâu.
📌 Cách giải quyết:
✔ Nhấp vào từng node và chọn Execute Node để kiểm tra dữ liệu đầu vào và đầu ra.
✔ Nếu một node bị lỗi, kiểm tra dữ liệu mà node đó nhận được.
🛠 Kỹ thuật 2: Kiểm tra lỗi bằng “Execution Log”
📌 Lỗi thường gặp:
-
Workflow chạy nhưng không hoạt động như mong muốn.
📌 Cách giải quyết:
✔ Vào Executions → Chọn workflow bị lỗi → Xem Error Details để biết lỗi cụ thể.
✔ Kiểm tra xem node nào bị lỗi và lý do.
🛠 Kỹ thuật 3: Sử dụng Debug Mode trong n8n
📌 Lỗi thường gặp:
-
Không biết dữ liệu đang được truyền qua từng node như thế nào.
📌 Cách giải quyết:
✔ Bật Debug Mode để theo dõi luồng dữ liệu.
✔ Kiểm tra từng bước để biết lỗi ở đâu.
🛠 Kỹ thuật 4: Kiểm tra dữ liệu đầu vào và đầu ra của node
📌 Lỗi thường gặp:
-
Node hoạt động nhưng kết quả sai.
📌 Cách giải quyết:
✔ Nhấp vào node, vào tab Input để xem dữ liệu đầu vào.
✔ Vào tab Output để kiểm tra dữ liệu sau khi node chạy.
✔ Nếu dữ liệu đầu ra sai, có thể node trước đó đã xử lý sai.
🛠 Kỹ thuật 5: Dùng Set Node để kiểm tra dữ liệu giữa các bước
📌 Lỗi thường gặp:
-
Không biết dữ liệu có đúng trước khi truyền sang node tiếp theo.
📌 Cách giải quyết:
✔ Dùng Set Node để lưu và kiểm tra dữ liệu giữa các bước.
✔ Nếu cần, bạn có thể sửa dữ liệu ngay trong Set Node trước khi tiếp tục.
5. Thực hành: Debug một workflow bị lỗi
📌 Tình huống thực tế:
Bạn có một workflow kiểm tra đơn hàng từ Google Sheets và gửi email xác nhận. Nhưng nó không chạy được! 😭
📌 Bước 1: Chạy từng node riêng lẻ
✔ Nhấp vào từng node và chọn Execute Node để tìm lỗi.
📌 Bước 2: Kiểm tra Execution Log
✔ Vào Executions → Chọn workflow bị lỗi → Kiểm tra Error Details.
✔ Phát hiện lỗi: Google Sheets Node không lấy được dữ liệu!
📌 Bước 3: Kiểm tra dữ liệu đầu vào của Google Sheets Node
✔ Nhấp vào Google Sheets Node → Vào tab Input → Thấy rằng bảng tính bị trống!
✔ Kiểm tra Google Sheets và thấy có lỗi trong đường dẫn bảng tính.
📌 Bước 4: Sửa lỗi và kiểm tra lại
✔ Chỉnh lại đường dẫn Google Sheets → Chạy lại workflow → Thành công! 🎉
6. Thảo luận cuối bài – Debug là kỹ năng quan trọng!
Ben: Wow, giờ em biết cách debug rồi! Chỉ cần kiểm tra từng bước một là ra lỗi ngay!
Bon: Đúng rồi! Em cứ làm theo từng bước, workflow nào cũng có thể sửa được!
Chuyên gia: Chính xác! Debug là kỹ năng quan trọng trong n8n. Nếu bạn biết cách tìm lỗi, bạn sẽ không còn sợ khi workflow bị lỗi nữa! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Debug giúp tìm và sửa lỗi nhanh chóng.
✅ Dùng Execute Node để kiểm tra từng node riêng lẻ.
✅ Kiểm tra Execution Log để xem chi tiết lỗi.
✅ Bật Debug Mode để theo dõi dữ liệu.
✅ Dùng Set Node để kiểm tra dữ liệu giữa các bước.
BÀI HỌC 42: ERROR HANDLING NÂNG CAO – TỰ ĐỘNG XỬ LÝ LỖI ĐỂ WORKFLOW KHÔNG BỊ GIÁN ĐOẠN!
1. Hội thoại mở đầu – Khi workflow bị lỗi, phải làm sao?
Ben: Anh Bon ơi, em vừa debug xong một workflow, chạy được rồi. Nhưng hôm sau nó lại lỗi tiếp! 😭
Bon: Haha, workflow của anh cũng bị lỗi nhiều lần lắm. Có cách nào để xử lý lỗi tự động không nhỉ?
Chuyên gia: Tất nhiên rồi! Nếu chỉ sửa lỗi bằng tay, bạn sẽ mất rất nhiều thời gian. Hôm nay, chúng ta sẽ học cách xử lý lỗi tự động để workflow luôn hoạt động ổn định! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Cách phát hiện lỗi và xử lý lỗi tự động trong n8n.
✅ Sử dụng “Error Trigger” để phát hiện lỗi ngay lập tức.
✅ Sử dụng “Try-Catch” để ngăn workflow bị dừng giữa chừng.
✅ Thực hành: Tạo workflow có khả năng tự xử lý lỗi!
3. Các loại lỗi phổ biến trong n8n
Loại lỗi | Nguyên nhân thường gặp |
---|---|
Lỗi API (Timeout, 404, 500) | Máy chủ từ chối kết nối hoặc bị lỗi |
Lỗi dữ liệu bị thiếu | Một trường dữ liệu bị bỏ trống |
Lỗi trong Function Node | Code JavaScript có lỗi cú pháp |
Lỗi Google Sheets/Email | Dịch vụ bị giới hạn hoặc không phản hồi |
Lỗi từ dịch vụ bên ngoài | Server bên ngoài bị quá tải hoặc hết quota |
4. Các kỹ thuật xử lý lỗi nâng cao trong n8n
🛠 Kỹ thuật 1: Sử dụng "Error Trigger" để theo dõi lỗi tự động
📌 Tình huống:
Bạn muốn nhận thông báo ngay lập tức nếu có lỗi trong workflow.
📌 Cách làm:
✔ Thêm Error Trigger Node vào workflow.
✔ Kết nối Error Trigger với Send Email Node hoặc Telegram Node để nhận thông báo khi workflow bị lỗi.
🛠 Kỹ thuật 2: Sử dụng “Try-Catch” để workflow không bị gián đoạn
📌 Tình huống:
Một node bị lỗi sẽ làm cả workflow dừng lại, nhưng bạn muốn workflow tiếp tục chạy.
📌 Cách làm:
✔ Dùng Function Node để thử chạy lệnh trong khối try
và bắt lỗi trong khối catch
.
✔ Nếu có lỗi, lưu thông tin lỗi vào một biến và xử lý nó sau.
📌 Ví dụ code trong Function Node:
try {
// Thực thi code có thể gây lỗi
const result = await $node["HTTP Request"].json;
return [{ data: result }];
} catch (error) {
// Xử lý lỗi thay vì dừng workflow
return [{ error: error.message }];
}
🛠 Kỹ thuật 3: Dùng Set Node để ghi log lỗi vào Google Sheets
📌 Tình huống:
Bạn muốn lưu lại lịch sử lỗi để phân tích sau này.
📌 Cách làm:
✔ Khi workflow gặp lỗi, dùng Set Node để tạo một bản ghi lỗi.
✔ Dùng Google Sheets Node để lưu thông tin lỗi vào một bảng tính.
📌 Dữ liệu cần lưu:
-
📅 Thời gian lỗi xảy ra
-
📍 Tên workflow bị lỗi
-
🔴 Lý do lỗi (từ Execution Log)
🛠 Kỹ thuật 4: Thiết lập retry (thử lại) khi gặp lỗi
📌 Tình huống:
Một request API thất bại do lỗi mạng, nhưng bạn muốn thử lại trước khi báo lỗi.
📌 Cách làm:
✔ Vào Cài đặt node → Retry on Fail → Chọn số lần thử lại.
✔ Đặt thời gian chờ giữa các lần thử để tránh spam API.
📌 Ví dụ thiết lập retry:
-
Số lần thử lại: 3 lần
-
Thời gian chờ giữa các lần thử: 5 giây
5. Thực hành: Tạo workflow tự động xử lý lỗi
📌 Tình huống:
Bạn có một workflow gửi email xác nhận đơn hàng. Nhưng đôi khi Gmail API bị lỗi. Bạn muốn thử lại trước khi gửi thông báo lỗi.
📌 Bước 1: Tạo workflow gửi email
✔ Thêm Webhook Node để nhận dữ liệu đơn hàng.
✔ Thêm Gmail Node để gửi email xác nhận.
📌 Bước 2: Thêm Error Trigger để giám sát lỗi
✔ Thêm Error Trigger Node → Kết nối với Telegram Node để nhận thông báo nếu workflow bị lỗi.
📌 Bước 3: Thêm retry cho Gmail Node
✔ Vào Cài đặt node Gmail → Retry on Fail → Chọn 3 lần thử lại.
📌 Bước 4: Ghi log lỗi vào Google Sheets
✔ Thêm Set Node để ghi thông tin lỗi.
✔ Kết nối với Google Sheets Node để lưu lỗi vào bảng tính.
📌 Bước 5: Chạy thử workflow và kiểm tra kết quả! 🚀
6. Thảo luận cuối bài – Không còn sợ lỗi nữa!
Ben: Anh Bon ơi, giờ em không sợ lỗi nữa! Cứ để n8n tự retry, nếu vẫn lỗi thì báo về Telegram thôi! 😆
Bon: Đúng vậy! Chứ nếu cứ ngồi kiểm tra lỗi bằng tay hoài thì mất thời gian lắm!
Chuyên gia: Chính xác! Tự động xử lý lỗi giúp workflow chạy ổn định hơn, tiết kiệm thời gian và công sức! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Dùng Error Trigger để theo dõi lỗi tự động.
✅ Dùng Try-Catch để tránh workflow bị dừng đột ngột.
✅ Lưu log lỗi vào Google Sheets để phân tích.
✅ Thiết lập retry để thử lại trước khi báo lỗi.
BÀI HỌC 43: XỬ LÝ DỮ LIỆU TỰ ĐỘNG VỚI AI – TÍCH HỢP CHATGPT VÀO n8n!
1. Hội thoại mở đầu – Khi AI làm việc thay bạn!
Ben: Anh Bon ơi, em thấy nhiều công ty dùng ChatGPT để trả lời khách hàng tự động. Mình có làm được vậy trong n8n không? 🤔
Bon: Được chứ! Nếu mình kết hợp n8n với ChatGPT, nó có thể tự động viết email, tóm tắt văn bản hoặc thậm chí trả lời khách hàng! 🚀
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách tích hợp ChatGPT vào n8n để xử lý dữ liệu tự động!
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Cách kết nối n8n với ChatGPT qua OpenAI API.
✅ Tạo workflow để ChatGPT tự động xử lý dữ liệu.
✅ Ứng dụng AI để viết nội dung, tóm tắt văn bản và phân tích dữ liệu.
✅ Thực hành: Tự động trả lời email bằng ChatGPT!
3. Giới thiệu về OpenAI API & ChatGPT
ChatGPT là một mô hình AI có thể hiểu và tạo ra văn bản tự nhiên. Trong n8n, bạn có thể sử dụng OpenAI API để:
✔ Viết nội dung tự động (Email, bài viết, nội dung quảng cáo)
✔ Tóm tắt văn bản (Rút gọn nội dung dài thành bản tóm tắt)
✔ Trả lời câu hỏi tự động (Hỗ trợ khách hàng, chatbot)
✔ Phân tích dữ liệu (Dịch văn bản, nhận diện cảm xúc, tạo danh mục)
📌 Yêu cầu:
-
Tài khoản OpenAI (https://platform.openai.com/)
-
API Key của OpenAI (Lấy trong mục "API Keys")
4. Cách kết nối n8n với ChatGPT
Bước 1: Tạo tài khoản OpenAI và lấy API Key
-
Vào trang OpenAI.
-
Đăng ký hoặc đăng nhập.
-
Vào "API Keys", tạo một API Key mới và lưu lại.
Bước 2: Cấu hình OpenAI API trong n8n
-
Mở n8n.
-
Thêm "HTTP Request" Node.
-
Chọn "POST" trong phần Method.
-
Nhập URL:
https://api.openai.com/v1/chat/completions
-
Chuyển đến tab "Headers", thêm:
-
Key:
Authorization
-
Value:
Bearer YOUR_API_KEY
(Thay YOUR_API_KEY bằng API Key của bạn!) -
Key:
Content-Type
-
Value:
application/json
-
-
Chuyển đến tab "Body", chọn "JSON", nhập:
{ "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "Bạn là một trợ lý AI."}, {"role": "user", "content": "Xin chào, tôi có thể giúp gì?"} ] }
-
Chạy thử node để kiểm tra phản hồi từ ChatGPT.
5. Ứng dụng AI để xử lý dữ liệu tự động
📌 Dưới đây là một số ứng dụng AI mạnh mẽ trong n8n:
Ứng dụng | Mô tả |
---|---|
Tạo nội dung tự động | Viết email, bài blog, nội dung quảng cáo |
Tóm tắt văn bản | Rút gọn nội dung dài thành bản tóm tắt ngắn gọn |
Dịch thuật | Dịch văn bản sang nhiều ngôn ngữ khác nhau |
Nhận diện cảm xúc | Phân tích văn bản để nhận diện cảm xúc của người dùng |
Trả lời khách hàng tự động | Chatbot hỗ trợ khách hàng qua Telegram, Email, Facebook Messenger |
6. Thực hành: Tự động trả lời email bằng ChatGPT
📌 Tình huống:
Bạn muốn tự động trả lời email khách hàng dựa trên nội dung email họ gửi.
Bước 1: Nhận email từ Gmail
✔ Dùng Gmail Node để lấy nội dung email mới.
Bước 2: Gửi nội dung email đến ChatGPT
✔ Thêm HTTP Request Node để gửi nội dung email đến OpenAI API.
✔ Thay "content"
bằng nội dung email nhận được từ Gmail Node.
📌 Ví dụ dữ liệu gửi đến ChatGPT:
{
"model": "gpt-3.5-turbo",
"messages": [
{"role": "system", "content": "Bạn là trợ lý AI, hãy giúp tôi trả lời email khách hàng."},
{"role": "user", "content": "Khách hàng gửi email: Xin chào, tôi muốn biết về dịch vụ của bạn."}
]
}
Bước 3: Gửi phản hồi lại cho khách hàng
✔ Kết nối HTTP Request Node với Gmail Node để gửi email phản hồi tự động.
📌 Email phản hồi từ ChatGPT có thể như sau:
"Xin chào, cảm ơn bạn đã quan tâm đến dịch vụ của chúng tôi. Chúng tôi cung cấp giải pháp tự động hóa với n8n. Nếu bạn cần thêm thông tin, hãy liên hệ với chúng tôi!"
Bước 4: Chạy thử workflow! 🚀
7. Thảo luận cuối bài – AI giúp bạn làm việc nhanh hơn!
Ben: Wow, vậy là em có thể dùng ChatGPT để trả lời email mà không cần viết tay! 🤩
Bon: Đúng vậy! Nếu mình kết hợp n8n với ChatGPT, mình có thể tự động hóa rất nhiều việc!
Chuyên gia: Chính xác! ChatGPT không chỉ giúp viết nội dung mà còn có thể dịch thuật, tóm tắt thông tin và phân tích dữ liệu! 🚀
8. Kết luận
📌 Tóm tắt bài học:
✅ Cách kết nối n8n với ChatGPT bằng OpenAI API.
✅ Ứng dụng AI để xử lý dữ liệu tự động.
✅ Thực hành: Tự động trả lời email khách hàng với ChatGPT.
BÀI HỌC 44: XỬ LÝ DỮ LIỆU TỰ ĐỘNG VỚI AI – TÍCH HỢP GEMINI AI VÀO n8n!
1. Hội thoại mở đầu – AI mạnh mẽ hơn với Gemini AI!
Ben: Anh Bon ơi, ngoài ChatGPT thì còn AI nào khác có thể dùng với n8n không? 🤔
Bon: Có chứ! Google có một AI cực kỳ mạnh tên là Gemini AI, có thể phân tích dữ liệu, tóm tắt văn bản, dịch thuật và thậm chí còn tạo hình ảnh!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách tích hợp Gemini AI vào n8n để xử lý dữ liệu tự động! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Cách kết nối n8n với Gemini AI qua Google AI API.
✅ Tạo workflow để AI tự động xử lý dữ liệu.
✅ Ứng dụng Gemini AI để viết nội dung, tóm tắt văn bản, phân loại dữ liệu.
✅ Thực hành: Tự động phân loại email khách hàng với Gemini AI!
3. Giới thiệu về Gemini AI & Google AI API
Gemini AI (trước đây là Bard AI) là một AI tiên tiến của Google, có thể:
✔ Viết nội dung tự động (Email, bài viết, nội dung quảng cáo).
✔ Tóm tắt văn bản (Rút gọn nội dung dài thành bản tóm tắt).
✔ Dịch thuật (Hỗ trợ nhiều ngôn ngữ).
✔ Phân loại dữ liệu (Nhận diện cảm xúc, gán nhãn email).
✔ Nhận diện hình ảnh (Xử lý ảnh và văn bản cùng lúc).
📌 Yêu cầu:
-
Tài khoản Google Cloud (https://console.cloud.google.com/)
-
API Key của Gemini AI (Lấy trong mục "Credentials")
4. Cách kết nối n8n với Gemini AI
Bước 1: Tạo API Key từ Google Cloud
-
Vào Google Cloud Console: https://console.cloud.google.com/
-
Tạo một dự án mới hoặc chọn một dự án có sẵn.
-
Vào "API & Services" > "Library", tìm "Gemini API", và nhấn "Enable".
-
Vào "Credentials" > "Create Credentials" > "API Key".
-
Lưu lại API Key này để sử dụng trong n8n.
Bước 2: Cấu hình Gemini AI API trong n8n
-
Mở n8n.
-
Thêm "HTTP Request" Node.
-
Chọn "POST" trong phần Method.
-
Nhập URL API của Gemini AI:
https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key=YOUR_API_KEY
(Thay YOUR_API_KEY bằng API Key bạn vừa lấy!)
-
Chuyển đến tab "Headers", thêm:
-
Key:
Content-Type
-
Value:
application/json
-
-
Chuyển đến tab "Body", chọn "JSON", nhập:
{ "contents": [ { "role": "user", "parts": [{ "text": "Xin chào, tôi có thể giúp gì?" }] } ] }
-
Chạy thử node để kiểm tra phản hồi từ Gemini AI.
5. Ứng dụng AI để xử lý dữ liệu tự động
📌 Dưới đây là một số ứng dụng AI mạnh mẽ trong n8n:
Ứng dụng | Mô tả |
---|---|
Tạo nội dung tự động | Viết email, bài blog, nội dung quảng cáo |
Tóm tắt văn bản | Rút gọn nội dung dài thành bản tóm tắt ngắn gọn |
Dịch thuật | Dịch văn bản sang nhiều ngôn ngữ khác nhau |
Phân loại email | Nhận diện cảm xúc và gán nhãn email khách hàng |
Phân tích hình ảnh | Nhận diện nội dung từ hình ảnh |
6. Thực hành: Tự động phân loại email khách hàng bằng Gemini AI
📌 Tình huống:
Bạn muốn tự động phân loại email khách hàng thành 3 nhóm:
-
Hỗ trợ kỹ thuật (Technical Support)
-
Yêu cầu báo giá (Pricing Inquiry)
-
Khác (Other)
Bước 1: Nhận email từ Gmail
✔ Dùng Gmail Node để lấy nội dung email mới.
Bước 2: Gửi nội dung email đến Gemini AI
✔ Thêm HTTP Request Node để gửi nội dung email đến Gemini AI.
✔ Thay "text"
bằng nội dung email nhận được từ Gmail Node.
📌 Ví dụ dữ liệu gửi đến Gemini AI:
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Phân loại email sau: 'Xin chào, tôi cần hỗ trợ kỹ thuật với sản phẩm của bạn'." }
]
}
]
}
Bước 3: Gửi kết quả phân loại đến Google Sheets
✔ Dùng Google Sheets Node để lưu kết quả phân loại email vào một bảng tính.
📌 Ví dụ kết quả từ Gemini AI:
"Email này thuộc nhóm 'Hỗ trợ kỹ thuật'."
Bước 4: Gửi thông báo đến nhóm hỗ trợ phù hợp
✔ Dùng Slack Node hoặc Gmail Node để thông báo đến nhóm hỗ trợ.
📌 Ví dụ tin nhắn gửi đến Slack:
"Bạn có một email mới thuộc nhóm 'Hỗ trợ kỹ thuật'. Vui lòng kiểm tra ngay!"
Bước 5: Chạy thử workflow! 🚀
7. Thảo luận cuối bài – AI giúp công việc dễ dàng hơn!
Ben: Vậy là mình có thể tự động phân loại email khách hàng mà không cần đọc từng email! 🤩
Bon: Đúng vậy! Gemini AI giúp mình hiểu nội dung và phân loại nhanh chóng!
Chuyên gia: Chính xác! Bạn có thể ứng dụng AI này vào nhiều tình huống khác như xử lý tài liệu, phân tích dữ liệu, và quản lý khách hàng! 🚀
8. Kết luận
📌 Tóm tắt bài học:
✅ Cách kết nối n8n với Gemini AI bằng Google AI API.
✅ Ứng dụng AI để xử lý dữ liệu tự động.
✅ Thực hành: Tự động phân loại email khách hàng bằng Gemini AI.
BÀI HỌC 45: KẾT HỢP AI VÀ n8n – TẠO CHATBOT TỰ ĐỘNG TRẢ LỜI KHÁCH HÀNG!
1. Hội thoại mở đầu – Chatbot thông minh với n8n!
Ben: Anh Bon ơi, làm thế nào để tạo một chatbot có thể trả lời khách hàng tự động? 🤔
Bon: Chúng ta có thể dùng n8n kết hợp với AI như ChatGPT hoặc Gemini AI để tạo một chatbot thông minh!
Chuyên gia: Đúng rồi! Hôm nay, chúng ta sẽ làm một chatbot có thể trả lời câu hỏi của khách hàng một cách tự động và chuyên nghiệp! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Cách kết nối n8n với AI để tạo chatbot thông minh.
✅ Xây dựng workflow chatbot tự động trả lời khách hàng.
✅ Gửi phản hồi qua Telegram, Facebook Messenger hoặc Email.
✅ Thực hành: Tạo chatbot tư vấn sản phẩm tự động!
3. Cách hoạt động của chatbot AI trong n8n
📌 Cấu trúc chatbot gồm 3 bước:
-
Nhận tin nhắn từ khách hàng (qua Telegram, Facebook Messenger, hoặc Email).
-
Gửi tin nhắn đến AI để tạo câu trả lời (sử dụng ChatGPT hoặc Gemini AI).
-
Gửi câu trả lời trở lại khách hàng (qua cùng kênh đã nhận).
📌 Yêu cầu:
-
Tài khoản OpenAI (ChatGPT API) hoặc Google AI (Gemini AI API).
-
Tích hợp với Telegram, Messenger hoặc Email.
4. Hướng dẫn tạo chatbot AI với n8n
Bước 1: Tạo webhook nhận tin nhắn từ khách hàng
✔ Thêm Webhook Node trong n8n.
✔ Chọn Method: POST để nhận tin nhắn từ khách hàng.
✔ URL webhook sẽ được dùng để kết nối với Telegram hoặc Messenger.
📌 Dữ liệu nhận được từ khách hàng:
{
"user": "Ben",
"message": "Sản phẩm này có bảo hành không?"
}
Bước 2: Gửi tin nhắn đến AI để tạo câu trả lời
✔ Thêm HTTP Request Node để gọi API ChatGPT hoặc Gemini AI.
✔ Nếu dùng ChatGPT, URL API:
https://api.openai.com/v1/chat/completions
✔ Nếu dùng Gemini AI, URL API:
https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent?key=YOUR_API_KEY
✔ Trong Body, gửi nội dung tin nhắn của khách hàng.
📌 Ví dụ dữ liệu gửi đến ChatGPT:
{
"model": "gpt-3.5-turbo",
"messages": [
{"role": "system", "content": "Bạn là một trợ lý hỗ trợ khách hàng."},
{"role": "user", "content": "Sản phẩm này có bảo hành không?"}
]
}
Bước 3: Gửi phản hồi trở lại khách hàng
✔ Thêm Telegram Node để gửi tin nhắn trả lời khách hàng.
✔ Nếu khách hàng gửi tin nhắn từ Email, dùng Gmail Node để gửi phản hồi.
📌 Ví dụ tin nhắn gửi lại khách hàng qua Telegram:
{
"chat_id": "USER_CHAT_ID",
"text": "Sản phẩm này có bảo hành 12 tháng!"
}
5. Thực hành: Tạo chatbot tư vấn sản phẩm tự động!
📌 Tình huống:
Khách hàng muốn hỏi về giá cả, bảo hành, và tính năng sản phẩm.
Chatbot sẽ tự động trả lời dựa trên dữ liệu AI.
Cách thực hiện:
-
Webhook Node – Nhận tin nhắn từ Telegram.
-
HTTP Request Node – Gửi câu hỏi đến ChatGPT hoặc Gemini AI.
-
Telegram Node – Gửi câu trả lời trở lại khách hàng.
📌 Ví dụ cuộc hội thoại thực tế:
💬 Khách hàng: Sản phẩm này có bảo hành không?
🤖 Chatbot: Dạ có! Sản phẩm của chúng tôi được bảo hành 12 tháng!
💬 Khách hàng: Giá bao nhiêu vậy?
🤖 Chatbot: Giá của sản phẩm là 1.500.000 VNĐ!
💬 Khách hàng: Có hỗ trợ giao hàng không?
🤖 Chatbot: Dạ có! Chúng tôi hỗ trợ giao hàng toàn quốc!
6. Thảo luận cuối bài – Chatbot giúp gì cho doanh nghiệp?
Ben: Vậy là chatbot có thể trả lời khách hàng 24/7 mà không cần con người! 🤩
Bon: Đúng vậy! Nhờ n8n và AI, chúng ta có thể tiết kiệm rất nhiều thời gian!
Chuyên gia: Chính xác! Chatbot không chỉ hỗ trợ khách hàng mà còn giúp doanh nghiệp chuyên nghiệp hơn! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Cách kết nối n8n với AI để tạo chatbot thông minh.
✅ Xây dựng workflow chatbot tự động trả lời khách hàng.
✅ Thực hành: Tạo chatbot tư vấn sản phẩm tự động.
BÀI HỌC 46: CHATBOT AI NÂNG CAO – TÍCH HỢP VỚI CƠ SỞ DỮ LIỆU KHÁCH HÀNG!
1. Hội thoại mở đầu – Chatbot thông minh hơn nhờ dữ liệu khách hàng!
Ben: Anh Bon ơi, chatbot bài trước rất hay, nhưng em muốn nó có thể nhớ thông tin khách hàng để tư vấn cá nhân hóa hơn! 🤔
Bon: Được đấy! Nếu chatbot có thể lấy dữ liệu từ cơ sở dữ liệu khách hàng, nó sẽ có thể đưa ra câu trả lời thông minh hơn!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ nâng cấp chatbot bằng cách kết nối với cơ sở dữ liệu khách hàng! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Cách tích hợp n8n với cơ sở dữ liệu khách hàng (MySQL, Google Sheets, Airtable, Notion, v.v.).
✅ Xây dựng chatbot AI có thể cá nhân hóa phản hồi cho từng khách hàng.
✅ Thực hành: Tạo chatbot hỗ trợ khách hàng VIP với dữ liệu cá nhân!
3. Cách hoạt động của chatbot AI có dữ liệu khách hàng
📌 Cấu trúc chatbot nâng cao:
-
Nhận tin nhắn từ khách hàng (Telegram, Messenger, Email).
-
Truy vấn dữ liệu khách hàng từ cơ sở dữ liệu (Google Sheets, MySQL, Airtable, v.v.).
-
Gửi dữ liệu khách hàng cùng câu hỏi đến AI (ChatGPT hoặc Gemini AI).
-
Nhận phản hồi và gửi lại cho khách hàng (qua Telegram, Messenger, Email).
📌 Yêu cầu:
-
Tài khoản OpenAI (ChatGPT API) hoặc Google AI (Gemini AI API).
-
Cơ sở dữ liệu khách hàng (Google Sheets, MySQL, Airtable, Notion, v.v.).
-
Tích hợp với Telegram, Messenger hoặc Email.
4. Hướng dẫn xây dựng chatbot AI có dữ liệu khách hàng
Bước 1: Tạo webhook nhận tin nhắn từ khách hàng
✔ Thêm Webhook Node trong n8n.
✔ Chọn Method: POST để nhận tin nhắn từ khách hàng.
✔ URL webhook sẽ dùng để kết nối với Telegram, Messenger.
📌 Dữ liệu nhận từ khách hàng:
{
"user_id": "12345",
"message": "Tôi có bao nhiêu điểm tích lũy?"
}
Bước 2: Truy vấn dữ liệu khách hàng từ cơ sở dữ liệu
✔ Thêm Google Sheets Node (hoặc MySQL Node) để lấy thông tin khách hàng.
✔ Dùng User ID để tìm kiếm dữ liệu khách hàng.
📌 Ví dụ dữ liệu trong Google Sheets:
User ID | Tên khách hàng | Loại khách hàng | Điểm tích lũy |
---|---|---|---|
12345 | Nguyễn Văn A | VIP | 5000 điểm |
67890 | Trần Thị B | Thường | 1200 điểm |
📌 Query MySQL để lấy dữ liệu khách hàng:
SELECT * FROM customers WHERE user_id = "12345";
📌 Dữ liệu trả về:
{
"user_id": "12345",
"name": "Nguyễn Văn A",
"customer_type": "VIP",
"points": 5000
}
Bước 3: Gửi dữ liệu khách hàng cùng câu hỏi đến AI
✔ Thêm HTTP Request Node để gọi API ChatGPT hoặc Gemini AI.
✔ Trong Body, gửi thông tin khách hàng và câu hỏi.
📌 Ví dụ dữ liệu gửi đến ChatGPT:
{
"model": "gpt-4",
"messages": [
{"role": "system", "content": "Bạn là trợ lý hỗ trợ khách hàng. Hãy tư vấn chuyên nghiệp và thân thiện."},
{"role": "user", "content": "Khách hàng Nguyễn Văn A (VIP) hỏi: Tôi có bao nhiêu điểm tích lũy?"}
]
}
📌 ChatGPT có thể trả lời:
{
"response": "Xin chào anh Nguyễn Văn A! Hiện tại, anh đang có 5000 điểm tích lũy. Anh có muốn đổi quà không?"
}
Bước 4: Gửi phản hồi đến khách hàng
✔ Thêm Telegram Node (hoặc Email Node) để gửi tin nhắn trả lời khách hàng.
📌 Ví dụ tin nhắn gửi lại khách hàng:
{
"chat_id": "USER_CHAT_ID",
"text": "Xin chào anh Nguyễn Văn A! Hiện tại, anh đang có 5000 điểm tích lũy. Anh có muốn đổi quà không?"
}
5. Thực hành: Tạo chatbot hỗ trợ khách hàng VIP với dữ liệu cá nhân!
📌 Tình huống:
Chatbot phải biết tên khách hàng, loại khách hàng (VIP hay thường), và số điểm tích lũy để trả lời câu hỏi một cách cá nhân hóa.
Cách thực hiện:
-
Webhook Node – Nhận tin nhắn từ Telegram.
-
Google Sheets Node / MySQL Node – Lấy thông tin khách hàng.
-
HTTP Request Node – Gửi dữ liệu đến ChatGPT hoặc Gemini AI.
-
Telegram Node – Gửi câu trả lời đến khách hàng.
📌 Ví dụ hội thoại thực tế:
💬 Khách hàng: Tôi có bao nhiêu điểm tích lũy?
🤖 Chatbot: Xin chào anh Nguyễn Văn A! Hiện tại, anh đang có 5000 điểm tích lũy. Anh có muốn đổi quà không?
💬 Khách hàng: Có ưu đãi nào dành cho khách hàng VIP không?
🤖 Chatbot: Anh là khách hàng VIP, nên anh được giảm 20% khi mua hàng!
6. Thảo luận cuối bài – Vì sao chatbot cần dữ liệu khách hàng?
Ben: Wow! Vậy là chatbot có thể tư vấn đúng với từng khách hàng luôn! 🤩
Bon: Đúng rồi! Nhờ kết nối với cơ sở dữ liệu, chatbot không chỉ trả lời chung chung mà còn có thể cá nhân hóa nội dung!
Chuyên gia: Chính xác! Nếu kết hợp với hệ thống quản lý khách hàng (CRM), chatbot sẽ càng thông minh hơn! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Cách tích hợp n8n với cơ sở dữ liệu khách hàng.
✅ Xây dựng chatbot AI có thể cá nhân hóa phản hồi.
✅ Thực hành: Tạo chatbot hỗ trợ khách hàng VIP.
BÀI HỌC 47: TÍCH HỢP CHATBOT AI VỚI HỆ THỐNG CRM – QUẢN LÝ KHÁCH HÀNG CHUYÊN NGHIỆP!
1. Hội thoại mở đầu – Chatbot thông minh hơn với CRM!
Ben: Anh Bon ơi, chatbot bài trước nhớ được dữ liệu khách hàng rồi, nhưng nếu mình muốn quản lý thông tin khách hàng lâu dài thì sao? 🤔
Bon: Ừm… Nếu khách hàng mới đổi số điện thoại hoặc cần theo dõi lịch sử giao dịch, chatbot có thể không biết ngay!
Chuyên gia: Đúng rồi! Để chatbot thực sự chuyên nghiệp, chúng ta cần tích hợp nó với một hệ thống CRM (Customer Relationship Management)! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ CRM là gì và tại sao quan trọng cho chatbot?
✅ Cách tích hợp chatbot AI với hệ thống CRM như HubSpot, Salesforce, Zoho CRM, Notion, Airtable, v.v.
✅ Xây dựng chatbot có thể cập nhật và lấy dữ liệu khách hàng từ CRM!
3. CRM là gì và tại sao cần tích hợp với chatbot?
📌 CRM (Customer Relationship Management) là hệ thống giúp doanh nghiệp quản lý thông tin khách hàng, bao gồm:
✔ Danh sách khách hàng (họ tên, số điện thoại, email, địa chỉ).
✔ Lịch sử giao dịch (mua hàng, khiếu nại, chăm sóc khách hàng).
✔ Phân loại khách hàng (VIP, thân thiết, tiềm năng).
✔ Tự động nhắc lịch chăm sóc khách hàng.
📌 Lợi ích khi tích hợp CRM vào chatbot:
✅ Chatbot có thể cập nhật thông tin khách hàng mới.
✅ Chatbot có thể truy vấn lịch sử giao dịch để tư vấn tốt hơn.
✅ Chatbot có thể tạo nhắc nhở và lịch hẹn để chăm sóc khách hàng tự động.
4. Hướng dẫn tích hợp chatbot AI với CRM trong n8n
📌 Cách hoạt động của hệ thống:
1️⃣ Khách hàng nhắn tin qua chatbot (Telegram, Messenger, Zalo, Email).
2️⃣ Chatbot kiểm tra thông tin khách hàng trong CRM (HubSpot, Salesforce, Notion, Airtable, v.v.).
3️⃣ Nếu khách hàng mới, chatbot tự động tạo hồ sơ trong CRM.
4️⃣ Nếu khách hàng cũ, chatbot lấy lịch sử giao dịch để tư vấn chính xác hơn.
5️⃣ Chatbot gửi phản hồi cá nhân hóa đến khách hàng.
5. Hướng dẫn thực hành – Kết nối chatbot AI với CRM!
📌 Ví dụ: Kết nối chatbot với HubSpot CRM để quản lý khách hàng tự động!
Bước 1: Tạo Webhook nhận tin nhắn từ khách hàng
✔ Thêm Webhook Node trong n8n.
✔ Chọn Method: POST để nhận tin nhắn từ Telegram, Messenger, Zalo.
📌 Dữ liệu nhận từ khách hàng:
{
"user_id": "12345",
"message": "Tôi muốn đặt lịch hẹn tư vấn!"
}
Bước 2: Kiểm tra thông tin khách hàng trong CRM
✔ Thêm HubSpot Node (hoặc Salesforce, Zoho CRM).
✔ Dùng User ID hoặc số điện thoại để tìm kiếm khách hàng trong CRM.
📌 Ví dụ API gọi HubSpot CRM để lấy thông tin khách hàng:
{
"method": "GET",
"url": "https://api.hubapi.com/contacts/v1/contact/email/johndoe@email.com/profile",
"headers": {
"Authorization": "Bearer YOUR_HUBSPOT_API_KEY"
}
}
📌 Dữ liệu trả về từ HubSpot CRM:
{
"user_id": "12345",
"name": "Nguyễn Văn A",
"email": "nguyenvana@email.com",
"customer_type": "VIP",
"last_purchase": "2024-03-15"
}
Bước 3: Nếu khách hàng mới, tạo hồ sơ trong CRM
✔ Thêm một nhánh kiểm tra:
-
Nếu khách hàng đã có trong CRM → lấy dữ liệu.
-
Nếu khách hàng mới → tạo hồ sơ trong CRM.
📌 Tạo khách hàng mới trong HubSpot CRM:
{
"method": "POST",
"url": "https://api.hubapi.com/contacts/v1/contact/",
"headers": {
"Authorization": "Bearer YOUR_HUBSPOT_API_KEY"
},
"body": {
"properties": [
{"property": "email", "value": "newcustomer@email.com"},
{"property": "firstname", "value": "Khách hàng mới"},
{"property": "phone", "value": "+84901234567"}
]
}
}
📌 Dữ liệu trả về nếu tạo thành công:
{
"message": "Khách hàng mới đã được thêm vào CRM!"
}
Bước 4: Gửi dữ liệu khách hàng đến ChatGPT hoặc Gemini AI
✔ Thêm HTTP Request Node để gửi dữ liệu đến ChatGPT.
✔ Gửi thông tin khách hàng cùng câu hỏi đến AI.
📌 Ví dụ dữ liệu gửi đến ChatGPT:
{
"model": "gpt-4",
"messages": [
{"role": "system", "content": "Bạn là trợ lý chăm sóc khách hàng thông minh."},
{"role": "user", "content": "Khách hàng Nguyễn Văn A (VIP) muốn đặt lịch hẹn tư vấn. Anh ấy mua hàng gần nhất vào ngày 2024-03-15. Hãy tư vấn lịch hẹn phù hợp!"}
]
}
📌 ChatGPT có thể trả lời:
{
"response": "Xin chào anh Nguyễn Văn A! Anh có muốn đặt lịch hẹn vào thứ 6 tuần này không? Chúng tôi có khung giờ 10h sáng và 3h chiều."
}
Bước 5: Gửi phản hồi cá nhân hóa đến khách hàng
✔ Thêm Telegram Node (hoặc Email Node) để gửi tin nhắn đến khách hàng.
📌 Ví dụ tin nhắn gửi lại khách hàng:
{
"chat_id": "USER_CHAT_ID",
"text": "Xin chào anh Nguyễn Văn A! Anh có muốn đặt lịch hẹn vào thứ 6 tuần này không? Chúng tôi có khung giờ 10h sáng và 3h chiều."
}
6. Thực hành: Tạo chatbot AI tự động cập nhật và tư vấn khách hàng trong CRM!
📌 Mô hình chatbot AI với CRM:
-
Khách hàng nhắn tin: "Tôi muốn đặt lịch hẹn tư vấn!"
-
Chatbot kiểm tra thông tin khách hàng trong CRM.
-
Nếu khách hàng mới → thêm vào CRM.
-
Gửi thông tin khách hàng đến AI để tư vấn lịch hẹn.
-
Chatbot gửi tin nhắn tư vấn lịch hẹn cho khách hàng.
7. Thảo luận cuối bài – Vì sao chatbot + CRM là giải pháp tối ưu?
Ben: Vậy là chatbot có thể tự động quản lý khách hàng luôn, không cần nhân viên nhập dữ liệu nữa! 🤩
Bon: Chính xác! Nó không chỉ giúp tiết kiệm thời gian mà còn đảm bảo thông tin khách hàng luôn cập nhật!
Chuyên gia: Đúng vậy! Nếu doanh nghiệp nào ứng dụng AI + CRM tốt, họ sẽ phục vụ khách hàng chuyên nghiệp hơn! 🚀
8. Kết luận
📌 Tóm tắt bài học:
✅ CRM giúp quản lý khách hàng chuyên nghiệp hơn.
✅ Chatbot AI có thể lấy và cập nhật dữ liệu trong CRM.
✅ Thực hành: Tích hợp chatbot AI với HubSpot CRM!
BÀI HỌC 48: CHATBOT AI TỰ ĐỘNG CHĂM SÓC KHÁCH HÀNG VỚI EMAIL & SMS!
1. Hội thoại mở đầu – Chatbot có thể gửi Email & SMS không?
Ben: Anh Bon ơi, nếu chatbot đã biết thông tin khách hàng, nó có thể gửi Email hay SMS để nhắc hẹn không? 📩📱
Bon: Ừ nhỉ! Chứ không lẽ lúc nào khách cũng phải nhắn tin cho chatbot để hỏi thông tin?
Chuyên gia: Chính xác! Một chatbot AI thông minh không chỉ chờ khách hàng nhắn tin mà còn chủ động gửi Email hoặc SMS để nhắc hẹn, cập nhật khuyến mãi, hoặc chăm sóc khách hàng tự động! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết:
✅ Cách tích hợp chatbot AI với hệ thống Email (Gmail, Outlook, SendGrid, v.v.).
✅ Cách gửi SMS tự động qua Twilio hoặc dịch vụ khác.
✅ Tạo workflow chăm sóc khách hàng tự động với n8n!
3. Vì sao cần gửi Email & SMS tự động?
💡 Tình huống thực tế:
-
Một khách hàng đặt lịch hẹn nhưng dễ quên => Chatbot tự động gửi Email nhắc lịch.
-
Một khách hàng đã mua hàng => Chatbot gửi SMS cảm ơn và khuyến mãi.
-
Một khách hàng chưa hoàn tất đơn hàng => Chatbot gửi Email nhắc nhở.
📌 Lợi ích của Email & SMS tự động:
✅ Tăng tỉ lệ khách hàng quay lại nhờ nhắc nhở kịp thời.
✅ Chăm sóc khách hàng chuyên nghiệp, không bỏ sót ai.
✅ Tự động hóa marketing và tăng doanh thu.
4. Hướng dẫn thực hành – Tạo workflow gửi Email & SMS tự động trong n8n!
📌 Cách hoạt động của hệ thống:
1️⃣ Chatbot lưu thông tin khách hàng vào CRM (HubSpot, Salesforce, Notion, v.v.).
2️⃣ Kiểm tra điều kiện gửi thông báo:
-
Nếu sắp đến lịch hẹn → Gửi Email/SMS nhắc nhở.
-
Nếu khách hàng vừa mua hàng → Gửi Email cảm ơn.
-
Nếu khách hàng chưa hoàn tất đơn hàng → Gửi SMS nhắc nhở.
3️⃣ Gửi thông báo qua Email (SendGrid, Gmail) hoặc SMS (Twilio, Vonage).
5. Hướng dẫn chi tiết – Gửi Email chăm sóc khách hàng
Bước 1: Tạo workflow trong n8n
✔ Thêm Trigger Node (Schedule hoặc Webhook) để chạy workflow theo thời gian hoặc khi có sự kiện từ CRM.
📌 Ví dụ: Kích hoạt workflow mỗi ngày lúc 8h sáng để kiểm tra khách hàng cần nhắc lịch.
Bước 2: Lấy danh sách khách hàng cần gửi Email
✔ Thêm HubSpot Node (hoặc Notion/Airtable) để lấy danh sách khách hàng có lịch hẹn trong hôm nay.
📌 Ví dụ API gọi HubSpot CRM để lấy dữ liệu khách hàng cần nhắc lịch:
{
"method": "GET",
"url": "https://api.hubapi.com/contacts/v1/lists/all/contacts/recent",
"headers": {
"Authorization": "Bearer YOUR_HUBSPOT_API_KEY"
}
}
📌 Dữ liệu trả về:
[
{"name": "Nguyễn Văn A", "email": "nguyenvana@email.com", "appointment": "2025-03-28"},
{"name": "Trần Thị B", "email": "tranthib@email.com", "appointment": "2025-03-28"}
]
Bước 3: Gửi Email tự động bằng Gmail/SendGrid
✔ Thêm Send Email Node (hoặc Gmail Node) để gửi Email nhắc nhở.
📌 Cấu hình Gmail Node trong n8n:
-
To:
{{$json["email"]}}
-
Subject: "Nhắc hẹn: Lịch tư vấn của bạn vào hôm nay!"
-
Body:
Xin chào {{$json["name"]}},<br><br>
Bạn có lịch hẹn vào hôm nay. Hãy kiểm tra lại thời gian và chuẩn bị nhé!<br><br>
Trân trọng,<br>
Đội ngũ hỗ trợ khách hàng
📌 Dữ liệu gửi qua API SendGrid:
{
"personalizations": [{
"to": [{"email": "nguyenvana@email.com"}],
"subject": "Nhắc hẹn: Lịch tư vấn của bạn vào hôm nay!"
}],
"from": {"email": "support@company.com"},
"content": [{"type": "text/html", "value": "Xin chào Nguyễn Văn A, bạn có lịch hẹn vào hôm nay!"}]
}
6. Hướng dẫn chi tiết – Gửi SMS chăm sóc khách hàng
Bước 1: Kết nối với dịch vụ SMS (Twilio, Vonage)
✔ Thêm Twilio Node trong n8n để gửi SMS.
✔ Nhập Twilio Account SID, Auth Token và số điện thoại gửi tin.
📌 Ví dụ cấu hình Twilio Node:
-
To:
{{$json["phone"]}}
-
From:
+123456789
-
Message:
Xin chào {{$json["name"]}}, bạn có lịch hẹn vào hôm nay. Hãy kiểm tra lại nhé!
📌 Dữ liệu gửi qua API Twilio:
{
"to": "+84901234567",
"from": "+123456789",
"body": "Xin chào Nguyễn Văn A, bạn có lịch hẹn vào hôm nay. Hãy kiểm tra lại nhé!"
}
7. Thực hành: Tạo chatbot tự động gửi Email & SMS cho khách hàng!
📌 Mô hình hoàn chỉnh:
1️⃣ Hàng ngày, n8n lấy danh sách khách hàng có lịch hẹn từ CRM.
2️⃣ Gửi Email nhắc nhở bằng Gmail hoặc SendGrid.
3️⃣ Gửi SMS nhắc nhở bằng Twilio hoặc Vonage.
4️⃣ Cập nhật trạng thái đã gửi thông báo vào CRM.
8. Thảo luận cuối bài – Chatbot chăm sóc khách hàng chuyên nghiệp!
Ben: Vậy là từ nay, chatbot có thể chủ động nhắc hẹn qua Email và SMS luôn rồi! 🤩
Bon: Quá tiện! Không cần nhân viên phải gọi điện từng khách hàng nữa!
Chuyên gia: Đúng rồi! Chatbot thông minh + Email & SMS sẽ giúp doanh nghiệp tiết kiệm thời gian và tăng hiệu suất chăm sóc khách hàng! 🚀
9. Kết luận
📌 Tóm tắt bài học:
✅ Gửi Email nhắc nhở tự động bằng Gmail/SendGrid.
✅ Gửi SMS tự động bằng Twilio/Vonage.
✅ Tạo workflow chăm sóc khách hàng hoàn toàn tự động!
BÀI HỌC 49: CHATBOT AI TỰ ĐỘNG THEO DÕI VÀ ĐÁNH GIÁ KHÁCH HÀNG TIỀM NĂNG!
1. Hội thoại mở đầu – Chatbot có thể đánh giá khách hàng không?
Ben: Anh Bon ơi, chatbot có thể giúp mình biết khách hàng nào tiềm năng nhất không? 🤔
Bon: Ý em là sao?
Ben: Ví dụ: Một khách hàng hay truy cập website, mở Email khuyến mãi, nhắn tin hỏi giá sản phẩm… có thể là khách hàng tiềm năng. Nếu chatbot biết điều này, nó có thể ưu tiên chăm sóc họ hơn!
Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách tạo một hệ thống chatbot AI theo dõi và đánh giá khách hàng tiềm năng tự động bằng n8n! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Thu thập dữ liệu hành vi khách hàng từ nhiều nguồn (website, Email, chatbot, CRM).
✅ Tính điểm khách hàng tiềm năng (Lead Scoring) dựa trên hành vi của họ.
✅ Tự động phân loại khách hàng để tối ưu chiến lược marketing & bán hàng.
3. Vì sao cần đánh giá khách hàng tiềm năng?
💡 Tình huống thực tế:
-
Một công ty nhận hàng nghìn khách hàng mỗi ngày, nhưng không biết ai thực sự muốn mua hàng.
-
Nếu chỉ chăm sóc tất cả khách như nhau, sẽ mất thời gian và tốn tài nguyên.
-
Nếu chatbot có thể chấm điểm khách hàng tiềm năng, doanh nghiệp sẽ tập trung vào những khách hàng có khả năng mua hàng cao nhất!
📌 Lợi ích:
✅ Giúp đội ngũ bán hàng tập trung vào khách hàng tiềm năng nhất.
✅ Tăng tỷ lệ chuyển đổi từ khách hàng quan tâm → khách hàng mua hàng.
✅ Tối ưu hóa chi phí marketing & chăm sóc khách hàng.
4. Hướng dẫn thực hành – Tạo hệ thống theo dõi và đánh giá khách hàng tiềm năng
📌 Cách hoạt động của hệ thống:
1️⃣ Thu thập dữ liệu khách hàng từ nhiều nguồn:
-
Website (Google Analytics, Facebook Pixel)
-
Chatbot (Facebook Messenger, Telegram, WhatsApp)
-
Email (SendGrid, Gmail)
-
CRM (HubSpot, Salesforce, Notion)
2️⃣ Gán điểm khách hàng dựa trên hành vi (Lead Scoring): -
Truy cập website nhiều lần: +10 điểm
-
Mở Email khuyến mãi: +15 điểm
-
Nhắn tin hỏi về sản phẩm: +20 điểm
-
Thêm sản phẩm vào giỏ hàng: +30 điểm
-
Đã từng mua hàng: +50 điểm
3️⃣ Tự động phân loại khách hàng: -
0 - 30 điểm: Khách hàng tiềm năng thấp.
-
31 - 70 điểm: Khách hàng có thể quan tâm.
-
71+ điểm: Khách hàng rất tiềm năng, cần chăm sóc ngay!
4️⃣ Gửi Email & SMS phù hợp với từng nhóm khách hàng.
5. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Lấy dữ liệu hành vi khách hàng từ nhiều nguồn
✔ Thêm Google Analytics Node để lấy dữ liệu truy cập website.
✔ Thêm Facebook Messenger Node để lấy dữ liệu từ chatbot.
✔ Thêm Gmail/SendGrid Node để kiểm tra ai mở Email.
✔ Thêm HubSpot Node để lấy dữ liệu khách hàng từ CRM.
📌 Ví dụ API lấy dữ liệu từ Google Analytics:
{
"method": "GET",
"url": "https://analytics.googleapis.com/v4/reports",
"params": {
"viewId": "123456",
"metrics": "pageviews,sessions",
"dimensions": "userId"
},
"headers": {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
}
📌 Dữ liệu trả về:
[
{"userId": "001", "pageviews": 5, "sessions": 2},
{"userId": "002", "pageviews": 15, "sessions": 5}
]
Bước 2: Gán điểm khách hàng dựa trên hành vi (Lead Scoring)
✔ Thêm Function Node để tính điểm dựa trên dữ liệu thu thập được.
📌 Mã JavaScript để tính điểm khách hàng:
const customer = $json;
let score = 0;
if (customer.pageviews > 5) score += 10;
if (customer.sessions > 3) score += 10;
if (customer.emailOpened) score += 15;
if (customer.messengerChats > 2) score += 20;
if (customer.addedToCart) score += 30;
if (customer.purchased) score += 50;
return { userId: customer.userId, score: score };
📌 Dữ liệu sau khi tính điểm:
[
{"userId": "001", "score": 25},
{"userId": "002", "score": 75}
]
Bước 3: Phân loại khách hàng và gửi thông báo phù hợp
✔ Thêm Switch Node để phân loại khách hàng theo điểm số.
✔ Gửi Email/SMS phù hợp với từng nhóm.
📌 Logic phân loại:
-
0 - 30 điểm: Gửi Email khuyến mãi nhẹ.
-
31 - 70 điểm: Gửi tin nhắn tư vấn từ chatbot.
-
71+ điểm: Nhân viên sale liên hệ trực tiếp!
📌 Ví dụ cấu hình SendGrid Node gửi Email:
{
"to": "khachhang@email.com",
"subject": "Cảm ơn bạn đã quan tâm!",
"body": "Chúng tôi có ưu đãi đặc biệt dành cho bạn. Hãy kiểm tra ngay!"
}
📌 Ví dụ cấu hình Twilio Node gửi SMS:
{
"to": "+84901234567",
"from": "+123456789",
"body": "Chào bạn, bạn có muốn nhận tư vấn chi tiết về sản phẩm của chúng tôi không?"
}
6. Thực hành: Xây dựng hệ thống đánh giá khách hàng tự động!
📌 Mô hình hoàn chỉnh:
1️⃣ Lấy dữ liệu từ website, chatbot, Email, CRM.
2️⃣ Tính điểm khách hàng theo hành vi (Lead Scoring).
3️⃣ Phân loại khách hàng và gửi thông báo phù hợp.
4️⃣ Lưu kết quả vào CRM để theo dõi.
7. Thảo luận cuối bài – Chatbot có thể hỗ trợ kinh doanh thông minh!
Ben: Wow, vậy là từ nay chatbot không chỉ trả lời khách hàng mà còn biết ai là khách tiềm năng để chăm sóc kỹ hơn! 🤩
Bon: Đúng vậy! Không cần mất công gọi từng khách hàng mà chỉ tập trung vào những người có khả năng mua cao nhất!
Chuyên gia: Chính xác! Đây chính là cách các doanh nghiệp lớn tối ưu hóa quy trình bán hàng bằng AI & tự động hóa! 🚀
8. Kết luận
📌 Tóm tắt bài học:
✅ Tự động thu thập dữ liệu khách hàng từ nhiều nguồn.
✅ Gán điểm khách hàng dựa trên hành vi (Lead Scoring).
✅ Phân loại khách hàng & gửi thông báo phù hợp.
BÀI HỌC 50: TỰ ĐỘNG CẬP NHẬT DỮ LIỆU KHÁCH HÀNG VÀO CRM VỚI n8n!
1. Hội thoại mở đầu – Làm sao để CRM luôn có dữ liệu mới nhất?
Ben: Anh Bon ơi, mình vừa học cách chấm điểm khách hàng tiềm năng. Nhưng làm sao để lưu thông tin này vào CRM nhỉ?
Bon: Ừ nhỉ! Nếu không cập nhật vào hệ thống, thì nhân viên bán hàng cũng không biết ai là khách hàng tiềm năng!
Chuyên gia: Chính xác! Vì vậy, hôm nay chúng ta sẽ học cách tự động cập nhật dữ liệu khách hàng vào CRM bằng n8n! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Tích hợp n8n với CRM như HubSpot, Salesforce, Zoho CRM, Notion…
✅ Tự động cập nhật thông tin khách hàng vào CRM.
✅ Đồng bộ điểm số khách hàng tiềm năng (Lead Scoring) vào CRM.
✅ Tự động tạo khách hàng mới nếu họ chưa có trong CRM.
3. Vì sao cần tự động cập nhật CRM?
💡 Vấn đề thường gặp:
-
Khách hàng tương tác trên website, chatbot, Email… nhưng không được lưu vào CRM.
-
Dữ liệu khách hàng bị lỗi thời, gây khó khăn cho đội ngũ bán hàng.
-
Không có hệ thống đánh giá khách hàng tự động, dẫn đến mất khách hàng tiềm năng.
✅ Giải pháp: Tự động cập nhật dữ liệu vào CRM với n8n giúp:
-
🚀 CRM luôn có dữ liệu mới nhất về khách hàng.
-
🎯 Nhân viên sale biết khách hàng nào đang quan tâm và cần chăm sóc.
-
📈 Doanh nghiệp có thể tối ưu chiến lược bán hàng dựa trên dữ liệu thực tế.
4. Hướng dẫn thực hành – Tích hợp n8n với CRM để cập nhật dữ liệu tự động
📌 Mô hình hoạt động:
1️⃣ Thu thập dữ liệu khách hàng từ nhiều nguồn (Website, Chatbot, Email, Facebook Ads).
2️⃣ Tính điểm khách hàng tiềm năng (Lead Scoring).
3️⃣ Kiểm tra xem khách hàng đã có trong CRM chưa.
4️⃣ Nếu có, cập nhật thông tin mới (hành vi, điểm số, lịch sử tương tác).
5️⃣ Nếu chưa có, tạo khách hàng mới vào CRM.
5. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Thu thập dữ liệu khách hàng từ nhiều nguồn
✔ Thêm Google Analytics Node để lấy dữ liệu truy cập website.
✔ Thêm Facebook Messenger Node để lấy dữ liệu từ chatbot.
✔ Thêm Gmail/SendGrid Node để kiểm tra ai mở Email.
✔ Thêm Facebook Ads Node để lấy danh sách khách hàng tiềm năng.
📌 Ví dụ dữ liệu thu thập được từ nhiều nguồn:
{
"userId": "001",
"name": "Nguyễn Văn A",
"email": "nguyenvana@email.com",
"phone": "+84901234567",
"pageviews": 15,
"emailOpened": true,
"messengerChats": 3,
"addedToCart": true,
"purchased": false
}
Bước 2: Tính điểm khách hàng tiềm năng (Lead Scoring)
✔ Thêm Function Node để tính điểm khách hàng dựa trên hành vi.
📌 Mã JavaScript để tính điểm khách hàng:
const customer = $json;
let score = 0;
if (customer.pageviews > 5) score += 10;
if (customer.emailOpened) score += 15;
if (customer.messengerChats > 2) score += 20;
if (customer.addedToCart) score += 30;
if (customer.purchased) score += 50;
return { ...customer, score };
📌 Dữ liệu sau khi tính điểm:
{
"userId": "001",
"name": "Nguyễn Văn A",
"email": "nguyenvana@email.com",
"phone": "+84901234567",
"score": 75
}
Bước 3: Kiểm tra xem khách hàng đã có trong CRM chưa
✔ Thêm HubSpot CRM Node (hoặc Salesforce, Zoho CRM, Notion…).
✔ Dùng API để tìm kiếm khách hàng theo Email hoặc số điện thoại.
📌 Cấu hình HubSpot Node để tìm khách hàng theo Email:
{
"method": "GET",
"url": "https://api.hubapi.com/contacts/v1/contact/email/nguyenvana@email.com/profile",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
}
📌 Dữ liệu trả về:
{
"contactId": "12345",
"name": "Nguyễn Văn A",
"email": "nguyenvana@email.com",
"phone": "+84901234567",
"score": 50
}
Bước 4: Cập nhật khách hàng trong CRM
✔ Nếu khách hàng đã tồn tại, cập nhật điểm số và thông tin mới.
✔ Nếu chưa có, tạo khách hàng mới.
📌 Cấu hình HubSpot Node để cập nhật khách hàng:
{
"method": "POST",
"url": "https://api.hubapi.com/contacts/v1/contact/vid/12345/profile",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
"body": {
"properties": [
{"property": "score", "value": 75},
{"property": "phone", "value": "+84901234567"}
]
}
}
📌 Cấu hình HubSpot Node để tạo khách hàng mới:
{
"method": "POST",
"url": "https://api.hubapi.com/contacts/v1/contact",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
"body": {
"properties": [
{"property": "email", "value": "nguyenvana@email.com"},
{"property": "firstname", "value": "Nguyễn Văn A"},
{"property": "phone", "value": "+84901234567"},
{"property": "score", "value": 75}
]
}
}
6. Thảo luận cuối bài – CRM luôn có dữ liệu mới nhất!
Ben: Wow, vậy là từ nay không cần nhập tay khách hàng vào CRM nữa! 😍
Bon: Đúng vậy! Bất kỳ khách hàng nào tương tác với chatbot, website, Email… sẽ tự động cập nhật vào CRM!
Chuyên gia: Chính xác! Nhờ đó, nhân viên bán hàng luôn có dữ liệu mới nhất để chăm sóc khách hàng hiệu quả! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Tự động thu thập dữ liệu khách hàng từ nhiều nguồn.
✅ Tính điểm khách hàng tiềm năng (Lead Scoring).
✅ Tìm kiếm và cập nhật thông tin khách hàng vào CRM.
✅ Tạo khách hàng mới nếu chưa có trong CRM.
BÀI HỌC 51: CHUYỂN ĐỔI GIỌNG NÓI THÀNH VĂN BẢN VỚI WHISPER API!
1. Hội thoại mở đầu – Biến giọng nói thành văn bản tự động!
Ben: Anh Bon ơi, đôi khi em lười gõ văn bản lắm, có cách nào nói và hệ thống tự ghi lại không?
Bon: Có đấy! OpenAI có một công nghệ gọi là Whisper AI, nó có thể chuyển đổi giọng nói thành văn bản tự động!
Chuyên gia: Chính xác! Hôm nay chúng ta sẽ học cách sử dụng Whisper API trong n8n để tự động chuyển đổi giọng nói thành văn bản! 🎤➡📝
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Kết nối n8n với OpenAI Whisper API.
✅ Chuyển đổi file âm thanh thành văn bản tự động.
✅ Tích hợp với Google Docs, Notion hoặc CRM để lưu trữ nội dung.
✅ Ứng dụng thực tế: Ghi chú tự động, tạo phụ đề video, chatbot giọng nói.
3. Whisper API là gì?
💡 Whisper API là một mô hình AI của OpenAI có thể chuyển đổi giọng nói thành văn bản chính xác với nhiều ngôn ngữ.
🔹 Ưu điểm:
-
Nhận diện giọng nói cực kỳ chính xác.
-
Hỗ trợ nhiều ngôn ngữ (Tiếng Anh, Tiếng Việt, Tiếng Đức, v.v.).
-
Có thể nhận diện giọng nói từ file âm thanh hoặc micro.
🔹 Ứng dụng:
-
Tạo phụ đề tự động cho video.
-
Ghi chú họp tự động bằng giọng nói.
-
Chatbot giọng nói tương tác với người dùng.
4. Hướng dẫn thực hành – Chuyển giọng nói thành văn bản bằng n8n!
📌 Mô hình hoạt động:
1️⃣ Nhận file âm thanh từ người dùng (tải lên hoặc ghi âm trực tiếp).
2️⃣ Gửi file đến Whisper API để chuyển đổi giọng nói thành văn bản.
3️⃣ Lưu kết quả vào Google Docs, Notion, hoặc gửi qua Email.
5. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Nhận file âm thanh từ người dùng
✔ Sử dụng Telegram Node hoặc Webhook để nhận file âm thanh.
✔ Nếu file từ Telegram, tải file xuống.
📌 Telegram Trigger Node (Nhận file từ người dùng)
-
Trigger: Khi người dùng gửi file âm thanh.
-
Output: Đường dẫn file cần xử lý.
Bước 2: Gửi file đến Whisper API để nhận diện giọng nói
✔ Thêm HTTP Request Node để gọi OpenAI Whisper API.
✔ Cấu hình request gửi file đến API.
📌 Cấu hình HTTP Request Node:
-
Method:
POST
-
URL:
https://api.openai.com/v1/audio/transcriptions
-
Headers:
{ "Authorization": "Bearer YOUR_OPENAI_API_KEY", "Content-Type": "multipart/form-data" }
-
Body:
{ "file": "your_audio_file.mp3", "model": "whisper-1", "language": "vi" }
📌 Dữ liệu trả về:
{
"text": "Xin chào, đây là một bài kiểm tra chuyển giọng nói thành văn bản."
}
Bước 3: Lưu kết quả vào Google Docs hoặc Notion
✔ Thêm Google Docs Node để lưu văn bản.
✔ Hoặc thêm Notion Node để tạo ghi chú tự động.
📌 Cấu hình Google Docs Node:
-
Chọn tài khoản Google Drive.
-
Tạo tài liệu mới hoặc cập nhật tài liệu có sẵn.
-
Dán nội dung văn bản từ Whisper API vào.
📌 Dữ liệu trong Google Docs sau khi cập nhật:
Ghi chú tự động:
Xin chào, đây là một bài kiểm tra chuyển giọng nói thành văn bản.
Bước 4: Gửi kết quả qua Email hoặc Telegram
✔ Thêm Gmail Node để gửi kết quả qua Email.
✔ Hoặc dùng Telegram Node để gửi văn bản đến người dùng.
📌 Cấu hình Gmail Node:
-
To:
email_user@gmail.com
-
Subject:
Bản ghi âm của bạn đã được chuyển thành văn bản!
-
Body:
Xin chào, Dưới đây là nội dung bạn vừa ghi âm: "Xin chào, đây là một bài kiểm tra chuyển giọng nói thành văn bản."
6. Thảo luận cuối bài – Ứng dụng thực tế của Whisper API!
Ben: Vậy là bây giờ em có thể nói thay vì gõ văn bản rồi! 🎉
Bon: Đúng rồi! Cái này còn có thể dùng để tạo phụ đề cho video hoặc chatbot giọng nói nữa!
Chuyên gia: Chính xác! Whisper API có thể giúp tự động hóa rất nhiều công việc. Giờ chúng ta có thể xây dựng chatbot biết lắng nghe và trả lời bằng giọng nói! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Tích hợp Whisper API vào n8n để nhận diện giọng nói.
✅ Chuyển đổi giọng nói thành văn bản tự động.
✅ Lưu kết quả vào Google Docs, Notion, hoặc gửi qua Email.
✅ Ứng dụng thực tế: Chatbot giọng nói, ghi chú họp tự động, tạo phụ đề video.
BÀI HỌC 52: TÍCH HỢP AI VỚI n8n ĐỂ TỰ ĐỘNG PHÂN TÍCH VĂN BẢN VÀ ĐƯA RA PHẢN HỒI THÔNG MINH!
1. Hội thoại mở đầu – AI giúp hiểu và phản hồi thông minh!
Ben: Anh Bon ơi, em viết xong bài tập mà không biết có lỗi sai không. Ước gì có AI giúp kiểm tra!
Bon: Dễ thôi! Chúng ta có thể tích hợp OpenAI GPT vào n8n để phân tích nội dung và đưa ra phản hồi tự động!
Chuyên gia: Đúng vậy! Hôm nay chúng ta sẽ học cách dùng AI để phân tích văn bản và phản hồi thông minh trong n8n! 🤖💬
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Tích hợp OpenAI GPT vào n8n để phân tích nội dung văn bản.
✅ Đưa ra phản hồi thông minh, ví dụ: kiểm tra chính tả, tóm tắt nội dung, hoặc phân tích cảm xúc.
✅ Tích hợp với Email, Telegram hoặc Google Docs để tự động phản hồi.
✅ Ứng dụng thực tế: Chấm điểm bài viết, chatbot hỗ trợ khách hàng, phân tích bình luận.
3. Cách AI phân tích văn bản và phản hồi thông minh
💡 AI có thể làm gì với văn bản?
🔹 Kiểm tra chính tả & ngữ pháp – Xác định lỗi sai và gợi ý sửa đổi.
🔹 Tóm tắt văn bản – Tạo bản tóm tắt ngắn gọn từ nội dung dài.
🔹 Phân tích cảm xúc – Xác định nội dung là tích cực, tiêu cực hay trung lập.
🔹 Trả lời tự động – Dựa trên nội dung, AI có thể phản hồi như một chatbot.
📌 Ứng dụng thực tế:
✔ Chấm điểm bài tập của học sinh.
✔ Tự động phản hồi email khách hàng.
✔ Phân tích bình luận trên mạng xã hội.
4. Hướng dẫn thực hành – Phân tích văn bản bằng AI trong n8n!
📌 Mô hình hoạt động:
1️⃣ Nhận văn bản từ người dùng qua Telegram, Email hoặc Google Docs.
2️⃣ Gửi văn bản đến AI để phân tích.
3️⃣ Nhận kết quả và tự động phản hồi người dùng.
5. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Nhận văn bản từ người dùng
✔ Dùng Telegram Node, Gmail Node hoặc Google Docs Node để nhận văn bản.
📌 Telegram Trigger Node (Nhận tin nhắn từ người dùng)
-
Trigger: Khi người dùng gửi tin nhắn văn bản.
-
Output: Nội dung văn bản cần phân tích.
Bước 2: Gửi văn bản đến OpenAI GPT để phân tích
✔ Thêm HTTP Request Node để gửi văn bản đến OpenAI GPT.
📌 Cấu hình HTTP Request Node:
-
Method:
POST
-
URL:
https://api.openai.com/v1/chat/completions
-
Headers:
{ "Authorization": "Bearer YOUR_OPENAI_API_KEY", "Content-Type": "application/json" }
-
Body:
{ "model": "gpt-4", "messages": [ {"role": "system", "content": "Bạn là một trợ lý AI chuyên phân tích văn bản."}, {"role": "user", "content": "Phân tích nội dung sau và cho phản hồi: [Nội dung văn bản từ người dùng]"} ] }
📌 Dữ liệu trả về:
{
"choices": [
{
"message": {
"content": "Văn bản có nội dung rõ ràng, nhưng có một số lỗi chính tả cần chỉnh sửa. Gợi ý sửa đổi..."
}
}
]
}
Bước 3: Gửi kết quả phân tích đến người dùng
✔ Dùng Telegram Node hoặc Gmail Node để gửi phản hồi tự động.
📌 Cấu hình Telegram Send Node:
-
To: Người gửi ban đầu.
-
Message:
AI đã phân tích văn bản của bạn: "Văn bản có nội dung rõ ràng, nhưng có một số lỗi chính tả cần chỉnh sửa. Gợi ý sửa đổi..."
📌 Cấu hình Gmail Node (Gửi email phản hồi)
-
To:
email_user@gmail.com
-
Subject:
Phân tích văn bản từ AI
-
Body:
Xin chào, Dưới đây là phân tích AI về nội dung bạn gửi: "Văn bản có nội dung rõ ràng, nhưng có một số lỗi chính tả cần chỉnh sửa. Gợi ý sửa đổi..."
6. Thảo luận cuối bài – AI giúp gì cho công việc?
Ben: Vậy là em có thể kiểm tra bài viết mà không cần nhờ thầy cô nữa! 📖
Bon: Không chỉ vậy! AI còn có thể giúp tóm tắt tài liệu và phản hồi tự động cho khách hàng!
Chuyên gia: Đúng vậy! AI + n8n giúp tự động hóa công việc, giúp bạn làm việc nhanh hơn và thông minh hơn! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Tích hợp OpenAI GPT vào n8n để phân tích văn bản.
✅ Nhận diện lỗi chính tả, tóm tắt nội dung, phân tích cảm xúc.
✅ Tự động phản hồi qua Email hoặc Telegram.
✅ Ứng dụng thực tế: Chấm bài tự động, chatbot hỗ trợ khách hàng, phân tích bình luận.
BÀI HỌC 53: TÍCH HỢP AI VÀO n8n ĐỂ TẠO NỘI DUNG TỰ ĐỘNG – VIẾT BÀI BLOG, BÀI QUẢNG CÁO!
1. Hội thoại mở đầu – AI có thể viết bài thay con người?
🔹 Ben: Anh Bon ơi, viết blog và bài quảng cáo thật mất thời gian!
🔹 Bon: Đúng rồi, nhưng nếu dùng AI thì sao? AI có thể tự động viết bài blog hoặc nội dung quảng cáo!
🔹 Chuyên gia: Chính xác! Hôm nay, chúng ta sẽ học cách tích hợp AI vào n8n để tạo nội dung tự động, giúp bạn viết blog, quảng cáo, và hơn thế nữa! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Sử dụng OpenAI (ChatGPT) hoặc Gemini để tạo bài viết tự động.
✅ Tạo bài blog, bài quảng cáo hoặc bài đăng mạng xã hội chỉ với một cú click!
✅ Tích hợp AI với Google Sheets, Notion hoặc WordPress để đăng bài tự động.
✅ Ứng dụng thực tế: Viết nội dung tiếp thị, bài PR, mô tả sản phẩm.
3. AI có thể tạo nội dung như thế nào?
💡 AI có thể giúp bạn viết gì?
📌 Viết bài blog chuyên sâu – AI có thể tạo nội dung dài, giàu thông tin.
📌 Viết bài quảng cáo (copywriting) – Tạo nội dung hấp dẫn để thu hút khách hàng.
📌 Viết bài cho mạng xã hội – Tự động tạo caption cho Facebook, Instagram, LinkedIn.
📌 Viết mô tả sản phẩm – Tối ưu SEO, giúp tăng tỷ lệ chuyển đổi.
📌 Ứng dụng thực tế:
✔ Doanh nghiệp – Tạo nội dung quảng cáo, email marketing tự động.
✔ Blogger – Viết bài blog nhanh chóng mà vẫn chất lượng.
✔ E-commerce – Viết mô tả sản phẩm hấp dẫn và tối ưu SEO.
4. Hướng dẫn thực hành – Tạo nội dung tự động với AI trong n8n!
📌 Mô hình hoạt động:
1️⃣ Nhận chủ đề từ người dùng (qua Telegram, Google Sheets, hoặc Form).
2️⃣ Gửi chủ đề đến OpenAI/Gemini để tạo nội dung.
3️⃣ Nhận kết quả và lưu vào Notion, Google Docs hoặc đăng lên WordPress.
5. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Nhận chủ đề bài viết từ người dùng
✔ Dùng Google Sheets, Notion hoặc Telegram để lấy chủ đề.
📌 Cấu hình Google Sheets Node:
-
Sheet Name:
Blog Ideas
-
Column A: Chủ đề bài viết
📌 Cấu hình Telegram Trigger Node:
-
Trigger: Khi có người nhắn tin với từ khóa “Viết bài”
-
Output: Chủ đề bài viết
Bước 2: Gửi chủ đề đến OpenAI/Gemini để tạo nội dung
✔ Thêm HTTP Request Node để gửi dữ liệu đến OpenAI/Gemini.
📌 Cấu hình HTTP Request Node (ChatGPT API):
-
Method:
POST
-
URL:
https://api.openai.com/v1/chat/completions
-
Headers:
{ "Authorization": "Bearer YOUR_OPENAI_API_KEY", "Content-Type": "application/json" }
-
Body:
{ "model": "gpt-4", "messages": [ {"role": "system", "content": "Bạn là một chuyên gia viết bài quảng cáo và blog."}, {"role": "user", "content": "Viết một bài blog dài 500 từ về chủ đề: [Chủ đề bài viết từ Google Sheets hoặc Telegram]"} ] }
📌 Dữ liệu trả về:
{
"choices": [
{
"message": {
"content": "Bài viết hoàn chỉnh về chủ đề đã yêu cầu..."
}
}
]
}
Bước 3: Lưu bài viết vào Notion hoặc Google Docs
✔ Dùng Notion Node hoặc Google Docs Node để lưu bài viết.
📌 Cấu hình Notion Node:
-
Database ID:
Blog Posts
-
Title: Chủ đề bài viết
-
Content: Nội dung từ OpenAI
📌 Cấu hình Google Docs Node:
-
Tên file:
Bài viết mới
-
Nội dung: Nội dung từ OpenAI
Bước 4: Đăng bài lên WordPress tự động
✔ Dùng WordPress Node để đăng bài trực tiếp lên website.
📌 Cấu hình WordPress Node:
-
Endpoint:
https://yourwebsite.com/wp-json/wp/v2/posts
-
Title: Chủ đề bài viết
-
Content: Nội dung bài viết
-
Status:
publish
(Tự động đăng)
6. Thảo luận cuối bài – AI giúp gì cho nội dung?
🔹 Ben: Vậy là mình có thể tạo hàng loạt bài viết chỉ trong vài phút! ⏳
🔹 Bon: Đúng rồi! Không chỉ blog mà cả bài quảng cáo, mô tả sản phẩm nữa!
🔹 Chuyên gia: Chính xác! AI + n8n giúp tạo nội dung tự động, tiết kiệm thời gian và tăng hiệu quả! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Tích hợp OpenAI/Gemini để tạo nội dung tự động.
✅ Tạo bài blog, bài quảng cáo, mô tả sản phẩm nhanh chóng.
✅ Tự động lưu vào Notion, Google Docs hoặc đăng lên WordPress.
✅ Ứng dụng thực tế: Marketing, SEO, viết blog, bán hàng online.
BÀI HỌC 54: TÍCH HỢP AI ĐỂ TẠO NỘI DUNG VIDEO TỰ ĐỘNG – VIẾT KỊCH BẢN, TẠO VOICE-OVER!
1. Hội thoại mở đầu – AI có thể tạo video hoàn toàn tự động?
🔹 Ben: Anh Bon ơi, mình có thể làm video mà không cần quay không?
🔹 Bon: Được chứ! AI có thể viết kịch bản, tạo giọng nói và ghép lại thành video tự động!
🔹 Chuyên gia: Hôm nay, chúng ta sẽ học cách dùng AI để viết kịch bản, tạo voice-over và ghép nội dung thành video trong n8n! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Tạo kịch bản video tự động bằng ChatGPT/Gemini AI.
✅ Tạo giọng đọc (voice-over) từ văn bản với ElevenLabs hoặc VITS.
✅ Ghép nội dung để tạo video hoàn chỉnh.
✅ Tự động hóa toàn bộ quy trình với n8n.
3. AI có thể tạo video như thế nào?
💡 AI có thể giúp bạn tạo các loại video nào?
📌 Video tóm tắt tin tức – AI lấy tin tức mới nhất và tạo video.
📌 Video giáo dục – Tự động tạo bài giảng, hướng dẫn.
📌 Video quảng cáo – Nội dung tiếp thị sản phẩm với giọng đọc tự nhiên.
📌 Video TikTok, YouTube Shorts – Nội dung ngắn hấp dẫn với hình ảnh sinh động.
📌 Ứng dụng thực tế:
✔ YouTuber – Tạo video mà không cần tự quay.
✔ Doanh nghiệp – Quảng cáo sản phẩm, dịch vụ bằng video tự động.
✔ TikTok Creator – Tạo nội dung viral nhanh chóng.
4. Hướng dẫn thực hành – Xây dựng hệ thống tạo video tự động với AI trong n8n!
📌 Mô hình hoạt động:
1️⃣ Nhận chủ đề từ Google Sheets hoặc Telegram.
2️⃣ Dùng ChatGPT/Gemini tạo kịch bản video.
3️⃣ Tạo voice-over tự động bằng AI.
4️⃣ Ghép nội dung thành video hoàn chỉnh.
5️⃣ Tự động đăng lên YouTube hoặc TikTok.
5. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Nhận chủ đề video từ Google Sheets hoặc Telegram
✔ Dùng Google Sheets hoặc Telegram để lấy chủ đề video.
📌 Cấu hình Google Sheets Node:
-
Sheet Name:
Video Ideas
-
Column A: Chủ đề video
📌 Cấu hình Telegram Trigger Node:
-
Trigger: Khi có người nhắn tin với từ khóa “Tạo video”
-
Output: Chủ đề video
Bước 2: Dùng AI viết kịch bản video
✔ Thêm HTTP Request Node để gửi dữ liệu đến OpenAI/Gemini.
📌 Cấu hình HTTP Request Node (ChatGPT API):
-
Method:
POST
-
URL:
https://api.openai.com/v1/chat/completions
-
Headers:
{ "Authorization": "Bearer YOUR_OPENAI_API_KEY", "Content-Type": "application/json" }
-
Body:
{ "model": "gpt-4", "messages": [ {"role": "system", "content": "Bạn là chuyên gia viết kịch bản video hấp dẫn."}, {"role": "user", "content": "Viết kịch bản video 2 phút về chủ đề: [Chủ đề video từ Google Sheets hoặc Telegram]"} ] }
📌 Dữ liệu trả về:
{
"choices": [
{
"message": {
"content": "Kịch bản video hoàn chỉnh..."
}
}
]
}
Bước 3: Tạo voice-over tự động bằng AI
✔ Dùng ElevenLabs hoặc VITS để tạo giọng đọc từ văn bản.
📌 Cấu hình ElevenLabs API:
-
Text Input:
Nội dung kịch bản từ OpenAI
-
Voice:
Emma (Giọng Anh), Hans (Giọng Đức), An (Giọng Việt)
-
Output: File
.mp3
giọng đọc tự nhiên.
📌 Cấu hình VITS (mô hình giọng nói tự động):
-
Input:
Kịch bản từ ChatGPT/Gemini
-
Output:
File .wav hoặc .mp3
📌 Kết quả: File âm thanh với giọng đọc AI tự nhiên.
Bước 4: Ghép nội dung thành video hoàn chỉnh
✔ Dùng Canva API hoặc Pictory AI để ghép voice-over và hình ảnh thành video.
📌 Cấu hình Canva API:
-
Upload voice-over
-
Tạo slide tự động từ kịch bản
-
Xuất file video
.mp4
📌 Cấu hình Pictory AI:
-
Nhập kịch bản và voice-over
-
Tự động tạo video theo nội dung
-
Xuất file
.mp4
📌 Kết quả: Video hoàn chỉnh với kịch bản, giọng đọc và hình ảnh minh họa.
Bước 5: Đăng video lên YouTube hoặc TikTok tự động
✔ Dùng YouTube API hoặc TikTok API để tải video lên.
📌 Cấu hình YouTube API Node:
-
Title:
Chủ đề video
-
Description:
Tóm tắt nội dung
-
Privacy Status:
public
📌 Cấu hình TikTok API Node:
-
Upload video:
Video từ Canva hoặc Pictory AI
-
Caption:
Tiêu đề video
📌 Kết quả: Video tự động được đăng lên YouTube/TikTok! 🎬
6. Thảo luận cuối bài – AI giúp gì cho video?
🔹 Ben: Wow! Mình có thể tạo video mà không cần quay gì luôn! 🎉
🔹 Bon: Chỉ cần nhập chủ đề, AI lo hết!
🔹 Chuyên gia: Chính xác! n8n giúp bạn tạo video nhanh, dễ dàng, tiết kiệm thời gian và công sức! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Dùng ChatGPT/Gemini để viết kịch bản.
✅ Dùng ElevenLabs hoặc VITS để tạo voice-over.
✅ Dùng Canva API hoặc Pictory AI để ghép video.
✅ Tự động đăng lên YouTube/TikTok.
BÀI HỌC 55: AI TẠO VIDEO 3D – DÙNG SORA AI VÀ RUNWAY ML!
1. Hội thoại mở đầu – AI có thể tạo video 3D không?
🔹 Ben: Anh Bon ơi, có cách nào tạo video 3D mà không cần biết thiết kế không?
🔹 Bon: Dĩ nhiên! AI giờ đã có thể tạo video 3D từ mô tả văn bản!
🔹 Chuyên gia: Hôm nay, chúng ta sẽ học cách dùng Sora AI và Runway ML để tạo video 3D tự động trong n8n! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Dùng Sora AI để tạo video từ mô tả văn bản.
✅ Dùng Runway ML để tạo hiệu ứng và chỉnh sửa video AI.
✅ Kết hợp n8n để tự động hóa quy trình.
3. AI tạo video 3D như thế nào?
💡 Công nghệ AI giúp tạo video 3D mà không cần kỹ năng dựng phim!
📌 Công cụ chính:
✔ Sora AI (OpenAI) – Chuyển văn bản thành video động.
✔ Runway ML – Chỉnh sửa video AI, tạo hiệu ứng nâng cao.
✔ n8n – Tự động hóa toàn bộ quá trình.
📌 Ứng dụng thực tế:
✔ YouTuber – Tạo video 3D mà không cần quay.
✔ Doanh nghiệp – Quảng bá sản phẩm với video hấp dẫn.
✔ Nhà sáng tạo nội dung – Tạo phim ngắn, hoạt hình, demo sản phẩm.
4. Hướng dẫn thực hành – Tạo video 3D tự động bằng AI trong n8n!
📌 Mô hình hoạt động:
1️⃣ Nhập mô tả video từ Google Sheets hoặc Telegram.
2️⃣ Dùng Sora AI tạo video 3D từ văn bản.
3️⃣ Chỉnh sửa video bằng Runway ML.
4️⃣ Tự động tải video lên YouTube hoặc TikTok.
5. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Nhập mô tả video từ Google Sheets hoặc Telegram
✔ Dùng Google Sheets hoặc Telegram để lấy ý tưởng video.
📌 Cấu hình Google Sheets Node:
-
Sheet Name:
Video Ideas
-
Column A: Mô tả video
📌 Cấu hình Telegram Trigger Node:
-
Trigger: Khi có người nhắn tin với từ khóa “Tạo video 3D”
-
Output: Mô tả video
Bước 2: Dùng Sora AI để tạo video từ mô tả văn bản
✔ Sora AI có thể tạo video chất lượng cao chỉ từ một đoạn mô tả!
📌 Cấu hình HTTP Request Node để gọi API Sora AI:
-
Method:
POST
-
URL:
https://api.openai.com/v1/sora/generate
-
Headers:
{ "Authorization": "Bearer YOUR_OPENAI_API_KEY", "Content-Type": "application/json" }
-
Body:
{ "prompt": "Một chú robot nhỏ đang đi bộ trên mặt trăng, bầu trời đầy sao và trái đất ở xa xa.", "duration": 10, "resolution": "1080p" }
📌 Dữ liệu trả về:
{
"video_url": "https://sora.openai.com/video/generated_video.mp4"
}
📌 Kết quả: Video 3D từ mô tả đã được tạo! 🎬
Bước 3: Chỉnh sửa video bằng Runway ML
✔ Runway ML giúp chỉnh sửa video AI, thêm hiệu ứng, làm mượt chuyển động.
📌 Cấu hình HTTP Request Node để gọi API Runway ML:
-
Method:
POST
-
URL:
https://api.runwayml.com/v1/video/edit
-
Headers:
{ "Authorization": "Bearer YOUR_RUNWAY_API_KEY", "Content-Type": "application/json" }
-
Body:
{ "video_url": "[URL từ Sora AI]", "effects": ["slow_motion", "color_grading"] }
📌 Dữ liệu trả về:
{
"edited_video_url": "https://runwayml.com/video/edited_video.mp4"
}
📌 Kết quả: Video đã được chỉnh sửa với hiệu ứng chuyên nghiệp! 🎥
Bước 4: Tự động tải video lên YouTube hoặc TikTok
✔ Dùng YouTube API hoặc TikTok API để tải video lên.
📌 Cấu hình YouTube API Node:
-
Title:
Chủ đề video
-
Description:
Tóm tắt nội dung
-
Privacy Status:
public
📌 Cấu hình TikTok API Node:
-
Upload video:
Video từ Runway ML
-
Caption:
Tiêu đề video
📌 Kết quả: Video tự động được đăng lên YouTube/TikTok! 🎬
6. Thảo luận cuối bài – AI giúp gì cho video 3D?
🔹 Ben: Không thể tin được! AI tạo video từ văn bản luôn! 🤯
🔹 Bon: Giờ ai cũng có thể làm video 3D mà không cần phần mềm phức tạp!
🔹 Chuyên gia: Chính xác! Với Sora AI, Runway ML và n8n, bạn có thể tạo video chuyên nghiệp chỉ bằng vài cú click! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Dùng Sora AI để tạo video 3D từ văn bản.
✅ Dùng Runway ML để chỉnh sửa video AI.
✅ Tự động hóa toàn bộ quy trình với n8n.
BÀI HỌC 56: DÙNG AI TẠO NHÂN VẬT ẢO, MC ẢO – TÍCH HỢP AVATAR AI VÀO VIDEO!
1. Hội thoại mở đầu – AI có thể tạo MC ảo không?
🔹 Ben: Anh Bon ơi, làm sao mà mấy kênh YouTube không cần quay video vẫn có MC dẫn chương trình được? 🤔
🔹 Bon: Họ dùng AI Avatar để tạo nhân vật ảo đó!
🔹 Chuyên gia: Hôm nay, chúng ta sẽ học cách dùng AI để tạo MC ảo và nhân vật ảo, sau đó tích hợp vào video tự động bằng n8n! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Dùng AI Avatar để tạo nhân vật ảo (MC ảo).
✅ Tạo giọng nói tự nhiên bằng AI Voice.
✅ Tích hợp nhân vật ảo vào video tự động với n8n.
3. AI tạo nhân vật ảo như thế nào?
💡 Công nghệ AI giúp tạo nhân vật ảo chuyên nghiệp mà không cần người thật!
📌 Công cụ chính:
✔ D-ID AI hoặc HeyGen – Tạo nhân vật ảo, MC ảo từ ảnh hoặc video.
✔ ElevenLabs hoặc Azure AI – Tạo giọng nói AI tự nhiên.
✔ n8n – Tự động hóa toàn bộ quy trình.
📌 Ứng dụng thực tế:
✔ Kênh YouTube tự động – Không cần quay mà vẫn có MC.
✔ Quảng cáo & Giới thiệu sản phẩm – Tạo MC ảo nói về sản phẩm.
✔ Hỗ trợ khách hàng – Nhân viên ảo trả lời khách hàng bằng video.
4. Hướng dẫn thực hành – Tạo MC ảo tự động bằng AI trong n8n!
📌 Mô hình hoạt động:
1️⃣ Nhập nội dung MC sẽ nói từ Google Sheets hoặc Telegram.
2️⃣ Tạo giọng nói AI tự nhiên từ văn bản.
3️⃣ Tạo video nhân vật ảo bằng D-ID AI hoặc HeyGen.
4️⃣ Tích hợp MC ảo vào video và đăng lên YouTube/TikTok.
5. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Nhập nội dung MC sẽ nói từ Google Sheets hoặc Telegram
✔ Dùng Google Sheets hoặc Telegram để nhập nội dung MC.
📌 Cấu hình Google Sheets Node:
-
Sheet Name:
MC Scripts
-
Column A: Nội dung MC sẽ nói
📌 Cấu hình Telegram Trigger Node:
-
Trigger: Khi có người nhắn tin với từ khóa “MC ảo”
-
Output: Nội dung MC
Bước 2: Dùng AI tạo giọng nói MC ảo
✔ ElevenLabs hoặc Azure AI giúp tạo giọng nói giống người thật!
📌 Cấu hình HTTP Request Node để gọi API ElevenLabs:
-
Method:
POST
-
URL:
https://api.elevenlabs.io/v1/text-to-speech
-
Headers:
{ "Authorization": "Bearer YOUR_ELEVENLABS_API_KEY", "Content-Type": "application/json" }
-
Body:
{ "text": "Xin chào, tôi là MC ảo của bạn! Hôm nay chúng ta sẽ nói về công nghệ AI.", "voice": "Rachel", "model_id": "eleven_multilingual_v1" }
📌 Dữ liệu trả về:
{
"audio_url": "https://elevenlabs.io/audio/generated_audio.mp3"
}
📌 Kết quả: MC ảo đã có giọng nói chuyên nghiệp! 🎙
Bước 3: Tạo video MC ảo bằng D-ID AI hoặc HeyGen
✔ D-ID AI hoặc HeyGen giúp nhân vật ảo nói chuyện giống thật!
📌 Cấu hình HTTP Request Node để gọi API D-ID AI:
-
Method:
POST
-
URL:
https://api.d-id.com/talks
-
Headers:
{ "Authorization": "Bearer YOUR_DID_API_KEY", "Content-Type": "application/json" }
-
Body:
{ "source_url": "https://your-avatar-image-url.com", "script": { "type": "audio", "audio_url": "[URL từ ElevenLabs]" } }
📌 Dữ liệu trả về:
{
"video_url": "https://d-id.com/video/generated_mc.mp4"
}
📌 Kết quả: Nhân vật ảo đã nói chuyện như thật! 🎥
Bước 4: Tích hợp MC ảo vào video và tải lên YouTube/TikTok
✔ Dùng n8n để tự động đăng video.
📌 Cấu hình YouTube API Node:
-
Title:
Chủ đề video
-
Description:
Tóm tắt nội dung
-
Privacy Status:
public
📌 Cấu hình TikTok API Node:
-
Upload video:
Video từ D-ID AI
-
Caption:
Tiêu đề video
📌 Kết quả: Video MC ảo tự động được đăng lên YouTube/TikTok! 🎬
6. Thảo luận cuối bài – AI có thể thay thế MC thật không?
🔹 Ben: Wow! Giờ ai cũng có thể tạo MC ảo chỉ với AI! 🤯
🔹 Bon: YouTuber, doanh nghiệp, ai cũng có thể dùng công nghệ này!
🔹 Chuyên gia: Chính xác! AI giúp tạo MC ảo chuyên nghiệp mà không cần diễn viên! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Dùng AI để tạo giọng nói MC ảo.
✅ Dùng D-ID AI hoặc HeyGen để tạo nhân vật ảo.
✅ Tích hợp nhân vật ảo vào video tự động với n8n.
BÀI HỌC 57: TẠO VIDEO TIN TỨC TỰ ĐỘNG – MC ẢO ĐỌC TIN MỖI NGÀY!
1. Hội thoại mở đầu – Có thể tự động làm video tin tức không?
🔹 Ben: Anh Bon ơi, có cách nào để làm video tin tức mà không cần ghi hình không? 🤔
🔹 Bon: Dễ mà! Chỉ cần dùng AI MC ảo để đọc tin tự động mỗi ngày!
🔹 Chuyên gia: Hôm nay, chúng ta sẽ học cách tạo video tin tức tự động bằng AI, với MC ảo đọc tin theo dữ liệu mỗi ngày! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Tự động lấy tin tức mới từ RSS Feed hoặc Google News.
✅ Tạo giọng nói MC đọc tin tức bằng AI Voice.
✅ Tạo video MC ảo đọc tin bằng AI Avatar (D-ID AI hoặc HeyGen).
✅ Tích hợp vào n8n để đăng video tin tức tự động lên YouTube/TikTok.
3. Quy trình tạo video tin tức tự động
📌 Mô hình hoạt động:
1️⃣ Lấy tin tức mới từ RSS Feed hoặc Google News.
2️⃣ Tóm tắt tin tức bằng AI (ChatGPT hoặc Gemini AI).
3️⃣ Chuyển văn bản thành giọng nói MC ảo (ElevenLabs hoặc Azure AI).
4️⃣ Tạo video MC ảo đọc tin bằng D-ID AI hoặc HeyGen.
5️⃣ Ghép video với hình ảnh minh họa.
6️⃣ Tự động đăng lên YouTube/TikTok.
💡 Ứng dụng thực tế:
✔ Kênh YouTube tin tức tự động – Không cần biên tập viên.
✔ Tạo bản tin doanh nghiệp hàng ngày.
✔ Làm video tóm tắt sự kiện nóng trong ngày.
4. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Lấy tin tức mới từ RSS Feed hoặc Google News
✔ Dùng RSS Feed để lấy tin tức từ các trang báo.
📌 Cấu hình RSS Feed Node trong n8n:
-
URL:
https://vnexpress.net/rss/tin-moi-nhat.rss
-
Trigger: Cập nhật mỗi 1 giờ.
-
Output: Lấy tiêu đề, nội dung, link bài báo.
📌 Cấu hình HTTP Request Node để lấy tin từ Google News:
-
Method:
GET
-
URL:
https://newsapi.org/v2/top-headlines?country=us&apiKey=YOUR_NEWSAPI_KEY
📌 Dữ liệu trả về:
{
"articles": [
{
"title": "Công nghệ AI đang thay đổi thế giới",
"description": "AI giúp tự động hóa nhiều lĩnh vực...",
"url": "https://example.com/ai-news",
"urlToImage": "https://example.com/ai-news-image.jpg"
}
]
}
📌 Kết quả: Tin tức mới được cập nhật tự động! 📰
Bước 2: Tóm tắt tin tức bằng AI (ChatGPT hoặc Gemini AI)
✔ Dùng ChatGPT/Gemini AI để tạo tóm tắt ngắn gọn.
📌 Cấu hình OpenAI API Node trong n8n:
-
Model:
gpt-4
-
Prompt:
Tóm tắt tin tức sau thành 3 câu dễ hiểu: "Công nghệ AI đang thay đổi thế giới. AI giúp tự động hóa nhiều lĩnh vực..."
-
Output:
{ "summary": "AI đang phát triển mạnh mẽ, giúp tự động hóa nhiều lĩnh vực và cải thiện cuộc sống con người." }
📌 Kết quả: Tin tức được tóm tắt tự động! 📝
Bước 3: Chuyển văn bản thành giọng nói MC ảo bằng AI
✔ Dùng ElevenLabs hoặc Azure AI để tạo giọng đọc tự nhiên.
📌 Cấu hình HTTP Request Node để gọi API ElevenLabs:
-
Method:
POST
-
URL:
https://api.elevenlabs.io/v1/text-to-speech
-
Body:
{ "text": "[Tóm tắt tin tức]", "voice": "Rachel", "model_id": "eleven_multilingual_v1" }
📌 Dữ liệu trả về:
{
"audio_url": "https://elevenlabs.io/audio/generated_audio.mp3"
}
📌 Kết quả: MC ảo đã có giọng nói đọc tin tức! 🎙
Bước 4: Tạo video MC ảo đọc tin bằng AI Avatar
✔ Dùng D-ID AI hoặc HeyGen để tạo nhân vật ảo.
📌 Cấu hình HTTP Request Node để gọi API D-ID AI:
-
Method:
POST
-
URL:
https://api.d-id.com/talks
-
Body:
{ "source_url": "https://your-avatar-image-url.com", "script": { "type": "audio", "audio_url": "[URL từ ElevenLabs]" } }
📌 Dữ liệu trả về:
{
"video_url": "https://d-id.com/video/generated_mc.mp4"
}
📌 Kết quả: MC ảo đã đọc tin tức trên video! 🎥
Bước 5: Ghép video với hình ảnh minh họa
✔ Dùng FFmpeg hoặc Runway ML để ghép video với hình ảnh tin tức.
📌 Command FFmpeg để ghép hình ảnh vào video MC ảo:
ffmpeg -i generated_mc.mp4 -i news_image.jpg -filter_complex "[0:v][1:v] overlay=10:10" final_news_video.mp4
📌 Kết quả: Video tin tức hoàn chỉnh với MC ảo và hình ảnh! 🎬
Bước 6: Tự động đăng video lên YouTube/TikTok
✔ Dùng YouTube API và TikTok API để đăng video tự động.
📌 Cấu hình YouTube API Node:
-
Title:
Tin nóng hôm nay: AI thay đổi thế giới!
-
Description:
Bản tin tự động mỗi ngày.
-
Privacy Status:
public
📌 Cấu hình TikTok API Node:
-
Upload video:
final_news_video.mp4
-
Caption:
Tin tức hôm nay!
📌 Kết quả: Video tin tức tự động được đăng lên YouTube/TikTok! 🚀
6. Thảo luận cuối bài – AI có thể thay thế bản tin truyền thống không?
🔹 Ben: Vậy là chỉ cần n8n và AI, mình có thể làm kênh tin tức tự động? 😲
🔹 Bon: Đúng vậy! Không cần người dẫn, không cần chỉnh sửa thủ công!
🔹 Chuyên gia: AI giúp tự động hóa hoàn toàn việc sản xuất nội dung tin tức! 🚀
7. Kết luận
📌 Tóm tắt bài học:
✅ Lấy tin tức tự động từ RSS Feed/Google News.
✅ Tóm tắt tin tức bằng ChatGPT/Gemini AI.
✅ Tạo giọng nói MC ảo bằng AI Voice.
✅ Tạo video MC ảo đọc tin bằng AI Avatar.
✅ Tự động đăng video lên YouTube/TikTok.
BÀI HỌC 58: DÙNG AI TẠO VIDEO QUẢNG CÁO SẢN PHẨM TỰ ĐỘNG!
1. Hội thoại mở đầu – AI có thể tự động tạo video quảng cáo không?
🔹 Ben: Anh Bon ơi, làm video quảng cáo có khó không? 🤔
🔹 Bon: Nếu làm thủ công thì tốn rất nhiều thời gian, nhưng nếu dùng AI, thì chỉ cần vài phút là có video quảng cáo chuyên nghiệp!
🔹 Chuyên gia: Hôm nay, chúng ta sẽ học cách tạo video quảng cáo sản phẩm tự động bằng AI, không cần quay phim hay chỉnh sửa video thủ công! 🚀
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Tạo kịch bản quảng cáo bằng AI (ChatGPT/Gemini AI).
✅ Tạo giọng nói quảng cáo tự động bằng AI Voice (ElevenLabs).
✅ Tạo hình ảnh sản phẩm bằng AI (Midjourney/Stable Diffusion).
✅ Tạo video AI với MC ảo đọc quảng cáo (D-ID AI hoặc HeyGen).
✅ Ghép video quảng cáo với nhạc nền tự động.
✅ Đăng video quảng cáo lên YouTube/TikTok tự động.
3. Quy trình tạo video quảng cáo tự động
📌 Mô hình hoạt động:
1️⃣ Lấy thông tin sản phẩm từ dữ liệu (Excel, Google Sheets, API).
2️⃣ Dùng AI viết kịch bản quảng cáo.
3️⃣ Tạo giọng nói đọc quảng cáo bằng AI Voice.
4️⃣ Tạo hình ảnh sản phẩm bằng AI.
5️⃣ Tạo video MC ảo đọc quảng cáo.
6️⃣ Ghép video với nhạc nền và hiệu ứng.
7️⃣ Đăng video quảng cáo lên mạng xã hội tự động.
💡 Ứng dụng thực tế:
✔ Quảng cáo sản phẩm cho shop online.
✔ Tạo video chạy quảng cáo Facebook/TikTok.
✔ Tạo video giới thiệu dịch vụ doanh nghiệp.
4. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Lấy thông tin sản phẩm từ Google Sheets hoặc API
✔ Dùng Google Sheets để lưu danh sách sản phẩm.
📌 Cấu hình Google Sheets Node trong n8n:
-
Cột A:
Tên sản phẩm
-
Cột B:
Mô tả sản phẩm
-
Cột C:
Giá sản phẩm
-
Cột D:
Hình ảnh sản phẩm (URL)
📌 Dữ liệu trả về:
{
"Tên sản phẩm": "Laptop Gaming XYZ",
"Mô tả": "Laptop siêu mạnh với chip Intel Core i9...",
"Giá": "29,990,000 VND",
"Hình ảnh": "https://example.com/laptop.jpg"
}
📌 Kết quả: Hệ thống đã lấy được thông tin sản phẩm tự động! 🛍
Bước 2: Viết kịch bản quảng cáo bằng AI (ChatGPT/Gemini AI)
✔ Dùng ChatGPT/Gemini AI để tạo nội dung quảng cáo hấp dẫn.
📌 Cấu hình OpenAI API Node trong n8n:
-
Model:
gpt-4
-
Prompt:
Viết một đoạn quảng cáo ngắn hấp dẫn về sản phẩm sau: - Tên: Laptop Gaming XYZ - Mô tả: Laptop siêu mạnh với chip Intel Core i9... - Giá: 29,990,000 VND
-
Output:
{ "quảng cáo": "Bạn đang tìm kiếm một chiếc laptop gaming mạnh mẽ? Laptop Gaming XYZ với chip Intel Core i9 sẽ mang đến trải nghiệm chơi game mượt mà! Chỉ với 29,990,000 VND!" }
📌 Kết quả: AI đã viết kịch bản quảng cáo chuyên nghiệp! 🎬
Bước 3: Tạo giọng nói quảng cáo bằng AI Voice (ElevenLabs)
✔ Dùng ElevenLabs hoặc Azure AI để tạo giọng nói đọc quảng cáo.
📌 Cấu hình HTTP Request Node để gọi API ElevenLabs:
-
Method:
POST
-
URL:
https://api.elevenlabs.io/v1/text-to-speech
-
Body:
{ "text": "[Nội dung quảng cáo]", "voice": "Rachel", "model_id": "eleven_multilingual_v1" }
-
Output:
{ "audio_url": "https://elevenlabs.io/audio/advertisement.mp3" }
📌 Kết quả: AI đã tạo giọng đọc quảng cáo chuyên nghiệp! 🎙
Bước 4: Tạo hình ảnh sản phẩm bằng AI (Midjourney/Stable Diffusion)
✔ Dùng AI để tạo hình ảnh minh họa sản phẩm chuyên nghiệp.
📌 Prompt Midjourney/Stable Diffusion:
A high-quality, professional product image of a futuristic gaming laptop with RGB lights, sleek design, and an Intel Core i9 processor.
📌 Output:
-
Hình ảnh sản phẩm đẹp mắt tự động! 🎨
📌 Kết quả: Sản phẩm đã có hình ảnh AI minh họa! 🖼
Bước 5: Tạo video MC ảo đọc quảng cáo (D-ID AI hoặc HeyGen)
✔ Dùng AI Avatar để tạo nhân vật MC đọc quảng cáo.
📌 Cấu hình HTTP Request Node để gọi API D-ID AI:
-
Method:
POST
-
URL:
https://api.d-id.com/talks
-
Body:
{ "source_url": "https://your-avatar-image-url.com", "script": { "type": "audio", "audio_url": "[URL từ ElevenLabs]" } }
📌 Output:
{
"video_url": "https://d-id.com/video/advertisement.mp4"
}
📌 Kết quả: Video quảng cáo có MC ảo đọc lời quảng cáo! 🎥
Bước 6: Ghép video với nhạc nền và hiệu ứng tự động
✔ Dùng FFmpeg hoặc Runway ML để ghép video.
📌 Command FFmpeg để ghép nhạc nền vào video:
ffmpeg -i advertisement.mp4 -i background_music.mp3 -c:v copy -c:a aac final_ad_video.mp4
📌 Kết quả: Video quảng cáo hoàn chỉnh! 🎬
Bước 7: Đăng video quảng cáo lên YouTube/TikTok tự động
✔ Dùng YouTube API và TikTok API để đăng video tự động.
📌 Cấu hình YouTube API Node:
-
Title:
🔥 Laptop Gaming XYZ – Sức mạnh đỉnh cao! 🔥
-
Description:
Đặt hàng ngay hôm nay!
-
Privacy Status:
public
📌 Cấu hình TikTok API Node:
-
Upload video:
final_ad_video.mp4
-
Caption:
Sản phẩm hot nhất hôm nay!
📌 Kết quả: Video quảng cáo tự động được đăng lên YouTube/TikTok! 🚀
6. Kết luận
📌 Tóm tắt bài học:
✅ Dùng AI viết kịch bản quảng cáo.
✅ Tạo giọng đọc quảng cáo bằng AI.
✅ Tạo hình ảnh sản phẩm tự động.
✅ Tạo video MC ảo đọc quảng cáo.
✅ Đăng video quảng cáo lên mạng xã hội tự động.
BÀI HỌC 59: DÙNG AI TẠO VIDEO REVIEW SẢN PHẨM TỰ ĐỘNG!
1. Hội thoại mở đầu – AI có thể tự động review sản phẩm không?
🔹 Ben: Anh Bon ơi, review sản phẩm trên YouTube có khó không? 🤔
🔹 Bon: Nếu làm thủ công thì rất tốn công sức, nhưng nếu dùng AI, thì có thể tạo video review sản phẩm chỉ trong vài phút! 🚀
🔹 Chuyên gia: Hôm nay, chúng ta sẽ học cách tạo video review sản phẩm tự động bằng AI, không cần quay phim hay chỉnh sửa video thủ công! 🎬
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Dùng AI viết kịch bản review sản phẩm chuyên nghiệp.
✅ Tạo giọng nói review bằng AI Voice (ElevenLabs).
✅ Tạo hình ảnh sản phẩm và minh họa bằng AI (Midjourney, Stable Diffusion).
✅ Tạo MC ảo để review sản phẩm (D-ID AI hoặc HeyGen).
✅ Ghép video review với nhạc nền và hiệu ứng.
✅ Đăng video review lên YouTube/TikTok tự động.
3. Quy trình tạo video review sản phẩm tự động
📌 Mô hình hoạt động:
1️⃣ Lấy thông tin sản phẩm từ dữ liệu (Google Sheets, API, Website).
2️⃣ Dùng AI viết kịch bản review sản phẩm.
3️⃣ Tạo giọng nói review bằng AI Voice.
4️⃣ Tạo hình ảnh minh họa sản phẩm bằng AI.
5️⃣ Tạo MC ảo để dẫn dắt video review.
6️⃣ Ghép video với nhạc nền và hiệu ứng.
7️⃣ Đăng video review lên mạng xã hội tự động.
💡 Ứng dụng thực tế:
✔ Tạo video review sản phẩm công nghệ, mỹ phẩm, thời trang...
✔ Làm video đánh giá sản phẩm để bán hàng online.
✔ Xây dựng kênh YouTube/TikTok review sản phẩm hoàn toàn tự động!
4. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Lấy thông tin sản phẩm từ Google Sheets hoặc API
📌 Cấu hình Google Sheets Node trong n8n:
-
Cột A:
Tên sản phẩm
-
Cột B:
Mô tả sản phẩm
-
Cột C:
Thông số kỹ thuật
-
Cột D:
Ưu điểm và nhược điểm
-
Cột E:
Giá sản phẩm
-
Cột F:
Hình ảnh sản phẩm (URL)
📌 Dữ liệu trả về:
{
"Tên sản phẩm": "Smartphone XZ Pro",
"Mô tả": "Điện thoại flagship với camera 200MP...",
"Thông số": "Chip Snapdragon 8 Gen 3, pin 5000mAh...",
"Ưu điểm": "Hiệu năng mạnh, màn hình 120Hz...",
"Nhược điểm": "Giá hơi cao...",
"Giá": "25,990,000 VND",
"Hình ảnh": "https://example.com/smartphone.jpg"
}
📌 Kết quả: Hệ thống đã lấy được thông tin sản phẩm tự động! 📱
Bước 2: Viết kịch bản review sản phẩm bằng AI (ChatGPT/Gemini AI)
📌 Cấu hình OpenAI API Node trong n8n:
-
Model:
gpt-4
-
Prompt:
Viết một bài review chi tiết về sản phẩm sau: - Tên: Smartphone XZ Pro - Mô tả: Điện thoại flagship với camera 200MP... - Thông số: Chip Snapdragon 8 Gen 3, pin 5000mAh... - Ưu điểm: Hiệu năng mạnh, màn hình 120Hz... - Nhược điểm: Giá hơi cao... - Giá: 25,990,000 VND
-
Output:
{ "review": "Smartphone XZ Pro là một chiếc flagship đáng chú ý với camera 200MP..." }
📌 Kết quả: AI đã viết kịch bản review sản phẩm chuyên nghiệp! 📝
Bước 3: Tạo giọng nói review bằng AI Voice (ElevenLabs)
📌 Cấu hình HTTP Request Node để gọi API ElevenLabs:
-
Method:
POST
-
URL:
https://api.elevenlabs.io/v1/text-to-speech
-
Body:
{ "text": "[Nội dung review]", "voice": "Rachel", "model_id": "eleven_multilingual_v1" }
-
Output:
{ "audio_url": "https://elevenlabs.io/audio/review.mp3" }
📌 Kết quả: AI đã tạo giọng đọc review chuyên nghiệp! 🎙
Bước 4: Tạo hình ảnh sản phẩm bằng AI (Midjourney/Stable Diffusion)
📌 Prompt Midjourney/Stable Diffusion:
A high-quality, professional product image of a modern smartphone with a futuristic design and a 200MP camera.
📌 Kết quả: Sản phẩm đã có hình ảnh AI minh họa! 📸
Bước 5: Tạo MC ảo để review sản phẩm (D-ID AI hoặc HeyGen)
📌 Cấu hình HTTP Request Node để gọi API D-ID AI:
-
Method:
POST
-
URL:
https://api.d-id.com/talks
-
Body:
{ "source_url": "https://your-avatar-image-url.com", "script": { "type": "audio", "audio_url": "[URL từ ElevenLabs]" } }
📌 Kết quả: Video MC ảo đang review sản phẩm! 🎥
Bước 6: Ghép video review với nhạc nền và hiệu ứng tự động
📌 Command FFmpeg để ghép nhạc nền vào video:
ffmpeg -i review_video.mp4 -i background_music.mp3 -c:v copy -c:a aac final_review_video.mp4
📌 Kết quả: Video review hoàn chỉnh! 🎬
Bước 7: Đăng video review lên YouTube/TikTok tự động
📌 Cấu hình YouTube API Node:
-
Title:
📱 Smartphone XZ Pro – Đánh giá chi tiết!
-
Description:
Chiếc điện thoại hot nhất năm nay!
-
Privacy Status:
public
📌 Cấu hình TikTok API Node:
-
Upload video:
final_review_video.mp4
-
Caption:
Bạn nghĩ sao về chiếc smartphone này?
📌 Kết quả: Video review tự động được đăng lên YouTube/TikTok! 🚀
6. Kết luận
📌 Tóm tắt bài học:
✅ Dùng AI viết kịch bản review sản phẩm.
✅ Tạo giọng nói review bằng AI.
✅ Tạo hình ảnh sản phẩm tự động.
✅ Tạo MC ảo để dẫn dắt video.
✅ Đăng video review lên mạng xã hội tự động.
BÀI HỌC 60: DÙNG AI TẠO VIDEO ĐÁNH GIÁ SẢN PHẨM THEO TREND TIKTOK!
1. Hội thoại mở đầu – AI có thể bắt trend TikTok không?
🔹 Ben: Anh Bon ơi, mấy video đánh giá sản phẩm trên TikTok viral ghê luôn! Có cách nào làm nhanh mà vẫn theo trend không?
🔹 Bon: Nếu làm thủ công thì rất tốn công sức, nhưng nếu dùng AI, thì có thể tự động tạo video đánh giá sản phẩm theo trend chỉ trong vài phút! 🚀
🔹 Chuyên gia: Hôm nay, chúng ta sẽ học cách dùng AI để tạo video đánh giá sản phẩm theo trend TikTok mà không cần quay phim hay edit video thủ công! 🎬
2. Mục tiêu bài học
📌 Sau bài học này, bạn sẽ biết cách:
✅ Dùng AI tìm trend hot trên TikTok để làm video review sản phẩm.
✅ Viết kịch bản review theo phong cách viral.
✅ Tạo giọng nói TikTok-style bằng AI Voice (TikTok API, ElevenLabs).
✅ Tạo hình ảnh sản phẩm, meme và hiệu ứng bằng AI.
✅ Ghép video tự động với nhạc nền hot trend.
✅ Đăng video lên TikTok một cách tự động!
3. Quy trình tạo video đánh giá sản phẩm theo trend TikTok
📌 Mô hình hoạt động:
1️⃣ Tìm trend hot trên TikTok liên quan đến sản phẩm.
2️⃣ Dùng AI viết kịch bản review theo trend.
3️⃣ Tạo giọng nói AI theo phong cách TikTok.
4️⃣ Tạo hình ảnh/meme minh họa sản phẩm.
5️⃣ Ghép video review với nhạc trend.
6️⃣ Đăng video lên TikTok tự động.
💡 Ứng dụng thực tế:
✔ Tạo video review sản phẩm theo trend hot.
✔ Tăng tương tác và lượt xem trên TikTok.
✔ Xây dựng kênh review sản phẩm chuyên nghiệp hoàn toàn tự động!
4. Hướng dẫn chi tiết – Xây dựng hệ thống trong n8n!
Bước 1: Tìm trend hot trên TikTok liên quan đến sản phẩm
📌 Dùng API TikTok để lấy danh sách trend hot:
-
Cấu hình HTTP Request Node:
-
Method:
GET
-
URL:
https://api.tiktok.com/trending?category=tech&limit=5
-
Headers:
{ "Authorization": "Bearer YOUR_TIKTOK_API_KEY" }
-
-
Output:
[ { "trend": "Unboxing smartphone mới", "hashtag": "#unboxing #smartphone", "song": "https://tiktok.com/music/hot-trend-song.mp3" } ]
📌 Kết quả: Đã tìm được trend hot trên TikTok! 🔥
Bước 2: Viết kịch bản review theo trend bằng AI
📌 Cấu hình OpenAI API Node trong n8n:
-
Model:
gpt-4
-
Prompt:
Viết một kịch bản video TikTok đánh giá sản phẩm theo phong cách viral: - Trend: Unboxing smartphone mới - Hashtag: #unboxing #smartphone - Giọng điệu: Vui vẻ, hài hước, cuốn hút
-
Output:
{ "script": "🔥 Bạn đã thấy chiếc smartphone này chưa? Cực hot luôn! 📱..." }
📌 Kết quả: AI đã viết kịch bản review sản phẩm theo trend!
Bước 3: Tạo giọng nói TikTok-style bằng AI Voice
📌 Dùng API TikTok Voice hoặc ElevenLabs để tạo giọng đọc:
-
Cấu hình HTTP Request Node:
-
Method:
POST
-
URL:
https://api.elevenlabs.io/v1/text-to-speech
-
Body:
{ "text": "[Kịch bản TikTok]", "voice": "TikTok_Female", "model_id": "eleven_multilingual_v1" }
-
-
Output:
{ "audio_url": "https://elevenlabs.io/audio/tiktok_review.mp3" }
📌 Kết quả: AI đã tạo giọng nói chuẩn TikTok! 🎙
Bước 4: Tạo hình ảnh/meme minh họa bằng AI
📌 Dùng Stable Diffusion hoặc Midjourney để tạo ảnh sản phẩm:
A viral meme-style product image of a new smartphone with a funny reaction.
📌 Kết quả: AI đã tạo ảnh sản phẩm phong cách meme trend TikTok! 📸
Bước 5: Ghép video review với nhạc nền hot trend
📌 Command FFmpeg để ghép video với nhạc TikTok:
ffmpeg -i tiktok_review.mp4 -i hot_trend_song.mp3 -c:v copy -c:a aac final_tiktok_video.mp4
📌 Kết quả: Video review đã có nhạc nền hot! 🎶
Bước 6: Đăng video lên TikTok tự động
📌 Cấu hình TikTok API Node:
-
Upload video:
final_tiktok_video.mp4
-
Caption:
🔥 Bạn đã thử sản phẩm này chưa? #unboxing #smartphone
📌 Kết quả: Video review tự động được đăng lên TikTok! 🚀
5. Kết luận
📌 Tóm tắt bài học:
✅ Dùng AI tìm trend hot trên TikTok.
✅ Viết kịch bản review theo trend.
✅ Tạo giọng nói AI theo phong cách TikTok.
✅ Tạo hình ảnh/meme minh họa tự động.
✅ Ghép video với nhạc nền hot trend.
✅ Đăng video lên TikTok một cách tự động!
CHƯƠNG 7:
BÀI HỌC 61:
BÀI HỌC 62:
BÀI HỌC 63:
BÀI HỌC 64:
BÀI HỌC 65:
BÀI HỌC 66:
BÀI HỌC 67:
BÀI HỌC 68:
BÀI HỌC 69:
BÀI HỌC 70:
CHƯƠNG 8:
BÀI HỌC 71:
BÀI HỌC 72:
BÀI HỌC 73:
BÀI HỌC 74:
BÀI HỌC 75:
BÀI HỌC 76: NGHỆ
BÀI HỌC 77:
BÀI HỌC 78:
BÀI HỌC 79:
BÀI HỌC 80:
CHƯƠNG 9:
BÀI HỌC 81:
BÀI HỌC 82:
BÀI HỌC 83:
BÀI HỌC 84:
BÀI HỌC 85:
BÀI HỌC 86:
BÀI HỌC 87:
BÀI HỌC 88:
BÀI HỌC 89:
BÀI HỌC 90:
CHƯƠNG 10:
BÀI HỌC 91:
BÀI HỌC 92:
BÀI HỌC 93:
BÀI HỌC 94:
BÀI HỌC 95:
BÀI HỌC 96:
BÀI HỌC 97:
BÀI HỌC 98:
BÀI HỌC 99:
Comments
Post a Comment