{{...}} dentro de su input. El paso browser.use también las resuelve dentro de task. Así pasas datos del disparo y entre pasos sin hardcodearlos.
Tres formas de pasar datos entre pasos
Flujo mental:
- El paso A asigna un resultado (
outputen JavaScript, o la respuesta HTTP). - El paso B referencia ese resultado en su
inputcon plantillas. - Opcionalmente, el paso A usa
capturepara guardar el valor encontextcon un nombre estable.
Raíces disponibles en plantillas
Reglas importantes
- Si la plantilla ocupa todo el string (
"{{trigger.body.monto}}"), se conserva el tipo original (número, objeto, etc.). - Si la plantilla está dentro de un texto (
"Hola {{trigger.body.nombre}}"), el valor se convierte a string. - Una plantilla sin valor resuelve a string vacío (
"") cuando está embebida en texto. - Las plantillas se resuelven en
input, no dentro del campocodede JavaScript. Pasa datos porinputy léelos comoinput.<campo>. - En
browser.use, puedes usar las mismas raíces directamente dentro detask.
Ejemplo completo: JavaScript → HTTP con steps.N.output
Webhook de entrada:
- El paso
0recibe el trigger porinput, limpia datos y dejaoutput = { referencia, monto, moneda }. - El paso
1lee esos campos con{{steps.0.output.*}}ya resueltos en suinput.
Ejemplo completo: JavaScript → JavaScript con capture y context
Usa capture cuando el valor debe reutilizarse en varios pasos o quieres un nombre estable (context.pago) en lugar de recordar el índice.
- En un paso JavaScript,
capture.from = "response.body"apunta al valor deoutput. - En el paso 1,
input.pagollega como objeto porque la plantilla ocupa todo el string. - El paso 2 también puede leer
{{context.pago.referencia}}sin depender del índice del paso.
Ejemplo: HTTP → JavaScript → HTTP
capture: contrato
Buen ejemplo vs mal ejemplo
Bien: pasar salida del paso 0 al paso 1
Mal: asumir variables globales entre pasos
nombreNormalizado. Debes publicar el valor en output (y leerlo con steps.0.output o capture/context).
Mal: plantilla dentro de code
"referencia": "{{trigger.body.referencia}}" en input y usa input.referencia.
Mal: índice de paso incorrecto
Si insertas un paso al inicio, los índices cambian.{{steps.1.output.x}} puede dejar de apuntar al paso que creías. Para valores reutilizados, prefiera capture + {{context.x}}.
Triggers de contacto o tablero
Si el disparo viene de un contacto o registro, usa la bolsavalues:
Metadatos del sobre (por ejemplo
trigger.body.record.id) viven fuera de values.
Por ejemplo, este input entrega a un paso HTTP el registro y dos de sus campos:

