Saltar al contenido principal
Actualizado el Aug 4, 2026

Pasos del Workflow

Lo que aprenderás
  • Qué son los pasos y cómo forman el cuerpo de un workflow
  • Cómo agregar, configurar y gestionar pasos en la sección Pasos
  • Cómo depurar pasos individualmente o todos a la vez
  • Cómo funciona el orden de ejecución de los pasos

Los Pasos son las acciones que tu workflow ejecuta después de que el trigger se dispara. Cada paso representa una sola operación -- como enviar un mensaje, actualizar un registro o llamar a un servicio externo. Los pasos se ejecutan en secuencia de arriba hacia abajo, lo que significa que cada paso se completa antes de que comience el siguiente.

Para una guía detallada campo por campo de cada tipo de paso disponible, consulta la Referencia de Acciones.

Agregar pasos

Para agregar un paso a tu workflow:

  1. Abre el formulario de creación o edición del workflow.
  2. Desplázate hasta la sección Pasos.
  3. Haz clic en el botón Agregar paso.
  4. Se agregará un nuevo paso a la lista. Configúralo seleccionando el tipo de paso y completando sus parámetros.
  5. Repite para agregar tantos pasos como necesite tu workflow.

Cada paso que agregas aparece en la lista en el orden en que se ejecutará.

Configurar un paso

Cuando agregas un paso, deberás configurarlo según la acción que quieras que realice. Cada tipo de paso tiene su propio conjunto de campos y opciones. Por ejemplo:

  • Un paso de "enviar mensaje" puede requerir que especifiques el texto del mensaje y el destinatario
  • Un paso de "actualizar registro" puede requerir que selecciones qué campo cambiar y qué valor establecer
  • Un paso de "llamar webhook" puede requerir que proporciones una URL externa y el payload de datos

Los campos de paso habilitados para CEL toman un valor en el formato de objeto {expr: "..."}, donde la expresión se evalúa contra el contexto de ejecución actual cuando el workflow se ejecuta. Por ejemplo, {"expr": "contact.name"} en un campo de mensaje se resuelve al nombre del contacto. Para campos con mucho texto también puedes usar la función tpl(), que rellena los placeholders de llave simple {key}: tpl('Hello {name}', {name: contact.name}). La sintaxis de llaves dobles {{ }} no aplica aquí — solo existe en las plantillas de mensaje de WhatsApp. Consulta Entradas del workflow para conocer las variables que expone cada trigger.

Depurar pasos

La sección Pasos ofrece herramientas de depuración integradas para ayudarte a probar tu workflow antes de activarlo:

  • Iniciar depuración -- Haz clic en este botón para ejecutar todos los pasos a través del panel de depuración. Ejecuta el bucle de acciones real -- el mismo que usa el ejecutor en vivo -- así que la acción de cada paso se ejecuta de verdad: se realizan solicitudes HTTP, escrituras de datos y mensajes salientes reales. No es una simulación ni un sandbox; las únicas diferencias con una ejecución en producción son que se invoca manualmente, usa un contacto de depuración sintético, devuelve el arena CEL y los logs de cada paso para inspección, y no queda registrada en el historial de ejecución (el icono de reloj del historial) -- revisa sus resultados en el panel de depuración. Trata sus efectos secundarios como reales.
  • Para aislar un problema en una parte del workflow, abre el menú de un paso y elige Depuración para ejecutar solo ese paso.

La depuración es especialmente útil cuando tu workflow incluye varios pasos que dependen unos de otros, ya que puedes inspeccionar la salida de cada paso y confirmar que los datos fluyen correctamente.

Al inspeccionar la salida de un paso, AutoTalk también puede mostrar un objeto anidado executionContext con metadatos del ejecutor como status, timestamps y valores sanitizados safeError o safeResult. Usa step(N).executionContext cuando quieras ramificar según cómo se ejecutó un paso anterior, en lugar de depender de campos específicos de la acción como step(N).status.

Borrar todos los pasos

Si quieres empezar de cero, haz clic en el botón Borrar todos los ítems. Esto elimina todos los pasos del workflow a la vez. Úsalo con precaución, ya que no se puede deshacer.

Orden de ejecución de los pasos

Los pasos se ejecutan de arriba hacia abajo, en el orden exacto en que aparecen en la sección Pasos. Puntos importantes a tener en cuenta:

  • Ejecución secuencial: Cada paso debe completarse antes de que comience el siguiente.
  • Flujo de datos: La salida de un paso puede ser referenciada por pasos posteriores. Los campos específicos de la acción se mantienen en step(N), mientras que los metadatos compartidos del ejecutor se encuentran en step(N).executionContext.
  • Manejo de fallos: Un paso que falla no detiene el workflow -- los pasos posteriores siguen ejecutándose. El motor marca el paso fallido (su executionContext.status pasa a "failed" con un executionContext.safeError sanitizado) pero no aborta la ejecución, así que cualquier paso posterior que dependa de él debe protegerse, ej.: condition = {"expr": "get(step(N), 'executionContext.status') == 'failed'"} o usar step_error(N) / step_ok(N). (Solo el límite de llamadas a acciones por ejecución detiene una ejecución por completo; una expresión de condición mal formada hace que ese paso se omita con el motivo cel_eval_error, y la ejecución continúa.) El registro de ejecución sigue guardando metadatos sanitizados del paso, incluyendo executionContext.safeError, para que puedas ver qué paso falló y por qué sin exponer datos internos crudos en la interfaz.
tip

Construye tu workflow de forma incremental. Agrega un paso a la vez, usa Iniciar depuración para probar después de cada adición y confirma que funciona antes de agregar el siguiente paso.

Próximos pasos