Nodo Código
El nodo Código ejecuta JavaScript dentro del flujo para transformar datos: calcular, formatear, filtrar o combinar salidas de nodos anteriores. Corre en un sandbox seguro con un tiempo límite de 2 segundos.
Parámetros
Sección titulada «Parámetros»| Campo | Requerido | Descripción |
|---|---|---|
| Código | Sí | El JavaScript a ejecutar |
Qué hay disponible en el sandbox
Sección titulada «Qué hay disponible en el sandbox»| Objeto | Contenido |
|---|---|
input | La entrada del nodo |
triggerData | Datos del trigger |
variables | Variables globales del flujo |
nodes | Salidas de nodos anteriores (nodes.openai.text, …) |
console | Para depurar (aparece en los logs) |
Utilidades permitidas: JSON, Math, Date, Number, String, Boolean, Array, Object, parseInt, parseFloat, isNaN, isFinite.
Bloqueado por seguridad: process, require, global, __dirname, __filename, Buffer, setTimeout, setInterval.
Cómo devolver datos
Sección titulada «Cómo devolver datos»Dos modos:
returnexplícito — devuelve un objeto y esos serán los datos de salida.- Auto-exportar — si no hay
return, se exportan las variablesconst/let/varque declaraste.
Salidas
Sección titulada «Salidas»Los campos que devuelves (o las variables exportadas), accesibles como {{nodes.<nodo>.<campo>}}.
Ejemplo
Sección titulada «Ejemplo»Calcular un descuento y formatear un total:
const subtotal = Number(triggerData.subtotal);const descuento = subtotal > 100 ? 0.1 : 0;const total = subtotal * (1 - descuento);const totalFormateado = `$${total.toFixed(2)}`;return { total, totalFormateado, descuento };Luego usas {{nodes.codigo.totalFormateado}}.
Problemas comunes
Sección titulada «Problemas comunes»- “Timeout” — el código superó los 2 s. Evita bucles pesados; para procesar listas grandes usa el bucle de lista.
require is not defined— no hay módulos externos en el sandbox; usa solo las utilidades permitidas.- No veo la salida — asegúrate de hacer
returno de declarar variables conconst/let.