Automatiza tu trabajo. Aprende n8n.

La guía práctica y visual para conectar tus apps y crear flujos de trabajo sin límites.

¿Qué es n8n y por qué debería importarte?

¿Qué es?

n8n es una herramienta de "automatización de flujos de trabajo". Piensa en ello como un LEGO digital: te permite conectar cientos de aplicaciones.

¿Por qué es especial?

A diferencia de otras, n8n es "source-available". Puedes usar su Cloud o instalarlo en tu propio servidor (Self-Hosted), dándote control total.

¿Cómo funciona?

Todo se basa en un lienzo visual. Arrastras "Nodos" (acciones) y los conectas con "fideos" (conexiones) para decirle a n8n qué hacer.

Lo que construirás con esta guía

No solo leerás, harás. Empezaremos fácil y terminaremos construyendo automatizaciones potentes.

  • Proyecto 1: El Notificador. (Google Sheets ➔ Slack)
  • Proyecto 2: El Agregador de Noticias. (RSS ➔ Email)
  • Proyecto 3: Tu propia Mini-API. (Webhook ➔ Código)

Módulo 1: Conceptos Fundamentales

1.1 El Tour de la Interfaz

[Ilustración de la interfaz de n8n con anotaciones]
  1. El Lienzo (Canvas): El gran espacio blanco donde construyes.
  2. El Panel de Nodos: A la derecha. Tu caja de herramientas.
  3. El Panel de Configuración: A la izquierda. Los detalles de cada nodo.
  4. Botones de Ejecución: Abajo a la izquierda. El "Play" para probar.
  5. Activo/Inactivo: Arriba a la derecha. El interruptor para "encender" tu automatización.

1.2 Los 4 Pilares de n8n

1. Workflows

El proyecto completo. Un lienzo y todos los nodos que contiene. Un workflow = una automatización.

2. Nodos (Nodes)

El bloque de construcción. Cada nodo es una acción (ej. "Enviar Email", "Leer Fila"). Se dividen en Triggers (inicio) y Acciones (trabajo).

3. Conexiones ("Noodles")

Las líneas que conectas entre los nodos. Definen el orden y pasan los datos del nodo anterior al siguiente.

4. Credenciales

El "llavero" de n8n. Es donde guardas, de forma segura, tus contraseñas y claves de API para no tener que escribirlas en cada nodo.

Módulo 2: ¡A construir!

Objetivo: Crear un workflow que nos avise por Slack cada vez que añadamos una nueva tarea en un Google Sheet.

2.1 Paso 0: Preparar nuestro Google Sheet

Crea un Google Sheet con 3 columnas: Tarea, Prioridad, Estado.

[Captura de pantalla simple de un Google Sheet]

2.2 Paso 1: El Trigger (El inicio)

  1. En n8n, busca y añade el nodo "Google Sheets Trigger" (fíjate en el rayo ⚡).
  2. Autenticación: En "Credential", haz clic en "Create New" e inicia sesión en Google.
  3. Configuración: Define tu *Sheet ID*, *Sheet Name* (`Tareas`), y *Trigger On* (`On Row Added`).
  4. Haz clic en "Fetch Test Event".
  5. Ve a tu Google Sheet y añade una fila nueva.
  6. Vuelve a n8n. ¡Verás que ha capturado los datos!

2.3 Paso 2: La Acción (La notificación)

  1. Haz clic en el "+" del nodo de Google Sheets y busca "Slack".
  2. Autentícate con Slack creando una nueva credencial.
  3. Configura tu *Channel* y el campo *Message*.

2.4 Paso 3: Conectando los datos (Las Expresiones)

En el campo "Message" del nodo de Slack, haz clic en el icono de "Variables" ({=}) o empieza a escribir {{ para abrir el editor de expresiones.

Tu campo "Message" debería verse así:


¡Nueva Tarea!
Tarea: {{ $json.Tarea }}
Prioridad: {{ $json.Prioridad }}
Estado: {{ $json.Estado }}
                
{{ ... }} le dice a n8n: "Busca el valor de esta variable".
$json.Tarea significa: "Del nodo anterior, coge el dato de la columna 'Tarea'".

2.5 Paso 4: Probar y Activar

  1. Haz clic en "▶️ Execute Workflow" (abajo a la izquierda).
  2. Revisa tu Slack. ¡Deberías tener un nuevo mensaje!
  3. ¡Paso final! Arriba a la derecha, mueve el interruptor de "Inactive" a "Active".
  4. Guarda tu workflow.

Módulo 3: El Concepto Clave: "Items"

Esta es la parte "súper detallada". Si entiendes esto, entiendes n8n.

3.1 n8n piensa en "Items"

Analogía: Piensa que los datos viajan de un nodo a otro dentro de una caja. Cada caja es un "Item".

Dentro de cada Item, hay datos en formato JSON (pares de clave-valor).


// Ejemplo de 1 Item (el que recibimos de Google Sheets)
{
  "Tarea": "Comprar leche",
  "Prioridad": "Alta",
  "Estado": "Pendiente"
}
                

3.2 El problema: Múltiples Items

¿Qué pasa si tu trigger (ej. "Lee un Google Sheet") devuelve 10 filas a la vez?

n8n envía 10 cajas (10 Items) separadas, una detrás de otra.

[Diagrama: 1 Nodo Google Sheet ➔ 3 Items (cajas) ➔ 1 Nodo Slack = 3 Mensajes de Slack]
Regla de Oro: Por defecto, un nodo de acción (como "Send Slack") se ejecutará UNA VEZ por cada ITEM que reciba.

3.4 Manipulando Datos (Los Nodos Clave)

Nodo "Set": Para crear, modificar o renombrar datos. Es el que más usarás.
Nodo "IF" (Condicional): Para dividir el flujo. "SI la Prioridad es 'Alta', ve a Slack. SI NO, ve a Email".
Nodo "Merge": Para combinar datos de diferentes ramas.
Nodo "Code": Para escribir JavaScript y hacer lo que quieras.

Módulo 4: Casos de Uso Avanzados

4.1 Trabajando con APIs (El Nodo HTTP Request)

Muchos servicios no tienen un nodo dedicado. ¡No importa! Si tienen una API, puedes usar el nodo "HTTP Request". Es un nodo genérico que te permite hacer cualquier petición web (GET, POST, PUT, DELETE).

[Captura de pantalla de un nodo HTTP Request configurado]

4.2 Webhooks: n8n como receptor

Un Webhook es una URL especial que n8n te da. Cuando cualquier otro servicio (como Stripe, GitHub) envía datos a esa URL, el workflow se dispara instantáneamente. Es mucho más eficiente que un trigger que "pregunta" cada 5 minutos.

4.3 Error Handling (Gestión de Errores)

Puedes configurar "Error Workflows". En la configuración de tu workflow, puedes decirle: "Si este workflow falla, ejecuta este otro workflow" (uno que te envíe un email de alerta, por ejemplo).

Módulo 5: Recursos y Siguientes Pasos

  • La Documentación Oficial: Tu fuente de verdad.
  • El Foro de la Comunidad: Para buscar soluciones a problemas.
  • n8n.io/workflows: Una biblioteca gigante de workflows pre-hechos.

Cheat Sheet de Expresiones

Fragmentos útiles para usar en tus expresiones {{ ... }}:


// Coge el dato 'data' del Item actual.
{{ $json.data }}

// Coge el dato 'data' del PRIMER item
// que vino del nodo ANTERIOR.
{{ $items(0).json.data }}

// Coge el dato 'data' del nodo llamado 'MiNodoGoogleSheet'
{{ $('MiNodoGoogleSheet').item.json.data }}

// Coge el nombre de tu workflow (útil para logs).
{{ $workflow.name }}