GitHub 백업을 이용한 Typebot 플로우 자동 동기화 - n8n 워크플로우

이 정교한 n8n 워크플로우는 Typebot 플로우를 GitHub에 백업하고 삭제를 처리하는 양방향 동기화를 자동화합니다. 안정적인 데이터 버전 관리와 정리를 위해 이 강력한 n8n 템플릿을 사용하세요.

워크플로우 미리보기

자동화할 준비가 되셨나요?

이 n8n 워크플로우 템플릿을 다운로드하고 즉시 사용을 시작하세요.

추천 대상

안정적인 백업 전략이 필요한 자체 호스팅(Self-hosted) Typebot 사용 기술자.
애플리케이션 데이터와 Git 버전 관리 간의 원활한 통합을 모색하는 DevOps 엔지니어.
재귀 및 복잡한 비교 로직을 사용하는 고급 동기화 예제를 찾는 n8n 사용자.
API 데이터 관리 및 정리 작업을 위한 강력한 n8n 템플릿이 필요한 모든 사용자.

개요

이 강력한 n8n 워크플로우는 Typebot 플로우를 위한 포괄적인 동기화 메커니즘 역할을 하여, 챗봇 정의가 전용 GitHub 저장소에 지속적으로 백업되고 버전 관리되도록 보장합니다. 이 n8n 템플릿이 해결하는 주요 과제는 플로우의 수명 주기를 관리하는 것입니다. 새로 생성되거나 수정된 Typebot을 백업할 뿐만 아니라, 소스 워크스페이스에서 Typebot이 삭제될 때 GitHub의 해당 파일도 정리합니다. n8n 노드 구조 내의 사용자 지정 JavaScript 로직을 통해 구현되는 이 이중 접근 방식은 안정적이고 메모리 효율적인 솔루션을 제공하므로, 데이터 무결성을 유지하면서 Typebot 사용량을 확장하는 데 적합합니다. 이 로직은 Execute Workflow n8n 노드를 통한 재귀 패턴을 활용하여 수많은 Typebot 플로우를 메인 n8n 인스턴스의 메모리에 부담을 주지 않고 처리합니다. 이를 통해 이 n8n 워크플로우는 대용량 환경에서도 강력하게 작동합니다.

작동 방식

동기화는 일반적으로 매일 실행되는 Schedule Trigger n8n 노드나, On clicking 'execute' n8n 트리거를 통한 수동 실행으로 시작됩니다.


  1. 구성 및 데이터 수집: n8n 워크플로우는 먼저 Globals n8n 노드에서 구성 변수(Typebot URL, 워크스페이스 ID, GitHub 소유자/저장소)를 가져옵니다. 그런 다음 두 개의 동시 HTTP 요청을 사용합니다. 하나는 활성 상태인 모든 Typebot 플로우를 나열하기 위한 것이고, 다른 하나는 GitHub n8n 노드를 사용하여 저장소의 현재 모든 백업 파일을 나열하기 위한 것입니다.

  2. 항목 처리 루프: Split Out n8n 노드는 Typebot 목록을 개별 항목으로 분리합니다. Loop Over Items n8n 노드는 반복 처리를 관리하며, 메모리 효율성을 위해 각 항목에 대해 Execute Workflow n8n 노드를 통해 워크플로우를 재귀적으로 호출합니다.

  3. 서브 워크플로우 라우팅: 재귀 실행은 Execute Workflow Trigger n8n 노드에서 시작되며, 이는 항목의 origin(Typebot 또는 GitHub)을 확인하는 Switch n8n 노드로 연결됩니다.

  4. Typebot 백업 경로 (Origin: Typebot): 플로우는 상세 Typebot JSON을 가져온 후 기존 GitHub 파일 데이터를 가져오려고 시도합니다. Code n8n 노드(isDiffOrNew)는 JSON 콘텐츠를 비교합니다. 이 사용자 지정 n8n 노드는 JSON 키 순서를 정렬하여 비교함으로써 안정성을 보장합니다. 이어서 Check Status Switch n8n 노드는 플로우를 Create new file, Edit existing file, 또는 콘텐츠가 "같을 경우" Return으로 라우팅합니다.

  5. GitHub 정리 경로 (Origin: GitHub): 이 경로는 GitHub에 있는 파일이 활성 상태인 Typebot에 해당하는지 확인합니다. isDeleted Code n8n 노드는 파일 이름(ID)을 활성 Typebot 목록과 대조합니다. Typebot이 삭제된 경우, If n8n 노드는 GitHub n8n 노드의 Delete a file로 플로우를 안내하여 백업 저장소를 깨끗하게 유지합니다. 이 강력한 이중 경로 접근 방식은 효과적인 유지보수용 n8n 워크플로우를 만듭니다.

설치 가이드


  1. n8n 템플릿 가져오기: 제공된 JSON 코드를 복사하여 n8n 인스턴스에 직접 가져옵니다.

  2. 자격 증명 구성:

Typebot: List TypebotsGet Typebot HTTP Request n8n 노드 인증을 위해 Generic HTTP Bearer Token 자격 증명이 필요합니다.
GitHub: GitHub용 OAuth2 자격 증명을 구성합니다. 이 자격 증명은 대상 저장소의 파일에 대한 읽기, 쓰기 및 삭제 권한을 가져야 합니다.

  1. 글로벌 변수 업데이트: 스티커 메모로 표시된 Globals Set n8n 노드를 찾습니다. 다음 값을 업데이트하세요:

typebot.url: 사용자의 Typebot 인스턴스 URL (예: https://typebot.io).
typebot.workspace.id: 백업하려는 특정 워크스페이스 ID.
repo.owner: 사용자의 GitHub 사용자 이름.
repo.name: 이러한 백업을 위해 지정된 GitHub 저장소 이름.

  1. 활성화: 자격 증명과 글로벌 변수 설정이 완료되면 n8n 워크플로우를 활성화합니다. Schedule Trigger n8n 트리거가 자동 실행을 처리하지만, On clicking 'execute' n8n 노드를 통해서도 수동으로 실행할 수 있습니다.

노드 상세 정보

Schedule Trigger / Manual Trigger: 이 n8n 트리거들은 시간 또는 수동 입력을 기반으로 동기화 프로세스를 시작합니다.
Globals (Set n8n node): n8n 워크플로우 전체에 필요한 필수 구성 매개변수(API 키, URL, 저장소 이름)를 보관합니다.
List Typebots (HTTP Request n8n node): Typebot API에서 현재 활성 상태인 모든 Typebot 플로우 목록을 가져옵니다.
List files (GitHub n8n node): GitHub 저장소에 현재 백업된 파일 목록을 검색합니다.
Execute Workflow (n8n node): 항목별로 n8n 워크플로우를 자체적으로 재귀 실행하여 메모리 관리를 최적화하는 핵심 구성 요소입니다.
Get Typebot (HTTP Request n8n node): 특정 Typebot ID를 사용하여 전체 상세 JSON 콘텐츠를 검색합니다.
isDiffOrNew (Code n8n node): Typebot JSON 페이로드와 기존 GitHub 백업 데이터(base64로 인코딩됨)를 비교하여 콘텐츠 해시/문자열 비교를 기반으로 해당 플로우가 "신규(new)", "다름(different)" 또는 "동일(same)"인지 판단하는 사용자 지정 n8n 노드입니다.
Check Status (Switch n8n node): isDiffOrNew n8n 노드가 제공한 동기화 상태를 기반으로 n8n 워크플로우의 경로를 결정합니다.
Create new file / Edit existing file / Delete a file (GitHub n8n node): GitHub 저장소의 동기화 무결성을 유지하기 위해 필요한 Git 작업(생성, 업데이트, 삭제)을 수행합니다.
isDeleted (Code n8n node): GitHub 파일 목록을 활성 Typebot 목록과 대조하여 삭제해야 할 파일을 식별하고 표시하는 역할을 하는 사용자 지정 n8n 노드입니다.

관련 n8n 워크플로우

무료

노드: 15 노드
업데이트됨: 12월 26 2025
모두 보기
작성자

추천*