Đồng bộ hóa Luồng Typebot Tự động với Sao lưu GitHub - Quy trình làm việc n8n

Luồng công việc n8n tinh vi này tự động hóa việc đồng bộ hóa hai chiều, sao lưu các luồng Typebot sang GitHub và xử lý việc xóa. Sử dụng mẫu n8n mạnh mẽ này để kiểm soát phiên bản và dọn dẹp dữ liệu một cách đáng tin cậy.

Xem trước Workflow

Sẵn sàng tự động hóa chưa?

Tải xuống mẫu quy trình làm việc n8n này và bắt đầu sử dụng ngay lập tức.

Đối tượng phù hợp

Người dùng kỹ thuật chạy các phiên bản Typebot tự host (self-hosted) cần chiến lược sao lưu đáng tin cậy.
Kỹ sư DevOps tìm kiếm sự tích hợp liền mạch giữa dữ liệu ứng dụng và kiểm soát phiên bản Git.
Người dùng n8n tìm kiếm các ví dụ đồng bộ hóa nâng cao bằng cách sử dụng đệ quy và logic so sánh phức tạp.
Bất kỳ ai cần các mẫu n8n mạnh mẽ để quản lý dữ liệu API và các thao tác dọn dẹp.

Tổng quan

Luồng công việc n8n mạnh mẽ này đóng vai trò là cơ chế đồng bộ hóa toàn diện cho các luồng Typebot, đảm bảo rằng các định nghĩa chatbot của bạn liên tục được sao lưu và lập phiên bản trong một kho lưu trữ GitHub chuyên dụng. Thách thức chính mà mẫu n8n này giải quyết là quản lý vòng đời của các luồng—không chỉ sao lưu các Typebot mới hoặc đã sửa đổi mà còn dọn dẹp các tệp tương ứng trên GitHub khi một Typebot bị xóa khỏi không gian làm việc nguồn. Cách tiếp cận hai hướng này, được kích hoạt bởi logic JavaScript tùy chỉnh trong cấu trúc node của n8n, cung cấp một giải pháp đáng tin cậy và tối ưu bộ nhớ, hoàn hảo cho việc mở rộng quy mô sử dụng Typebot đồng thời duy trì tính toàn vẹn dữ liệu. Logic sử dụng mẫu đệ quy thông qua node Execute Workflow của n8n để xử lý nhiều luồng Typebot mà không gây quá tải bộ nhớ của phiên bản n8n chính. Điều này đảm bảo luồng công việc n8n mạnh mẽ cho các môi trường có khối lượng công việc lớn.

Cách thức hoạt động

Việc đồng bộ hóa được bắt đầu bởi node Schedule Trigger của n8n, thường chạy hàng ngày, hoặc thủ công thông qua trigger On clicking 'execute' của n8n.


  1. Cấu hình và Thu thập Dữ liệu: Luồng công việc n8n trước tiên truy xuất các biến cấu hình (URL Typebot, ID không gian làm việc, chủ sở hữu/repo GitHub) từ node Globals của n8n. Sau đó, nó sử dụng hai yêu cầu HTTP đồng thời: một để liệt kê tất cả các luồng Typebot đang hoạt động và một yêu cầu khác sử dụng node GitHub của n8n để liệt kê tất cả các tệp sao lưu hiện có trong kho lưu trữ.

  2. Vòng lặp Xử lý các Mục (Item Processing Loop): Node Split Out của n8n tách danh sách các Typebot thành các mục riêng lẻ. Node Loop Over Items của n8n quản lý việc xử lý lặp lại, gọi đệ quy luồng công việc thông qua node Execute Workflow của n8n cho từng mục để quản lý bộ nhớ hiệu quả.

  3. Định tuyến Luồng Con (Sub-Workflow Routing): Việc thực thi đệ quy bắt đầu bằng node Execute Workflow Trigger, đầu vào cho node Switch của n8n để kiểm tra origin (Nguồn gốc: Typebot hay GitHub) của mục.

  4. Đường dẫn Sao lưu Typebot (Nguồn gốc: Typebot): Luồng truy xuất JSON chi tiết của Typebot và cố gắng lấy dữ liệu tệp GitHub hiện có. Một node Code n8n (isDiffOrNew) so sánh nội dung JSON. Node n8n tùy chỉnh này đảm bảo sự ổn định bằng cách sắp xếp thứ tự các khóa JSON trước khi so sánh. Một node Switch Check Status tiếp theo sẽ định tuyến luồng đến Create new file (Tạo tệp mới), Edit existing file (Chỉnh sửa tệp hiện có), hoặc Return (Trả về) (nếu nội dung là "same" - giống nhau).

  5. Đường dẫn Dọn dẹp GitHub (Nguồn gốc: GitHub): Đường dẫn này xác minh xem một tệp có trong GitHub có tương ứng với một Typebot đang hoạt động hay không. Node Code isDeleted kiểm tra tên tệp (ID) so với danh sách các Typebot đang hoạt động. Nếu Typebot đã bị xóa, node If của n8n sẽ điều hướng luồng đến node Delete a file của GitHub, duy trì kho lưu trữ sao lưu sạch sẽ. Cách tiếp cận hai đường dẫn mạnh mẽ này làm cho nó trở thành một luồng công việc n8n hiệu quả để bảo trì.

Hướng dẫn cài đặt


  1. Nhập mẫu n8n: Sao chép mã JSON được cung cấp và nhập trực tiếp vào phiên bản n8n của bạn.

  2. *Cấu hình Thông tin xác thực (Credentials):

Typebot: Bạn sẽ cần thông tin xác thực Bearer Token HTTP Chung (Generic HTTP Bearer Token) để xác thực node Yêu cầu HTTP List TypebotsGet Typebot.
GitHub: Cấu hình thông tin xác thực OAuth2 cho GitHub. Thông tin xác thực này phải có quyền đọc, ghi và xóa tệp trong kho lưu trữ đích của bạn.

  1. Cập nhật Biến Toàn cục (Global Variables): Tìm node Set Globals của n8n (được biểu thị bằng ghi chú dán). Cập nhật các giá trị sau:

typebot.url: URL phiên bản Typebot của bạn (ví dụ: https://typebot.io).
typebot.workspace.id: ID không gian làm việc cụ thể bạn muốn sao lưu.
repo.owner: Tên người dùng GitHub của bạn.
* repo.name: Tên kho lưu trữ GitHub dành riêng cho các bản sao lưu này.

  1. Kích hoạt: Sau khi thông tin xác thực và biến toàn cục được thiết lập, hãy kích hoạt luồng công việc n8n. Trigger Schedule Trigger của n8n sẽ xử lý các lần chạy tự động, nhưng bạn cũng có thể thực thi nó thủ công thông qua node On clicking 'execute' của n8n.

Chi tiết Node

Schedule Trigger / Manual Trigger: Các trigger n8n này khởi tạo quá trình đồng bộ hóa dựa trên thời gian hoặc đầu vào thủ công.
Globals (node Set n8n): Lưu trữ các tham số cấu hình thiết yếu (khóa API, URL, tên kho lưu trữ) cho toàn bộ luồng công việc n8n.
List Typebots (node HTTP Request n8n): Truy xuất danh sách tất cả các luồng Typebot đang hoạt động từ API Typebot.
List files (node GitHub n8n): Lấy danh sách các tệp hiện đang được sao lưu trong kho lưu trữ GitHub.
Execute Workflow (node n8n): Thành phần quan trọng cho phép thực thi đệ quy luồng công việc n8n trên chính nó để xử lý các mục từng cái một, tối ưu hóa việc quản lý bộ nhớ.
Get Typebot (node HTTP Request n8n): Truy xuất nội dung JSON chi tiết đầy đủ cho một luồng Typebot cụ thể bằng cách sử dụng ID của nó.
isDiffOrNew (node Code n8n): Một node Code tùy chỉnh của n8n so sánh payload JSON của Typebot với dữ liệu sao lưu GitHub hiện có (được mã hóa base64) để xác định xem luồng là "new" (mới), "different" (khác) hay "same" (giống nhau) dựa trên việc so sánh chuỗi/hash nội dung.
Check Status (node Switch n8n): Định tuyến luồng công việc n8n dựa trên trạng thái đồng bộ hóa được cung cấp bởi node isDiffOrNew của n8n.
Create new file / Edit existing file / Delete a file (node GitHub n8n): Thực hiện các thao tác Git cần thiết (tạo, cập nhật, xóa) để duy trì tính toàn vẹn đồng bộ hóa trong kho lưu trữ GitHub.
isDeleted (node Code n8n): Một node Code tùy chỉnh của n8n chịu trách nhiệm so sánh danh sách các tệp GitHub với danh sách các ID Typebot đang hoạt động để xác định và đánh dấu các tệp cần xóa.

Các quy trình n8n liên quan

miễn phí

Node: 15 Node
Đã cập nhật: Tháng 12 26 2025
Xem tất cả
Tạo bởi

Đặc sắc*