Skip to main content

Grafo vs passos (legado)

ModoComportamento
GrafoNós visuais: gatilho → condições (Sim/Não) → ações. Se houver um grafo válido (nós + arestas e pelo menos um gatilho), o motor executa o grafo.
PassosBlocos ordenados; cada bloco tem condições e ações. Se as condições falharem, todo o bloco é ignorado.
Se existirem grafo e passos, o grafo prevalece.

Ramificações IF / ELSE

  • Nós de condição têm saídas verdadeiro e falso. Conecte ambas para um IF/ELSE real.
  • Se houver apenas uma aresta de saída, o motor usa essa aresta para ambos os resultados (geralmente indesejado).

Fan-out a partir de uma ação

Se um nó de ação liga a vários seguintes, o motor executa todas essas ramificações em sequência. Não é “escolher um ramo”: use um nó de condição para bifurcar.

Condições

As condições comparam um campo do contexto (veja Gatilhos) a um valor com um operador. A UI só oferece campos compatíveis com os contextos permitidos do gatilho. Após ações que recalculam risco ou mudam status, condições posteriores veem valores atualizados.

Salvar e validação

Ao salvar (app ou API), o produto valida:
  • Sinergia — gatilho ↔ cada ação, e cada par ação → próxima imediata (Sinergia).
  • Forma do grafo — ex.: deve existir nó de gatilho; arestas coerentes com o builder.
Se o salvamento falhar, verifique a mensagem: costuma ser gatilho proibido para uma ação ou sucessor inválido.

Teste vs produção

EndpointUso
POST /automations/:id/executeTeste: evento sintético, processEvent, sem standby.
POST /automations/:id/runProdução com manual_execution: runAutomationById; standby e waiting quando aplicável.

Manutenção: a ordem das ações em grafos para sinergia usa getOrderedActionTypesFromGraph em workflow-synergy.ts; grafos complexos convém revisar no builder.