GabyMatic Academy — Ref

Expresiones y Variables en n8n

Referencia imprimible del motor de expresiones (v2.32).

Variables Especiales

VariableDevuelveEjemplo de uso
$jsonDatos JSON del nodo actual{{ $json.body.nombre }}
$nowFecha/hora actual (ISO 8601){{ $now }}
$todaySolo fecha actual{{ $today }}
$env.VARVariable de entorno{{ $env.N8N_BASE_URL }}
$itemsArray de todos los items{{ $items.length }}
$workflow.idID del workflow actual{{ $workflow.id }}
$execution.idID de la ejecución{{ $execution.id }}
$node["Nombre"].jsonSalida de un nodo específico{{ $node["HTTP Request"].json }}
$binaryDatos binarios (archivos){{ $binary.archivo.data }}

Funciones Built-in Esenciales

FunciónPropósitoEjemplo
$ifEmpty(v, fallback)Valor alternativo si vacío{{ $ifEmpty($json.email, "sin-email") }}
$ifNotEmpty(v, t)Template si no vacío{{ $ifNotEmpty($json.lead, "Lead: " + $json.lead, "") }}
$jmespath(data, q)Filtrar JSON con JMESPath{{ $jmespath($json, "items[?score > `50`]") }}
.map(fn)Transformar cada elemento{{ $json.leads.map(l => l.email) }}
.filter(fn)Seleccionar por condición{{ $json.leads.filter(l => l.score > 50) }}
.reduce(fn, ini)Agregar a un valor{{ $json.leads.reduce((s,l) => s + l.score, 0) }}
.toUpperCase()Mayúsculas{{ $json.nombre.toUpperCase() }}
.split(sep)Dividir string en array{{ $json.texto.split(",") }}
.join(sep)Unir array en string{{ $json.nombres.join("; ") }}

Condicionales y Operadores

TipoExpresión
Comparación== === != > < >= <=
Lógica&& (y) || (o) ! (no)
Ternariacondición ? valor_true : valor_falso
Concatenación"Hola " + $json.nombre
InterpolaciónHola {{ $json.nombre }}
// Ternaria para prioridad
{{ $json.score > 50 ? "Alta" : "Normal" }}

// Filtro combinado
{{ $json.leads.filter(l => l.score > 50).length }} leads calientes