Herramientas

Tutorial de n8n: cree flujos de trabajo sin código

Jonas Höttler24. enero 20268 min
En pocas palabras

Un flujo de n8n consta de nodos: un desencadenador lo inicia (Webhook, programación, evento en una app), los nodos de acción ejecutan, los nodos lógicos bifurcan. Para empezar basta la versión Cloud; quien quiera mantener los datos en la empresa, ejecuta n8n como contenedor Docker y configura WEBHOOK_URL así como Basic Auth, de lo contrario los Webhooks entrantes no alcanzarán la instancia. Sin código se avanza mucho: los valores se extraen mediante expresiones entre llaves dobles del nodo anterior, las bifurcaciones mediante IF, volúmenes grandes de datos mediante Split In Batches, errores mediante Retry y un Error-Trigger. JavaScript solo hace falta para transformaciones para las que no existe un nodo ya preparado.

Bloques metálicos fresados de diferentes formas uno al lado del otro en un boceto, solo uno encaja
Inhaltsverzeichnis

n8n no es una herramienta para desarrolladores, aunque la documentación pueda dar esa impresión. Es una herramienta para la persona que ya escribe las fórmulas de Excel en la empresa: el controller, la asistente de la dirección, el maestro con la hoja de cálculo de análisis. Quien sabe crear una fórmula SVERWEIS también puede crear un flujo de trabajo en n8n. El tercer ejemplo más abajo, el informe semanal, es exactamente uno de esos casos y ahorra, según el alcance, varias horas por semana.

Este tutorial está escrito exactamente para esa persona. Nada de teatro de configuración de Docker, ni nodos personalizados en TypeScript. Sino: cómo configurar n8n, tener el primer flujo útil en directo en 45 minutos, y a partir de qué punto realmente debería incorporar a un desarrollador.

¿Qué es n8n?

n8n es una plataforma de automatización de flujos de trabajo con la que usted puede conectar aplicaciones y automatizar procesos sin necesidad de programar. Lo especial:

  • Open Source: El código es visible y se puede adaptar
  • Posibilidad de self-hosting: Control total sobre sus datos
  • Fair Code License: Gratuito para la mayoría de usos
  • Editor visual: Crear flujos por arrastrar y soltar
  • 400+ integraciones: Desde Google hasta GitHub, de Slack a Shopify

n8n vs. Zapier vs. Make

Featuren8nZapierMake
PreisKostenlos (Self-Host) / ab 20€ (Cloud)Ab 20$/MonatAb 9€/Monat
Self-HostingJaNeinNein
Open SourceJaNeinNein
Integrationen400+6.000+1.500+
Komplexe LogikSehr gutBegrenztGut
LernkurveMittelNiedrigMittel
DSGVOOptimal (Self-Host)ProblematischGut

n8n es ideal para:

  • Empresas con requisitos de protección de datos
  • Equipos con conocimientos técnicos
  • Flujos de trabajo complejos con bifurcaciones
  • Automatización con presupuesto ajustado

Instalar y configurar n8n

Opción 1: n8n Cloud (entrada más sencilla)

  1. Vaya a n8n.io
  2. Haga clic en «Start Free»
  3. Regístrese
  4. Listo: puede empezar de inmediato

Precio: 14 días gratis, luego desde 20€/mes

Opción 2: Self-Hosting con Docker (Recomendado)

Requisitos: Docker instalado

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

Abra luego http://localhost:5678 en el navegador.

Para producción con Docker Compose:

version: '3.8'
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=sicheres_passwort
      - WEBHOOK_URL=https://n8n.ihre-domain.de/
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Opción 3: Instalación con npm

npm install n8n -g
n8n start

Entender la interfaz de n8n

El editor de flujos

Tras iniciar sesión verá el editor de flujos vacío. Los elementos más importantes:

  • Canvas: El área de trabajo donde coloca los nodos
  • Panel de nodos (derecha): Todas las integraciones disponibles
  • Botón Ejecutar (arriba): Iniciar el flujo manualmente
  • Guardar (arriba): Guardar el flujo
  • Activar (arriba): Activar el flujo para ejecución automática

¿Qué son los nodos?

Los nodos son los bloques de construcción de sus flujos. Cada nodo tiene una función específica:

  • Nodos Trigger: Inician el flujo (p. ej. Webhook, Programación, entrada de correo)
  • Nodos Action: Ejecutan acciones (p. ej. enviar correo, guardar datos)
  • Nodos Logic: Controlan el flujo (p. ej. If/Else, Switch, Merge)

Su primer flujo: correo al crear una página en Notion

Objetivo: Cuando se cree una nueva página en Notion, usted recibe un correo.

Paso 1: Añadir Trigger

  1. Haga clic en el + en el Canvas
  2. Busque «Notion»
  3. Seleccione «Notion Trigger»
  4. Configure la conexión:
    • Haga clic en «Create New Credential»
    • Siga las instrucciones para configurar la API de Notion
  5. Seleccione:
    • Event: Page Added to Database
    • Database: Su base de datos deseada

Paso 2: Añadir nodo de correo

  1. Haga clic en el + a la derecha del nodo Notion
  2. Busque «Send Email»
  3. Configure:
    • From Email: ihre@email.de
    • To Email: ihre@email.de
    • Subject: Neue Notion-Seite: {{ $json.properties.Name.title[0].plain_text }}
    • Text: Es wurde eine neue Seite erstellt.

Paso 3: Activar el flujo

  1. Haga clic en Speichern
  2. Haga clic en Aktivieren (toggle arriba a la derecha)
  3. ¡El flujo ahora se ejecuta automáticamente!

Ejemplo de flujo 2: Notificación de lead

Escenario: Formulario nuevo en la web → Mensaje en Slack + registro en CRM

Los nodos

  1. Webhook (Trigger): Recibe datos del formulario
  2. HubSpot: Crea contacto
  3. Slack: Envía mensaje al canal del equipo

Paso a paso

1. Configurar Webhook:

  • Nodo: «Webhook»
  • HTTP Method: POST
  • Path: lead-form
  • Copie la URL del webhook

2. Crear contacto en HubSpot:

  • Nodo: «HubSpot»
  • Operation: Create/Update Contact
  • Email: {{ $json.body.email }}
  • First Name: {{ $json.body.firstname }}
  • Last Name: {{ $json.body.lastname }}

3. Enviar mensaje a Slack:

  • Nodo: «Slack»
  • Channel: #sales
  • Text:
Neuer Lead!
Name: {{ $json.body.firstname }} {{ $json.body.lastname }}
E-Mail: {{ $json.body.email }}

4. Insertar la URL del webhook en el formulario: Añada la URL del webhook como Action-URL en su formulario de contacto.

Ejemplo de flujo 3: Informe automático

Escenario: Cada lunes a las 9 → Recuperar datos de Google Sheets → Enviar por correo

Los nodos

  1. Schedule Trigger: Lunes 9:00
  2. Google Sheets: Leer datos
  3. Function: Formatear datos
  4. Send Email: Enviar informe

Configuración

1. Schedule Trigger:

  • Trigger Times: Add Cron Time
  • Mode: Every Week
  • Day of Week: Monday
  • Hour: 9
  • Minute: 0

2. Google Sheets:

  • Operation: Read Rows
  • Spreadsheet: Su hoja de cálculo
  • Range: A:E (o sus columnas)

3. Function (JavaScript):

// Daten als Tabelle formatieren
const rows = items.map(item => item.json);
let table = "| Name | Umsatz | Status |\n|---|---|---|\n";

rows.forEach(row => {
  table += `| ${row.Name} | ${row.Umsatz}€ | ${row.Status} |\n`;
});

return [{ json: { report: table } }];

4. Send Email:

  • Subject: Wöchentlicher Report - {{ $now.format('DD.MM.YYYY') }}
  • HTML: {{ $json.report }}

Conceptos importantes de n8n

Expressions (Expresiones)

Las expresiones permiten valores dinámicos. Sintaxis: {{ }}

Ejemplos:

  • {{ $json.email }} - Valor de un nodo anterior
  • {{ $now }} - Fecha/hora actual
  • {{ $json.name.toUpperCase() }} - Usar funciones de JavaScript
  • {{ $node["Google Sheets"].json.data }} - Datos de un nodo específico

Bifurcaciones con IF

El nodo IF permite lógica condicional:

  1. Añada un nodo «IF»
  2. Condición: p. ej. {{ $json.status }} equals "urgent"
  3. Ruta True: Una acción
  4. Ruta False: Otra acción

Bucles con Split in Batches

Para grandes volúmenes de datos:

  1. Añada el nodo «Split In Batches»
  2. Establezca Batch Size (p. ej. 10)
  3. Ejecute el bucle hasta procesar todo

Manejo de errores

Error Trigger: Inicia un flujo cuando otro falla

Retry on Fail: Activar en nodos individuales

  • Abrir settings del nodo
  • "On Error" → "Continue" o "Retry"

Técnicas avanzadas

Webhooks para eventos externos

Los webhooks son URLs que servicios externos pueden llamar.

Crear un webhook:

  1. Nodo Webhook como Trigger
  2. Elegir HTTP Method (GET, POST, etc.)
  3. Definir Path (p. ej. /customer-update)
  4. Copiar la URL y pegarla en el servicio externo

Probar webhook:

  • En el navegador: llamar GET webhooks directamente
  • Con Postman: probar POST webhooks
  • En n8n: usar "Listen for test event"

HTTP Request para APIs sin integración

Para servicios sin integración nativa en n8n:

  1. Añadir nodo "HTTP Request"
  2. Configurar:
    • Method: GET, POST, PUT, DELETE
    • URL: Endpoint de la API
    • Authentication: API Key, OAuth, etc.
    • Body: Datos JSON

Ejemplo: llamar una API desconocida

{
  "method": "POST",
  "url": "https://api.example.com/data",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY"
  },
  "body": {
    "name": "{{ $json.name }}",
    "email": "{{ $json.email }}"
  }
}

Nodo de código para lógica compleja

Si los nodos visuales no son suficientes, use JavaScript:

// Alle Items verarbeiten
const results = [];

for (const item of items) {
  const data = item.json;

  // Berechnungen
  const total = data.price * data.quantity;
  const tax = total * 0.19;

  results.push({
    json: {
      ...data,
      total,
      tax,
      gross: total + tax
    }
  });
}

return results;

Buenas prácticas para n8n

1. Mantener los flujos modulares

  • Un flujo = Una tarea
  • Dividir procesos complejos en varios flujos
  • Encadenar flujos mediante webhooks

2. Incluir manejo de errores

  • Error Trigger para flujos críticos
  • Notificación en caso de errores (Slack, correo)
  • Lógica de retry para APIs inestables

3. Gestionar credenciales de forma segura

  • Nunca poner API-Keys directamente en el flujo
  • Usar las credentials de n8n
  • En self-hosting: variables de entorno

4. Probar antes de activar

  • Usar "Execute Workflow" para probar
  • Trabajar con datos de prueba
  • Revisar salidas de cada nodo

5. Documentar

  • Elegir nombres de flujo descriptivos
  • Usar sticky notes para explicaciones
  • Comentar expressions complejas

Problemas comunes y soluciones

Problema: El webhook no llega a n8n

Causas:

  • n8n no es accesible públicamente
  • Firewall bloquea
  • Falta HTTPS

Soluciones:

  • Usar un servicio de túnel (ngrok) para pruebas
  • Configurar un reverse proxy (nginx, Traefik)
  • Establecer la variable WEBHOOK_URL

Problema: Límite de la API alcanzado

Solución:

  • Usar Split in Batches
  • Insertar nodo Wait entre requests
  • Rate limiting en el nodo HTTP Request

Problema: Los datos tienen formato incorrecto

Solución:

  • Set-Node para reestructurar
  • Function-Node para transformaciones complejas
  • Date & Time-Node para formatos de fecha

n8n para equipos

Colaborar (n8n Cloud)

  • Varios usuarios por workspace
  • Compartir flujos
  • Execution History visible para todos

Self-Hosted para equipos

  • PostgreSQL en vez de SQLite para mayor estabilidad
  • Queue Mode para alta carga
  • Múltiples workers para escalado

Conclusión

n8n es una herramienta potente para automatización de flujos de trabajo, especialmente cuando la protección de datos es importante o cuando necesita máxima flexibilidad. La curva de aprendizaje es algo más pronunciada que en Zapier, pero las posibilidades son claramente mayores.

Sus próximos pasos:

  1. Instalar n8n en la nube o localmente
  2. Crear el primer flujo sencillo (p. ej. RSS → Email)
  3. Ir creando flujos más complejos gradualmente
  4. Si self-hosting: preparar el entorno de producción

Recursos adicionales:

¿Quiere implementar n8n en su empresa? Le ayudamos con la configuración, el desarrollo de flujos y el hosting, para que usted pueda centrarse en sus procesos.

Consejo de herramienta: Nuestro gratuito Automatisierungs-Check le muestra en pocos minutos si un proceso concreto es adecuado para la automatización, incluyendo estimación de ROI y recomendación de herramientas.

Si quiere saber cuánto cuesta su proceso: mídalo.

Comience con el diagnóstico gratuito o descargue FlowVisual. Si luego quiere hablar con alguien, estamos disponibles.