1 / 18
← Inicio

Datos en n8n

Curso principiante n8n – Video 4

📌 En esta clase verás:

  • Qué tipos de datos usan los nodos y cómo se pasan de nodo a nodo
  • JSON y listas: estructuras fundamentales
  • Items: entrada y salida de los nodos
  • Expresiones para usar los datos en tus workflows

⚠️ Nota: Es un video más técnico, pero entender bien estos conceptos es clave para construir los mejores workflows posibles.

Dos estructuras de datos principales

JSON y Lista

📌 Punto principal: En n8n trabajas sobre todo con dos estructuras: JSON y listas. Todo lo que fluye entre nodos se basa en ellas.

Notas:

  • JSON – Forma muy común de guardar datos en formato digital. Se escribe entre llaves { } y está formado por pares clave–valor, separados por comas.
  • Lista – No es más que una colección de objetos. Pueden ser del mismo tipo o de tipos distintos. Se escribe entre corchetes [ ], también separados por comas.

JSON en detalle

Pares clave–valor entre llaves

Ejemplo JSON
{
  "first_name": "Emily",
  "last_name": "Johnson",
  "email": "emily@ejemplo.com"
}

Notas:

  • Cada propiedad es una clave (string) y un valor (puede ser texto, número, booleano, otro JSON o una lista).
  • Las claves suelen ir entre comillas. Los valores numéricos o booleanos no llevan comillas.
  • Es el formato que verás en la vista “JSON” de cada nodo en n8n.

Lista en detalle

Colección de objetos entre corchetes

Ejemplo lista
["a", "b", 1, 2]

// Lista de JSON (muy común en n8n):
[
  { "first_name": "Emily", "last_name": "Johnson" },
  { "first_name": "Paul", "last_name": "Harris" }
]

Notas:

  • Puede haber una mezcla de tipos: letras, números, etc.
  • Como los JSON son objetos, es muy habitual tener una lista de JSON: varios objetos entre corchetes, separados por comas.
  • En n8n, esa lista de JSON es lo que se corresponde con “varios items” (varias filas de datos).

JSON embebido

Un valor puede ser otro JSON

📌 Definición: Un JSON está embebido cuando el valor de una clave es, a su vez, otro JSON. Sirve para organizar datos complejos (por ejemplo agrupar país y ciudad en location).

Ejemplo
{
  "first_name": "Emily",
  "location": {
    "country": "España",
    "city": "Madrid"
  }
}

💡 Nota: Para acceder a datos anidados usas varias notaciones punto seguidas: $json.location.country obtiene "España".

Acceder a los datos: notación punto

Cómo leer valores de un JSON

En n8n (expresiones)
$json              → el JSON completo del item
$json.first_name  → valor de la clave "first_name"
$json.location.country  → valor anidado (JSON embebido)

Notas:

  • $json hace referencia al JSON del item actual.
  • Escribiendo .nombre_de_la_clave accedes al valor de esa clave.
  • Para JSON embebidos encadenas puntos: $json.location es un JSON; $json.location.country es el valor de country dentro de ese JSON.

JSON y tablas: la correspondencia

1 JSON = 1 fila, claves = columnas

📌 Regla: Un JSON equivale a una fila de una tabla. Las claves del JSON son los encabezados (columnas) de esa fila.

Notas:

  • Si tienes una lista de 3 JSON, equivale a una tabla con 3 filas.
  • En n8n lo ves en la vista “Table” y “JSON” del nodo: cada fila de la tabla es un item (un JSON).
  • Esto te ayuda a imaginar los datos: cada “fila” que ves es un item que puede pasar al siguiente nodo.

Items en n8n

Entrada y salida de los nodos

📌 Definición: En n8n, cada elemento de la lista (cada JSON) se llama item. Los nodos usan items (plural) como entrada y como salida. Es el único formato aceptado.

Notas:

  • Un nodo siempre recibe una lista de items y devuelve una lista de items (aunque sea vacía o de un solo elemento).
  • Si un nodo no debe devolver información, igualmente debe devolver una lista con un JSON vacío [{}] – eso se considera la “salida vacía” de un nodo en n8n.

Un nodo ejecuta una vez por item

Cómo se procesan los datos

📌 Regla general: Cada nodo se ejecuta una vez por cada item que recibe en la entrada. (Hay excepciones que se ven en el curso avanzado.)

Ejemplo: Nodo “Date and Time” para formatear fechas. Si recibe 3 items con 3 fechas distintas, el nodo se ejecuta 3 veces (una por item), formatea cada fecha y devuelve 3 items con la fecha ya formateada.

💡 Nota: Los workflows se construyen “pasando” items de un nodo a otro: cada nodo lee sus items de entrada, los procesa y devuelve sus propios items al siguiente.

Ejecutar solo una vez

Opción en los parámetros del nodo

📌 Dónde: En los parámetros del nodo (icono de engranaje) puedes activar la opción de que el nodo se ejecute solo una vez, usando únicamente el primer item de la entrada.

Notas:

  • Útil cuando quieres leer o procesar “una sola vez” (por ejemplo una configuración o un solo registro) en lugar de repetir por cada item.
  • Si la entrada tiene 5 items y activas “Execute only once”, el nodo solo verá y procesará el primer item.

Esquema de ejecución de un workflow

Ejemplo: Manual → Google Sheets → Filter

📌 Flujo resumido:

  • Execute Workflow (manual): se dispara y devuelve una lista con un JSON vacío [{}] → 1 item.
  • Google Sheets: recibe 1 item, ejecuta una vez, lee 3 filas de la hoja y devuelve 3 items (JSON 1, JSON 2, JSON 3).
  • Filter: recibe 3 items, comprueba cada uno con la condición; solo uno la cumple → devuelve 1 item.

💡 Nota: El número de items puede cambiar en cada nodo. El filtro “reduce” los items; un nodo que lee más filas “aumenta” los items.

Expresiones

Configurar el nodo según los datos de entrada

📌 Objetivo: Hacer que un nodo use el contenido de los items de entrada (por ejemplo un nombre, un email) en sus parámetros. Eso se hace con expresiones.

Cómo crear una expresión:

  • Arrastra la clave desde la vista de tabla, JSON o schema del nodo anterior al campo donde quieres usarla.
  • n8n crea una expresión que, para cada item, devuelve el valor asociado a esa clave.
  • La interfaz suele mostrar un valor de ejemplo del primer item para que veas el resultado.

Editor de expresiones

Ejemplo para el primer item

📌 Ejemplo: En un nodo Filter, arrastras la clave first_name a la condición y pides “solo dejar pasar si first_name es igual a Emily”. La expresión sería algo como {{ $json.first_name }} y en el editor verás un ejemplo del resultado para el item 1 (por ejemplo "Emily").

Notas:

  • Como el nodo se ejecuta una vez por item, para cada item esa expresión tendrá el valor de first_name de ese item.
  • Todo lo que va entre llaves dobles {{ }} es una expresión que n8n evalúa con los datos del item actual.

Qué puede ir dentro de expresiones

Variables, JavaScript y texto

📌 Dentro de {{ }} puedes usar:

  • Variables de item: $json.first_name, $json.last_name, $json.email, etc.
  • JavaScript: funciones o métodos (por ejemplo .toUpperCase(), .toLowerCase()) aplicados a un valor del item.
  • Combinar varias expresiones y texto plano en un mismo campo.

💡 Nota: Un mismo campo puede tener algo como: Hola {{ $json.first_name }}, tu email es {{ $json.email }}. Para cada item se sustituirán los valores.

Ejemplo: mensaje en Slack

Mensaje distinto por item

Mensaje (ejemplo)
{{ $json.first_name }} {{ $json.last_name }} ({{ $json.email }})
acaba de registrarse en Acme

Notas:

  • La primera línea cambia por cada item (nombre y email); la segunda es igual para todos.
  • Si tienes 3 items de entrada, el nodo enviará 3 mensajes (uno por item), cada uno con su nombre y email.

Ejemplo: nodo Edit Fields

Crear un campo “full name”

📌 Caso: Añadir un campo nuevo llamado full name que sea nombre + apellido. Arrastras first_name y last_name al valor del campo; n8n los concatena y muestra un ejemplo (p. ej. "Paul Harris") para el primer item.

Con JavaScript: Puedes usar métodos como {{ $json.last_name.toUpperCase() }} para que el apellido salga en mayúsculas. Así el full name podría ser "Paul HARRIS". Cada item se procesa con su propio nombre y apellido.

Resumen de conceptos de datos

Repaso rápido

📌 Recuerda:

  • JSON = objeto entre llaves; lista = colección entre corchetes. Lista de JSON = varios items.
  • Items = entrada y salida de los nodos. Siempre en formato lista de items.
  • Un nodo se ejecuta una vez por item (salvo “Execute only once”).
  • Expresiones {{ }}: usan datos del item (notación punto, JavaScript, texto).

⚠️ Nota: Si no entiendes por qué la entrada o salida de un nodo tiene tantos o tan pocos items, vuelve a este video y repasa items, listas y JSON; son la base para usar bien las expresiones.

Siguiente paso

Construir tu primer workflow

📌 Próximo video: Con todo lo visto hasta ahora (automatización, triggers, filtros, datos, items, expresiones), en la siguiente clase empezarás a construir tu primer workflow de principio a fin.

🎬 Nos vemos en el siguiente video del curso principiante de n8n.