Synchronisation automatique des flux Typebot avec sauvegarde GitHub - Workflow n8n

Ce flux de travail n8n sophistiqué automatise la synchronisation bidirectionnelle, assurant la sauvegarde des flux Typebot sur GitHub et la gestion des suppressions. Utilisez ce puissant modèle n8n pour un versionnage de données fiable et un nettoyage maîtrisé.

Aperçu du workflow

Prêt à automatiser ?

Téléchargez ce modèle de workflow n8n et commencez à l'utiliser instantanément.

À qui s'adresse cette solution ?

Utilisateurs techniques exécutant des instances Typebot auto-hébergées et nécessitant des stratégies de sauvegarde fiables.
Ingénieurs DevOps recherchant une intégration transparente entre les données applicatives et le contrôle de version Git.
Utilisateurs n8n en quête d'exemples de synchronisation avancée utilisant la récursivité et une logique de comparaison complexe.
Toute personne nécessitant des modèles n8n robustes pour la gestion des données d'API et les opérations de nettoyage.

Vue d'ensemble

Ce puissant flux de travail n8n constitue un mécanisme de synchronisation complet pour les flux Typebot, garantissant que vos définitions de chatbot sont constamment sauvegardées et versionnées dans un dépôt GitHub dédié. Le défi principal que ce modèle n8n résout est la gestion du cycle de vie des flux : non seulement sauvegarder les Typebots nouveaux ou modifiés, mais aussi nettoyer les fichiers correspondants sur GitHub lorsqu'un Typebot est supprimé de l'espace de travail source. Cette approche à double volet, activée par une logique JavaScript personnalisée au sein de la structure des nœuds n8n, fournit une solution fiable et économe en mémoire, idéale pour monter en charge l'utilisation de Typebot tout en préservant l'intégrité des données. La logique utilise un schéma récursif via le nœud n8n Execute Workflow pour traiter de nombreux flux Typebot sans solliciter la mémoire de l'instance n8n principale. Ceci assure la robustesse du flux de travail n8n, même dans les environnements à fort volume.

Fonctionnement

La synchronisation est lancée par le déclencheur n8n Schedule Trigger, s'exécutant généralement quotidiennement, ou manuellement via le déclencheur n8n On clicking 'execute'.


  1. Configuration et Collecte des Données : Le flux de travail n8n récupère d'abord les variables de configuration (URL Typebot, ID d'espace de travail, propriétaire/repo GitHub) depuis le nœud n8n Globals. Il utilise ensuite deux requêtes HTTP simultanées : l'une pour lister tous les flux Typebot actifs et l'autre, via le nœud GitHub n8n, pour lister tous les fichiers de sauvegarde actuels dans le dépôt.

  2. Boucle de Traitement des Éléments : Le nœud n8n Split Out sépare la liste des Typebots en éléments individuels. Le nœud n8n Loop Over Items gère le traitement itératif, appelant le flux de manière récursive via le nœud n8n Execute Workflow pour chaque élément afin d'optimiser la gestion de la mémoire.

  3. Routage du Sous-Flux : L'exécution récursive commence par le déclencheur n8n Execute Workflow Trigger, qui alimente un nœud n8n Switch vérifiant l'origin de l'élément (Typebot ou GitHub).

  4. Volet Sauvegarde Typebot (Origine : Typebot) : Le flux récupère le JSON détaillé du Typebot et tente de récupérer les données du fichier GitHub existant. Un nœud Code n8n (isDiffOrNew) compare le contenu JSON. Ce nœud Code n8n assure la stabilité en ordonnant les clés JSON avant la comparaison. Un nœud Switch Check Status subséquent achemine le flux vers Create new file, Edit existing file, ou Return (si le contenu est "identique").

  5. Volet Nettoyage GitHub (Origine : GitHub) : Ce volet vérifie si un fichier présent sur GitHub correspond à un Typebot actif. Le nœud Code n8n isDeleted vérifie le nom du fichier (ID) par rapport à la liste des Typebots actifs. Si le Typebot a été supprimé, un nœud If n8n dirige le flux vers le nœud GitHub n8n Delete a file, maintenant un dépôt de sauvegarde propre. Cette approche robuste à double voie fait de ce flux de travail n8n un outil efficace pour la maintenance.

Guide d'installation


  1. Importer le modèle n8n : Copiez le code JSON fourni et importez-le directement dans votre instance n8n.

  2. *Configurer les Identifiants (Credentials) :

Typebot : Vous aurez besoin d'un identifiant (Credential) de type Generic HTTP Bearer Token pour authentifier les nœuds HTTP Request n8n List Typebots et Get Typebot.
GitHub : Configurez un identifiant OAuth2 pour GitHub. Cet identifiant doit disposer des droits de lecture, d'écriture et de suppression de fichiers dans votre dépôt cible.

  1. Mettre à jour les Variables Globales : Localisez le nœud Set n8n Globals (identifié par un pense-bête/note adhésive). Mettez à jour les valeurs suivantes :

typebot.url : Votre URL d'instance Typebot (ex. : https://typebot.io).
typebot.workspace.id : L'ID de l'espace de travail spécifique que vous souhaitez sauvegarder.
repo.owner : Votre nom d'utilisateur GitHub.
* repo.name : Le nom du dépôt GitHub désigné pour ces sauvegardes.

  1. Activation : Une fois les identifiants et les variables globales configurés, activez le flux de travail n8n. Le déclencheur Schedule Trigger n8n gérera les exécutions automatisées, mais vous pouvez également l'exécuter manuellement via le nœud n8n On clicking 'execute'.

Détails du nœud

Schedule Trigger / Déclencheur Manuel : Ces déclencheurs n8n lancent le processus de synchronisation basé sur l'heure ou une saisie manuelle.
Globals (nœud Set n8n) : Contient les paramètres de configuration essentiels (clés API, URLs, noms de dépôt) pour l'intégralité du flux de travail n8n.
List Typebots (nœud HTTP Request n8n) : Récupère la liste de tous les flux Typebot actuellement actifs auprès de l'API Typebot.
List files (nœud GitHub n8n) : Récupère la liste des fichiers actuellement sauvegardés dans le dépôt GitHub.
Execute Workflow (nœud n8n) : Composant crucial permettant l'exécution récursive du flux de travail n8n sur lui-même pour traiter les éléments un par un, optimisant ainsi la gestion de la mémoire.
Get Typebot (nœud HTTP Request n8n) : Récupère le contenu JSON détaillé complet pour un flux Typebot spécifique en utilisant son identifiant (ID).
isDiffOrNew (nœud Code n8n) : Un nœud Code n8n personnalisé qui compare la charge utile JSON du Typebot avec les données de sauvegarde GitHub existantes (encodées en base64) pour déterminer si le flux est "nouveau", "différent" ou "identique" sur la base d'une comparaison de hachage/chaîne de contenu.
Check Status (nœud Switch n8n) : Route le flux de travail n8n en fonction de l'état de synchronisation fourni par le nœud n8n isDiffOrNew.
Create new file / Edit existing file / Delete a file (nœud GitHub n8n) : Exécute les opérations Git nécessaires (créer, mettre à jour, supprimer) pour maintenir l'intégrité de la synchronisation dans le dépôt GitHub.
isDeleted (nœud Code n8n) : Un nœud Code n8n personnalisé chargé de comparer la liste des fichiers GitHub avec la liste des IDs Typebot actifs afin d'identifier et de marquer les fichiers qui doivent être supprimés.

Workflows n8n associés

Gratuit

Nœuds: 15 Nœuds
Mis à jour: Décembre 26 2025
Voir tout
Créé par

En vedette*