Saltar al contenido principal
Actualizado el Aug 4, 2026

Entradas del Workflow

Lo que aprenderás
  • Qué son las entradas del workflow y qué variables expone cada tipo de trigger
  • Cómo referenciar esas variables con expresiones CEL en los pasos
  • Cómo definir entradas personalizadas para workflows manuales

Las entradas del workflow son los valores que transportan datos desde el evento trigger hacia los pasos de tu workflow. Los lees dentro de los pasos con expresiones CEL (Common Expression Language), de modo que cada paso se adapta a los datos específicos de cada ejecución en lugar de usar valores fijos.

Cómo funcionan los campos CEL

Cada campo habilitado para CEL en un paso (texto, URL, body, filtro, condición, etc.) recibe un valor en el formato de objeto {expr: "..."}. Cuando el workflow se ejecuta, la expresión dentro de expr se evalúa contra el contexto de ejecución actual y se reemplaza con el resultado.

Por ejemplo, el campo de texto de un paso de mensaje puede ser:

{"expr": "'Hello ' + contact.name + ', your appointment is confirmed for ' + format_datetime(occurrenceDate, 'YYYY-MM-DD')"}

Si contact.name es "Maria Silva" y occurrenceDate es el 15 de marzo de 2025, el paso envía:

"Hello Maria Silva, your appointment is confirmed for 2025-03-15."

Para campos con mucho texto también puedes usar la función tpl(), que rellena los placeholders de llave simple {key} desde un objeto de valores: tpl('Hello {name}', {name: contact.name}).

La sintaxis de llaves dobles {{ }} no aplica aquí — solo existe en las plantillas de mensaje de WhatsApp.

Variables por tipo de trigger

Las variables disponibles para un workflow dependen de su tipo de trigger. Estas siempre están presentes:

VariableDescripción
companyEl objeto de la empresa (companyName, _id, options, planId)
step(N)La salida del paso N (indexado desde 0), ej.: step(0).data

Un trigger hook (se dispara al crear/actualizar/eliminar un documento) también expone:

VariableDescripción
docEl documento que se está creando, actualizando o eliminando
prevEl estado anterior del documento (solo en actualizaciones)
opLa operación del ciclo de vida que disparó el hook, ej.: afterCreate, afterUpdate o afterDelete (uno de beforeSave/afterSave/beforeCreate/afterCreate/beforeUpdate/afterUpdate/beforeDelete/afterDelete)
modelEl modelo dynadata que disparó el hook (ej.: contacts, ct:events)

Un trigger temporal (se ejecuta según una programación) expone:

VariableDescripción
occurrenceDateLa fecha/hora programada para esta ocurrencia

Cuando un workflow se ejecuta desde una conversación con un agente, las variables del contexto del asistente también quedan accesibles, incluyendo contact (contact.name, contact.contactIdentification para el identificador del canal, como un número de teléfono o nombre de usuario, y contact.channelType para el canal) y contactMessage (contactMessage.body.text para el texto de un mensaje recibido).

Usar entradas en los pasos

Al configurar un paso en la sección Pasos, define cada campo CEL con un valor {expr: "..."} que referencie las variables anteriores. Puedes combinar texto estático con varias variables en una sola expresión:

{"expr": "'Dear ' + contact.name + ', you have an upcoming appointment on ' + format_datetime(occurrenceDate, 'DD/MM/YYYY') + '.'"}

Entradas personalizadas para workflows manuales

Cuando un workflow usa un trigger manual, puedes definir campos de entrada personalizados en la sección Parámetros. El profesional los completa antes de ejecutar el workflow — útil cuando el workflow necesita información que ningún evento automático proporciona.

Cada parámetro tiene un nombre, un tipo (string, number, boolean, datetime o ref) y una descripción opcional. El nombre se convierte en una variable CEL de nivel superior: un parámetro llamado report_date se referencia como report_date (no parameters.report_date).

Por ejemplo, define un parámetro report_date; el profesional lo ingresa al hacer clic en Ejecutar, y tus pasos lo leen como:

{"expr": "report_date"}

El mismo workflow produce entonces resultados diferentes según lo que el profesional ingrese cada vez.

Próximos pasos