Skip to main content

Grafo vs pasos (legacy)

ModoComportamiento
GrafoNodos visuales: disparador → condiciones (Sí/No) → acciones. Si hay un grafo válido (nodos + aristas y al menos un disparador), el motor ejecuta el grafo.
PasosBloques ordenados; cada bloque tiene condiciones y acciones. Si fallan las condiciones, se omite todo el bloque.
Si existen grafo y pasos, gana el grafo.

Ramas IF / ELSE

  • Los nodos condición tienen salidas verdadero y falso. Cableá ambas para un IF/ELSE real.
  • Si solo hay una arista saliente, el motor la usa para ambos resultados (suele ser un error de diseño).

Fan-out desde una acción

Si un nodo acción enlaza a varios siguientes, el motor ejecuta todas esas ramas en secuencia. No es “elegir una rama”: usá un nodo condición para bifurcar.

Condiciones

Las condiciones comparan un campo del contexto (véase Disparadores) con un valor y un operador. La UI solo ofrece campos compatibles con los contextos permitidos del trigger. Tras acciones que recalculan riesgo o cambian estado, las condiciones posteriores ven los valores actualizados.

Guardado y validación

Al guardar (app o API), valida:
  • Sinergia — trigger ↔ cada acción, y cada par acción → siguiente inmediata (Sinergia).
  • Forma del grafo — p. ej. debe existir nodo disparador; aristas coherentes con el builder.
Si falla el guardado, revisá el mensaje: suele ser trigger prohibido para una acción o sucesor inválido.

Prueba vs producción

EndpointUso
POST /automations/:id/executePrueba: evento sintético, processEvent, sin standby.
POST /automations/:id/runProducción con manual_execution: runAutomationById; standby y waiting si aplica.

Mantenimiento: el orden de acciones en grafos para sinergia usa getOrderedActionTypesFromGraph en workflow-synergy.ts; grafos complejos conviene revisarlos en el builder.