Skip to main content
Antes de ejecutar un paso, la API resuelve las plantillas {{...}} 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:
  1. El paso A asigna un resultado (output en JavaScript, o la respuesta HTTP).
  2. El paso B referencia ese resultado en su input con plantillas.
  3. Opcionalmente, el paso A usa capture para guardar el valor en context con 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 campo code de JavaScript. Pasa datos por input y léelos como input.<campo>.
  • En browser.use, puedes usar las mismas raíces directamente dentro de task.

Ejemplo completo: JavaScript → HTTP con steps.N.output

Webhook de entrada:
Automatización de 2 pasos:
Qué ocurre:
  1. El paso 0 recibe el trigger por input, limpia datos y deja output = { referencia, monto, moneda }.
  2. El paso 1 lee esos campos con {{steps.0.output.*}} ya resueltos en su input.

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.
Notas:
  • En un paso JavaScript, capture.from = "response.body" apunta al valor de output.
  • En el paso 1, input.pago llega 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

Cada paso corre aislado. El segundo no ve nombreNormalizado. Debes publicar el valor en output (y leerlo con steps.0.output o capture/context).

Mal: plantilla dentro de code

Esto no interpola el trigger. Declara "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 bolsa values: 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:

Relacionado