Automatische Synchronisierung von Typebot-Flows mit GitHub-Backup - n8n-Workflow

Dieser ausgefeilte n8n-Workflow automatisiert eine Zwei-Wege-Synchronisierung, sichert Typebot-Flows auf GitHub und kümmert sich um Löschungen. Nutzen Sie diese leistungsstarke n8n-Vorlage für zuverlässige Datenversionierung und Bereinigung.

Workflow-Vorschau

Bereit zur Automatisierung?

Laden Sie diese n8n-Workflow-Vorlage herunter und beginnen Sie sofort mit der Nutzung.

Zielgruppe

Technische Anwender, die selbst gehostete Typebot-Instanzen betreiben und zuverlässige Backup-Strategien benötigen.
DevOps-Ingenieure, die eine nahtlose Integration zwischen Anwendungsdaten und Git-Versionskontrolle suchen.
n8n-Nutzer, die erweiterte Synchronisierungsbeispiele mittels Rekursion und komplexer Vergleichslogik suchen.
Jeder, der robuste n8n-Vorlagen für API-Datenmanagement und Bereinigungsoperationen benötigt.

Überblick

Dieser leistungsstarke n8n-Workflow dient als umfassender Synchronisationsmechanismus für Typebot-Flows und stellt sicher, dass Ihre Chatbot-Definitionen kontinuierlich in einem dedizierten GitHub-Repository gesichert und versioniert werden. Die Hauptherausforderung, die diese n8n-Vorlage löst, ist die Verwaltung des Lebenszyklus der Flows – nicht nur das Sichern neuer oder geänderter Typebots, sondern auch das Aufräumen der entsprechenden Dateien in GitHub, wenn ein Typebot aus dem Quellarbeitsbereich gelöscht wird. Dieser zweigleisige Ansatz, ermöglicht durch benutzerdefinierte JavaScript-Logik innerhalb der n8n-Knotenstruktur, bietet eine zuverlässige und speichereffiziente Lösung, perfekt für die Skalierung der Typebot-Nutzung bei gleichzeitiger Wahrung der Datenintegrität. Die Logik verwendet ein rekursives Muster über den n8n-Knoten Execute Workflow, um zahlreiche Typebot-Flows zu verarbeiten, ohne den Speicher der Haupt-n8n-Instanz zu belasten. Dies gewährleistet die Robustheit des n8n-Workflows auch für Umgebungen mit hohem Volumen.

Funktionsweise

Die Synchronisierung wird durch den n8n-Knoten Schedule Trigger initiiert, der typischerweise täglich läuft, oder manuell über den n8n-Trigger On clicking 'execute'.


  1. Konfiguration und Datenerfassung: Der n8n-Workflow ruft zunächst Konfigurationsvariablen (Typebot-URL, Workspace-ID, GitHub-Owner/Repo) vom n8n-Knoten Globals ab. Anschließend führt er zwei simultane HTTP-Anfragen durch: eine, um alle aktiven Typebot-Flows aufzulisten, und eine andere über den GitHub n8n-Knoten, um alle aktuellen Sicherungsdateien im Repository aufzulisten.

  2. Elementverarbeitungsschleife: Der n8n-Knoten Split Out trennt die Liste der Typebots in einzelne Elemente. Der n8n-Knoten Loop Over Items verwaltet die iterative Verarbeitung, indem er den Workflow rekursiv über den n8n-Knoten Execute Workflow für jedes Element aufruft, um die Speicherverwaltung zu optimieren.

  3. Sub-Workflow-Weiterleitung: Die rekursive Ausführung beginnt mit dem n8n-Trigger-Knoten Execute Workflow Trigger, der in einen n8n-Knoten Switch mündet, welcher das origin (Typebot oder GitHub) des Elements überprüft.

  4. Typebot-Backup-Pfad (Origin: Typebot): Der Flow ruft die detaillierten Typebot-JSON-Daten ab und versucht, die vorhandenen GitHub-Dateidaten abzurufen. Ein Code n8n-Knoten (isDiffOrNew) vergleicht den JSON-Inhalt. Dieser benutzerdefinierte n8n-Knoten sorgt für Stabilität, indem er JSON-Schlüssel vor dem Vergleich sortiert. Ein nachfolgender Check Status Switch n8n-Knoten leitet den Flow entweder zu Create new file, Edit existing file oder Return (wenn der Inhalt "gleich" ist).

  5. GitHub-Bereinigungspfad (Origin: GitHub): Dieser Pfad prüft, ob eine in GitHub vorhandene Datei einem aktiv existierenden Typebot entspricht. Der Code n8n-Knoten isDeleted überprüft den Dateinamen (ID) anhand der Liste der aktiven Typebots. Wenn der Typebot gelöscht wurde, leitet ein If n8n-Knoten den Flow zum GitHub n8n-Knoten Delete a file weiter, wodurch ein sauberes Backup-Repository erhalten bleibt. Dieser robuste Zwei-Pfad-Ansatz macht dies zu einem effektiven n8n-Workflow für die Wartung.

Installationsanleitung


  1. Import der n8n-Vorlage: Kopieren Sie den bereitgestellten JSON-Code und importieren Sie ihn direkt in Ihre n8n-Instanz.

  2. Konfiguration der Anmeldeinformationen (Credentials):

Typebot: Sie benötigen ein Generic HTTP Bearer Token Credential zur Authentifizierung des n8n-Knotens List Typebots und Get Typebot HTTP Request.
GitHub: Konfigurieren Sie ein OAuth2 Credential für GitHub. Dieses Credential muss die Berechtigungen zum Lesen, Schreiben und Löschen von Dateien in Ihrem Ziel-Repository besitzen.

  1. Globale Variablen aktualisieren: Suchen Sie den n8n-Knoten Globals Set (gekennzeichnet durch einen Haftnotiz-Pin). Aktualisieren Sie die folgenden Werte:

typebot.url: Ihre Typebot-Instanz-URL (z. B. https://typebot.io).
typebot.workspace.id: Die spezifische Workspace-ID, die gesichert werden soll.
repo.owner: Ihr GitHub-Benutzername.
repo.name: Der Name des für diese Backups vorgesehenen GitHub-Repositorys.

  1. Aktivierung: Sobald Credentials und Globals festgelegt sind, aktivieren Sie den n8n-Workflow. Der n8n-Trigger Schedule Trigger übernimmt die automatisierten Läufe, Sie können ihn aber auch manuell über den n8n-Knoten On clicking 'execute' ausführen.

Node-Details

Schedule Trigger / Manual Trigger: Diese n8n-Trigger initiieren den Synchronisierungsprozess basierend auf Zeit oder manueller Eingabe.
Globals (Set n8n node): Speichert wesentliche Konfigurationsparameter (API-Schlüssel, URLs, Repository-Namen) für den gesamten n8n-Workflow.
List Typebots (HTTP Request n8n node): Ruft die Liste aller aktuell aktiven Typebot-Flows von der Typebot-API ab.
List files (GitHub n8n node): Ruft die Liste der aktuell im GitHub-Repository gesicherten Dateien ab.
Execute Workflow (n8n node): Eine entscheidende Komponente, die die rekursive Ausführung des n8n-Workflows auf sich selbst ermöglicht, um Elemente einzeln zu verarbeiten und das Speichermanagement zu optimieren.
Get Typebot (HTTP Request n8n node): Ruft den vollständigen, detaillierten JSON-Inhalt für einen spezifischen Typebot-Flow anhand seiner ID ab.
isDiffOrNew (Code n8n node): Ein benutzerdefinierter n8n-Knoten, der die Typebot-JSON-Nutzlast mit den vorhandenen GitHub-Backup-Daten (die Base64-kodiert sind) vergleicht, um festzustellen, ob der Flow basierend auf dem Inhalts-Hash/String-Vergleich "neu", "anders" oder "gleich" ist.
Check Status (Switch n8n node): Leitet den n8n-Workflow basierend auf dem vom n8n-Knoten isDiffOrNew bereitgestellten Synchronisationsstatus weiter.
Create new file / Edit existing file / Delete a file (GitHub n8n node): Führt die notwendigen Git-Operationen (Erstellen, Aktualisieren, Löschen) durch, um die Synchronisationsintegrität im GitHub-Repository aufrechtzuerhalten.
isDeleted (Code n8n node): Ein benutzerdefinierter n8n-Knoten, der für den Vergleich der Liste der GitHub-Dateien mit der Liste der aktiven Typebot-IDs verantwortlich ist, um zu identifizieren und zu markieren, welche Dateien gelöscht werden müssen.

Ähnliche n8n-Workflows

Kostenlos

Knoten: 15 Knoten
Aktualisiert: Dezember 26 2025
Alle anzeigen
Erstellt von

Hervorgehoben*