n8n: tu primer flujo con trazabilidad de punta a punta
Una introducción práctica a n8n: qué es, dónde aporta valor y un ejercicio corto para construir un flujo con decisión condicional y leer, nodo por nodo, qué ocurrió en cada ejecución.
01 · Qué es n8n
Automatización visual, con código cuando lo necesitas
n8n es una plataforma de automatización de flujos de trabajo. Conectas nodos en un lienzo para mover y transformar datos entre APIs, bases de datos y servicios, y puedes alojarla en tu propia infraestructura o usar su versión cloud.
Su diferencia frente a otras herramientas low-code es que no te encierra: cuando un nodo no alcanza, escribes una expresión o un bloque de JavaScript o Python y sigues en el mismo flujo. Cada ejecución queda registrada con la entrada y la salida de cada nodo.
Trigger
El nodo que inicia el flujo: un clic manual, un webhook, un cron o un evento de otra aplicación.
Nodo
Unidad de trabajo que recibe items, aplica una operación y entrega items al siguiente nodo.
Ejecución
El registro de una corrida completa: qué datos entraron y salieron de cada nodo, y por qué rama.
Los datos viajan como items
Entre nodos se mueve una lista de items, y cada item expone su contenido en la propiedad json. Por eso las expresiones se escriben como $json.campo: leen el item que el nodo está procesando.
02 · Casos de uso
Para qué vale la pena aplicarlo
n8n encaja cuando el problema es de orquestación: varias herramientas que deben hablar entre sí, con reglas claras y la necesidad de saber qué pasó en cada corrida.
Integración entre sistemas
Sincroniza CRM, hojas de cálculo, bases de datos y APIs internas sin escribir un servicio por cada conexión.
Automatización operativa
Notificaciones, aprobaciones, reportes programados y tareas repetitivas que hoy dependen de una persona.
Agentes y flujos con IA
Encadena modelos LLM, herramientas y memoria para clasificar, resumir o responder con contexto del negocio.
Pipelines de datos ligeros
Extrae, valida y enruta registros con reglas condicionales antes de entregarlos a su destino.
03 · Primer arranque
Levanta n8n en local
Si ya tienes Node.js instalado, la forma más rápida de probarlo es con npx. El editor queda disponible en http://localhost:5678.
npx n8nSi prefieres aislar el entorno, usa la imagen oficial de Docker con un volumen para conservar tus flujos y credenciales entre reinicios.
docker volume create n8n_data
docker run -it --rm --name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8nTus flujos viven en el volumen
n8n guarda flujos, credenciales cifradas y el historial de ejecuciones en su directorio de datos. Si omites el volumen, todo se pierde al eliminar el contenedor.
04 · Tutorial
Un flujo pequeño con una decisión
El ejercicio valida la edad de un usuario y toma un camino distinto según el resultado. Son pocos nodos a propósito: lo importante es poder seguir el dato de principio a fin.
- 1
Manual Trigger
Crea un flujo nuevo y agrega el disparador manual. Te permite ejecutar el flujo desde el editor con un clic, sin depender de eventos externos.
- 2
Datos en JSON
Agrega un nodo Edit Fields (Set), cambia Mode a JSON y pega la estructura del usuario. Este nodo simula el dato que llegaría desde un formulario o una API.
edit fields · modo json{ "nombre": "Laura", "apellido": "Martínez", "correo": "laura.martinez@example.com", "edad": 21 } - 3
Edit Fields para capturar los valores
Agrega un segundo Edit Fields en modo Manual Mapping y mapea cada campo con una expresión. Aquí fijas el contrato de datos que usará el resto del flujo.
Edit Fields · Manual Mappingnombre · String{{ $json.nombre }}apellido · String{{ $json.apellido }}correo · String{{ $json.correo }}edad · Number{{ $json.edad }}Arrastra cada campo desde el panel de entrada o escribe la expresión. Activa el tipo Number para la edad: el Switch comparará números, no texto.
- 4
Switch por edad
Agrega un nodo Switch en modo Rules con dos reglas sobre la edad y renombra cada salida para que el lienzo explique la decisión.
PropiedadValorModeRulesRegla 1{{ $json.edad }} · Number · is greater than or equal to · 18 → salida "true"Regla 2{{ $json.edad }} · Number · is less than · 18 → salida "false"Rename Outputtrue / falseEn Colombia la mayoría de edad se alcanza al cumplir 18, por eso la regla usa mayor o igual. Ajusta el umbral a la norma de tu país.
- 5
Un mensaje por rama
Conecta un Edit Fields a cada salida del Switch y define en ambos un campo de texto con el mensaje correspondiente.
Salida true · mayor de edad
mensaje = {{ $json.nombre }} tiene la edad suficiente para consumir alcohol.Salida false · menor de edad
mensaje = {{ $json.nombre }} aún no tiene la edad permitida para consumir alcohol.
05 · Trazabilidad
Lee la ejecución como una traza
Ejecuta el flujo con Execute workflow. Lo valioso no es que termine en verde, sino que puedes reconstruir el recorrido exacto del dato sin agregar un solo log.
El lienzo muestra el camino
Cada conexión indica cuántos items pasaron. Con 21 años, solo la salida true del Switch muestra 1 item; la rama false queda sin ejecutar.
Entrada y salida por nodo
Abre cualquier nodo para comparar Input y Output. Así confirmas que la edad llegó como número y qué regla coincidió.
Historial en Executions
La pestaña Executions conserva cada corrida con estado, fecha y duración, y permite abrirla para inspeccionar sus datos después.
Cambia el dato y repite
Edita la edad a 16 en el nodo JSON y ejecuta de nuevo. Ahora el item sale por false y tienes dos ejecuciones para comparar.
Verifica que las ejecuciones manuales se guarden
En Settings del flujo, la opción Save manual executions controla si las corridas lanzadas desde el editor aparecen en el historial. Si no ves tu ejecución, revisa ese ajuste.
La trazabilidad es parte del diseño
Nombra los nodos y las salidas por su intención, valida tipos antes de decidir y mantén cada rama visible. Un flujo que explica por qué tomó un camino es un flujo que se puede operar cuando el dato real no se parezca al del ejemplo.
Fuentes de verdad
Profundiza en la documentación oficial
Estas referencias llevan directamente a la documentación de n8n. Los nombres de nodos y opciones cambian entre versiones; valida allí antes de llevar un flujo a un entorno real.