Expresiones y el nodo Code
> “In n8n, expressions allow you to populate node parameters dynamically by executing JavaScript code.”
Lo que se interpola va entre {{ }}. Arrastrar un campo desde el panel INPUT genera exactamente eso, por ejemplo {{ $json.fruit }}.
Variables confirmadas
$json— los datos JSON del item actual.$binary— los datos binarios del item actual.$nowy$today— el instante y el día actuales.$if(condición, valorA, valorB)y$ifEmpty(valor, alternativa).
Para mirar la salida de otro nodo, la forma actual es la de llamada a función: $('NodeName'), acompañada de .item, .first(), .last() o .all().
Dentro del nodo Code está la familia $input: $input.item, $input.all(), $input.first(), $input.last() y $input.params. Ahí $binary no está disponible, y $json funciona cuando el nodo corre una vez por cada item.
Fechas
> “Using Luxon's DateTime() is the recommended approach in n8n. Using vanilla JavaScript's Date() doesn't work with some n8n features.”
La zona horaria de la instancia es America/New_York salvo que se defina otra con GENERIC_TIMEZONE.
El nodo Code
Escribe JavaScript o Python como un paso más. Dos modos: Run Once for All Items (el predeterminado, corre una vez) y Run Once for Each Item. El entorno está aislado: “You can't access the file system or make HTTP requests.”