Saltar al contenido

Generador de Grafo de Dependencias y Auto-Etiquetado de Sub-Workflows en n8n

QuickChart con Mermaid, en este catálogo, se define como el HTTP de n8n que pinta el grafo de sub-workflows en PNG o SVG. Cero mermaid.live. n8n es el método.

Si el JSON no basta

Implantar esta automatización

Lo dejamos funcionando en tu instancia, con tus credenciales.

Ir al formulario
Repo Original 40 nodos 16 tipos conectado
Cargando workflow…

Nodos

HttpRequest N8n Code Filter ScheduleTrigger N8nTrigger Set SplitInBatches If SplitOut Merge Aggregate QuickChart StickyNote Webhook RespondToWebhook

Herramientas

n8n API QuickChart MermaidJS

Detalles

ID
2762
Nodos
40
Conex.
Tipos
16

Qué hace este JSON con QuickChart y Mermaid

QuickChart con Mermaid, en este catálogo, se define como el HTTP de n8n que pinta el grafo de sub-workflows en PNG o SVG: GET de la API de n8n, Code que arma Mermaid y update de tags. Cero mermaid.live. Cero chuleta de sintaxis.

Search Console imprime la consulta «quickchart mermaid» sobre esta URL (39 impresiones, posición 5,5). El nombre en inglés del título es el del template. El grafo no es un tutorial de Mermaid ni un patio de QuickChart. Es una herramienta de administración de instancia n8n: lista tus workflows por la API de n8n, averigua cuáles llaman a cuáles sub-workflows, pinta eso en un diagrama Mermaid vía QuickChart y etiqueta a los llamados con el nombre de quien los invoca.

Nodo a nodo (40 nodos, los que importan)

  • API de n8n (GET all workflows, GET all tags, update tags). Credencial con lectura de workflows y escritura de tags. Si el token es de solo lectura, el dibujo sale y la rama de etiquetas muere.
  • Schedule (domingo) + n8n Trigger (al activar) + Webhook. Tres puertas al mismo grafo: un cron semanal, una pasada al encender el workflow, y un webhook si lo dispara otro proceso. Respond to Webhook devuelve la URL del gráfico.
  • Code, Filter, If, SplitInBatches, SplitOut, Merge, Aggregate, Set. El motor barato del grafo. Cuenta callers, tira los workflows que nadie llama y arma la lista de tags. Si un sub-workflow se borró, el filtro de «exclude missing» evita flechas a fantasmas.
  • QuickChart (MermaidJS). La única razón por la que esta URL rankea «quickchart mermaid». Toma el Mermaid que produjo el Code y devuelve PNG o SVG. No edita tu canvas de n8n. No sustituye mermaid.live.

Los Sticky Note del canvas documentan los campos de la cuenta n8n. Léelos antes de pegar una API key de producción en una instancia de prueba.

Qué no hace este workflow

No genera Mermaid arbitrario a partir de un prompt. No documenta Zapier ni Make. No etiqueta por nombre de carpeta: las tags son nombres de callers. No enseña la sintaxis de Mermaid. Si llegaste por «quickchart mermaid» buscando una chuleta de la API de gráficos, esta página es el template de n8n que llama a esa API. El H1 en español es el trabajo (grafo de dependencias y auto-etiquetado). El título se queda en inglés primero para que el snippet siga calzando la consulta que ya está en posición 5,5. No se retitula.

Qué necesitas antes de importar

  • Una API key de n8n en la misma instancia (o en una remota) con lectura de workflows y escritura de tags.
  • QuickChart: la cuenta o el endpoint público que ya apunta el HTTP Request. Si lo alojas tú, cambia esa URL en el nodo, no en el Code.
  • Suficientes workflows con Execute Workflow para que el grafo tenga aristas. Una instancia plana de tres flujos lineales produce un dibujo aburrido, no un bug.

Cómo importarlo en n8n

Pulsa «Copiar JSON» encima del canvas. Import from clipboard → pega → asigna la credencial de la API de n8n → ejecuta una vez al activar → abre la salida de QuickChart. Si la imagen sale vacía, GET all workflows no trajo nada: la credencial apunta a otra instancia. Si no aparecen tags, el token no puede escribir. Si quieres que Tualoteu lo deje en tu instancia, el formulario está en desarrollar.

Pertenece a

¿Lo quieres en tu empresa?

Lo implementamos por ti end-to-end: integración, deploy, mantenimiento y soporte. Consultoría B2B con Genai Sapiens.

Hablemos de tu proyecto

¿Quieres aprender a hacerlo?

Sprints de 30 días con companion IA + comunidad. Aprende n8n, automatización y agentes IA desde cero o nivel avanzado.

Ver formación Momentum

Workflows similares

\n \n\n\n
\n

n8n Subworkflow Dependency Graph with Mermaid

\n
\n
\n
\n\n \n\n \n\n\n"},"typeVersion":1.1},{"id":"d9b0e9be-1794-4f5e-899c-b5d1e22baa58","name":"Sticky Note11","type":"n8n-nodes-base.stickyNote","position":[680,-320],"parameters":{"color":5,"width":653.2415806326139,"height":140.62930090784633,"content":"## About this workflow\nThis workflow analyzes an n8n instance to detect dependencies between workflows. It identifies which workflows call others ([sub-workflows](https://docs.n8n.io/flow-logic/subworkflows/)), builds a dependency graph, and automatically tags subworkflows with their calling workflows. This makes it easier to track dependencies, optimize workflow structures, and maintain documentation in complex n8n environments."},"typeVersion":1},{"id":"357037ff-f5f7-4b5d-9b72-7c2aec393de4","name":"Sticky Note12","type":"n8n-nodes-base.stickyNote","position":[1360,-320],"parameters":{"color":4,"width":266.5295926113459,"height":95.5709893724457,"content":"## About the maker\n**[Find Ludwig Gerdes on LinkedIn](https://www.linkedin.com/in/ludwiggerdes)**"},"typeVersion":1}],"active":true,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"f1c5dcd4-bcdb-4336-922f-656adc9c36a6","connections":{"Merge":{"main":[[{"node":"GET all tags again","type":"main","index":0}]]},"GET all tags":{"main":[[{"node":"Remove existing tags from new_callers list","type":"main","index":0}]]},"Create new tags":{"main":[[{"node":"Return original pass through values","type":"main","index":0}]]},"GET workflow(s)":{"main":[[{"node":"Exclude missing workflows","type":"main","index":0}]]},"And every Sunday":{"main":[[{"node":"GET all workflows","type":"main","index":0}]]},"SET instance_url":{"main":[[{"node":"GET all tags","type":"main","index":0}]]},"GET all workflows":{"main":[[{"node":"List callers of subworkflows","type":"main","index":0}]]},"GET all tags again":{"main":[[{"node":"Create tag id:name dictionary","type":"main","index":0}]]},"If any new callers":{"main":[[{"node":"Split out new callers as new tags","type":"main","index":0}],[{"node":"Merge","type":"main","index":1}]]},"Update workflow tags":{"main":[[{"node":"Return dependency graph data","type":"main","index":0}]]},"Loop through workflows":{"main":[[{"node":"Combine dependency graph values into labels","type":"main","index":0},{"node":"Format workflow relationship data for rendering","type":"main","index":0}],[{"node":"SET instance_url","type":"main","index":0}]]},"When viewed in a browser":{"main":[[{"node":"GET all workflows","type":"main","index":0}]]},"Exclude missing workflows":{"main":[[{"node":"Count callers and identify new callers","type":"main","index":0}]]},"Exclude uncalled workflows":{"main":[[{"node":"GET workflow(s)","type":"main","index":0}]]},"List callers of subworkflows":{"main":[[{"node":"Exclude uncalled workflows","type":"main","index":0}]]},"Return dependency graph data":{"main":[[{"node":"Loop through workflows","type":"main","index":0}]]},"Create tag id:name dictionary":{"main":[[{"node":"Retrieve tag ids and names from dictionary","type":"main","index":0}]]},"When this workflow is activated":{"main":[[{"node":"GET all workflows","type":"main","index":0}]]},"Split out new callers as new tags":{"main":[[{"node":"Create new tags","type":"main","index":0}]]},"Return original pass through values":{"main":[[{"node":"Merge","type":"main","index":0}]]},"Count callers and identify new callers":{"main":[[{"node":"Loop through workflows","type":"main","index":0}]]},"Remove existing tags from new_callers list":{"main":[[{"node":"If any new callers","type":"main","index":0}]]},"Retrieve tag ids and names from dictionary":{"main":[[{"node":"Update workflow tags","type":"main","index":0}]]},"Combine dependency graph values into labels":{"main":[[{"node":"Visualize subworkflow dependency graph","type":"main","index":0}]]},"Format workflow relationship data for rendering":{"main":[[{"node":"Visualize dependency graph with MermaidJS","type":"main","index":0}]]}}}