Reference

Bloco Workflow

O que faz

Solte um bloco Workflow quando quiser chamar um workflow filho como parte de um fluxo maior. O bloco roda a versão deployada mais recente daquele workflow, espera ele terminar e depois continua com o pai.

Como configurar

  1. Escolha um workflow no dropdown (auto-referências são bloqueadas para evitar loops).
  2. Mapeie entradas: Se o workflow filho tem um Input Form trigger, você verá cada campo e poderá conectar variáveis do pai. Os valores mapeados são o que o filho recebe.
  1. Saídas: Depois que o filho termina, o bloco expõe:
    • result – a resposta final do workflow filho
    • success – se rodou sem erros
    • error – mensagem quando a execução falha
    • childWorkflowName – o nome do workflow filho (string)
    • childWorkflowId – o ID do workflow filho (string)

Exemplo

O pai passa sua entrada ao workflow filho enrich-lead, espera ele terminar e lê o resultado downstream como <workflow.result>.

Badge de status de deployment

O bloco Workflow exibe um badge de status de deployment para ajudar a acompanhar se o workflow filho está pronto para executar:

  • Deployed – O workflow filho foi deployado e está pronto para uso. O bloco executará a versão deployada atual.
  • Undeployed – O workflow filho nunca foi deployado. Você precisa deployá-lo antes que o bloco Workflow possa executá-lo.
  • Redeploy – Mudanças foram detectadas no workflow filho desde o último deployment. Clique no badge para redeployar o workflow filho com as mudanças mais recentes.

O bloco Workflow sempre executa a versão deployada mais recente do workflow filho, não a versão do editor. Certifique-se de redeployar depois de fazer mudanças para o bloco usar a lógica mais recente.

Notas de execução

  • Workflows filhos rodam no mesmo contexto de workspace, então variáveis de ambiente e tools são herdadas.
  • O bloco usa versionamento de deployment: qualquer execução por API, schedule, webhook, manual ou chat chama o snapshot deployado. Redeploye o filho quando mudá-lo.
  • Se o filho falhar, o bloco lança um erro a menos que você o trate downstream.

Mantenha workflows filhos focados. Fluxos pequenos e reutilizáveis facilitam combiná-los sem criar aninhamento profundo.

Common Questions

Não. O seletor de workflow bloqueia auto-referências para evitar loops infinitos. Além disso, o Zoen rastreia a cadeia de chamadas entre execuções aninhadas usando um header interno e impõe uma profundidade máxima de cadeia de 25 hops. Se o limite for excedido, a execução é rejeitada com um erro 409.
A profundidade máxima da cadeia de chamadas é 25. Isso significa que o workflow A pode chamar B, que chama C, e assim por diante até 25 níveis. Este limite se aplica a todas as chamadas encadeadas, não só relações pai-filho diretas.
O workflow filho herda o contexto de execução do pai. Se o pai está rodando num contexto deployado (API, schedule, webhook), o filho também usa sua versão deployada. Se o pai está rodando em modo draft (execução manual no editor), o filho também usa seu estado draft. Isso permite testar workflows aninhados de ponta a ponta antes de deployar.
Use o campo Inputs no bloco Workflow. Se o workflow filho tem um Input Form trigger, cada campo aparece na configuração do bloco e você pode mapear variáveis do pai para eles. Os valores mapeados ficam disponíveis como start.input no workflow filho.
O bloco retorna um boolean success, o result do workflow filho (sua saída de resposta final), o nome e o ID do workflow filho, e uma mensagem de erro se a execução falhou. Você pode referenciar essas saídas de blocos downstream com a sintaxe de tags.
O bloco Workflow lança um erro que se propaga ao workflow pai. Se precisar tratar falhas de forma graciosa, conecte um error path do bloco Workflow a um bloco downstream que processa o erro.

On this page