Sincronización automática de flujos de Typebot con copia de seguridad en GitHub - Flujo de trabajo de n8n

Este sofisticado flujo de trabajo de n8n automatiza la sincronización bidireccional, realizando copias de seguridad de los flujos de Typebot en GitHub y gestionando las eliminaciones. Utiliza esta potente plantilla de n8n para un control de versiones y limpieza de datos fiables.

Vista previa del flujo

¿Listo para automatizar?

Descarga esta plantilla de flujo de trabajo de n8n y comienza a usarla al instante.

¿Para quién es ideal?

Usuarios técnicos que ejecutan instancias de Typebot autohospedadas y necesitan estrategias de copia de seguridad fiables.
Ingenieros DevOps que buscan una integración perfecta entre los datos de la aplicación y el control de versiones de Git.
Usuarios de n8n que buscan ejemplos avanzados de sincronización utilizando recursividad y lógica de comparación compleja.
Cualquiera que necesite plantillas robustas de n8n para la gestión de datos de API y operaciones de limpieza.

Descripción general

Este potente flujo de trabajo de n8n sirve como un mecanismo de sincronización integral para los flujos de Typebot, asegurando que las definiciones de tu chatbot se copien de forma constante y se versionen en un repositorio dedicado de GitHub. El principal desafío que resuelve esta plantilla de n8n es la gestión del ciclo de vida de los flujos: no solo hacer copias de seguridad de los Typebots nuevos o modificados, sino también limpiar los archivos correspondientes en GitHub cuando se elimina un Typebot del espacio de trabajo de origen. Este enfoque dual, habilitado por lógica personalizada de JavaScript dentro de la estructura de nodos de n8n, proporciona una solución fiable y eficiente en cuanto a memoria, perfecta para escalar el uso de Typebot manteniendo la integridad de los datos. La lógica utiliza un patrón recursivo a través del nodo n8n Execute Workflow para gestionar numerosos flujos de Typebot sin sobrecargar la memoria de la instancia principal de n8n. Esto asegura que el flujo de trabajo de n8n sea robusto para entornos de gran volumen.

Cómo funciona

La sincronización se inicia mediante el nodo n8n Schedule Trigger (Disparador de Programación), que se ejecuta normalmente a diario, o manualmente a través del disparador n8n On clicking 'execute' (Al hacer clic en 'ejecutar').


  1. Configuración y Recopilación de Datos: El flujo de trabajo de n8n recupera primero las variables de configuración (URL de Typebot, ID del espacio de trabajo, propietario/repositorio de GitHub) del nodo n8n Globals. Luego utiliza dos solicitudes HTTP simultáneas: una para listar todos los flujos activos de Typebot y otra usando el nodo n8n de GitHub para listar todos los archivos de copia de seguridad actuales en el repositorio.

  2. Bucle de Procesamiento de Elementos: El nodo n8n Split Out separa la lista de Typebots en elementos individuales. El nodo n8n Loop Over Items gestiona el procesamiento iterativo, llamando al flujo de forma recursiva a través del nodo n8n Execute Workflow por cada elemento para gestionar la memoria de forma eficiente.

  3. Enrutamiento del Subflujo: La ejecución recursiva comienza con el nodo n8n Execute Workflow Trigger, que alimenta un nodo Switch de n8n que comprueba el origin (Origen) del elemento (Typebot o GitHub).

  4. Ruta de Copia de Seguridad de Typebot (Origen: Typebot): El flujo obtiene los detalles JSON de Typebot e intenta obtener los datos del archivo existente en GitHub. Un nodo Code de n8n (isDiffOrNew) compara el contenido JSON. Este nodo personalizado de n8n garantiza la estabilidad ordenando las claves JSON antes de la comparación. Un nodo Switch de n8n posterior (Check Status) dirige el flujo a Create new file (Crear archivo nuevo), Edit existing file (Editar archivo existente) o Return (Devolver) (si el contenido es "igual").

  5. Ruta de Limpieza de GitHub (Origen: GitHub): Esta ruta verifica si un archivo presente en GitHub corresponde a un Typebot activo existente. El nodo Code de n8n isDeleted comprueba el nombre del archivo (ID) frente a la lista de Typebots activos. Si el Typebot ha sido eliminado, un nodo If de n8n dirige el flujo al nodo n8n de GitHub Delete a file (Eliminar un archivo), manteniendo un repositorio de copias de seguridad limpio. Este sólido enfoque de doble vía lo convierte en un flujo de trabajo de n8n eficaz para el mantenimiento.

Guía de instalación


  1. Importar la plantilla de n8n: Copia el código JSON proporcionado e impórtalo directamente en tu instancia de n8n.

  2. Configurar las credenciales:

Typebot: Necesitarás una credencial de tipo Token de portador HTTP genérico (Generic HTTP Bearer Token) para autenticar el nodo de Solicitud HTTP List Typebots y Get Typebot.
GitHub: Configura una credencial OAuth2 para GitHub. Esta credencial debe tener permisos para leer, escribir y eliminar archivos en el repositorio de destino.

  1. Actualizar las variables globales: Localiza el nodo Set n8n Globals (indicado por una nota adhesiva). Actualiza los siguientes valores:

typebot.url: La URL de tu instancia de Typebot (ej. https://typebot.io).
typebot.workspace.id: El ID del espacio de trabajo específico que deseas respaldar.
repo.owner: Tu nombre de usuario de GitHub.
repo.name: El nombre del repositorio de GitHub designado para estas copias de seguridad.

  1. Activación: Una vez configuradas las credenciales y las globales, activa el flujo de trabajo de n8n. El disparador n8n Schedule Trigger se encargará de las ejecuciones automatizadas, pero también puedes ejecutarlo manualmente a través del nodo n8n On clicking 'execute' (Al hacer clic en 'ejecutar').

Detalles del nodo

Schedule Trigger / Manual Trigger (Disparador de Programación / Disparador Manual): Estos disparadores de n8n inician el proceso de sincronización basándose en el tiempo o en la entrada manual.
Globals (Nodo Set de n8n): Contiene parámetros de configuración esenciales (claves API, URL, nombres de repositorio) para todo el flujo de trabajo de n8n.
List Typebots (Nodo Solicitud HTTP de n8n): Recupera la lista de todos los flujos activos actualmente de Typebot desde la API de Typebot.
List files (Nodo GitHub de n8n): Obtiene la lista de archivos que están actualmente respaldados en el repositorio de GitHub.
Execute Workflow (Nodo n8n): Componente crucial que permite la ejecución recursiva del flujo de trabajo de n8n sobre sí mismo para procesar elementos uno por uno, optimizando la gestión de memoria.
Get Typebot (Nodo Solicitud HTTP de n8n): Recupera el contenido JSON completo y detallado de un flujo específico de Typebot usando su ID.
isDiffOrNew (Nodo Code de n8n): Un nodo Code personalizado de n8n que compara la carga útil JSON de Typebot con los datos de respaldo de GitHub existentes (que están codificados en base64) para determinar si el flujo es "nuevo", "diferente" o "igual" basándose en la comparación de cadena/hash de contenido.
Check Status (Nodo Switch de n8n): Dirige el flujo de trabajo de n8n basándose en el estado de sincronización proporcionado por el nodo isDiffOrNew de n8n.
Create new file / Edit existing file / Delete a file (Nodo GitHub de n8n): Realiza las operaciones Git necesarias (crear, actualizar, eliminar) para mantener la integridad de la sincronización en el repositorio de GitHub.
isDeleted (Nodo Code de n8n): Un nodo Code personalizado responsable de comparar la lista de archivos de GitHub con la lista de IDs de Typebot activos para identificar y marcar los archivos que deben eliminarse.

Flujos de trabajo de n8n relacionados

Gratis

Nodos: 15 Nodos
Actualizado: Diciembre 26 2025
Ver todo
Creado por

Presentado*