Ir al contenido

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.

CampoRequeridoDescripción
CódigoEl JavaScript a ejecutar
ObjetoContenido
inputLa entrada del nodo
triggerDataDatos del trigger
variablesVariables globales del flujo
nodesSalidas de nodos anteriores (nodes.openai.text, …)
consolePara 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.

Dos modos:

  • return explícito — devuelve un objeto y esos serán los datos de salida.
  • Auto-exportar — si no hay return, se exportan las variables const/let/var que declaraste.

Los campos que devuelves (o las variables exportadas), accesibles como {{nodes.<nodo>.<campo>}}.

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}}.

  • “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 return o de declarar variables con const/let.