Subfluxos de trabalho
Você pode chamar um fluxo de trabalho a partir de outro, criando uma arquitetura modular no estilo de microsserviços. Isso também é uma maneira eficaz de dividir fluxos tão grandes que causam problemas de memória. Para criar subfluxos de trabalho (subfluxos), você precisará usar o nó 'Executar subfluxo' no fluxo pai e o nó 'Quando executado por outro fluxo' no subfluxo.
As execuções de subfluxos não contam para o limite mensal de execuções nem para o número máximo de fluxos de trabalho ativos do seu plano.
Configurar e usar subfluxos
Esta seção explica como configurar simultaneamente o fluxo pai e o subfluxo.
Criar um subfluxo
- Crie um novo fluxo de trabalho.
Criar um subfluxo a partir de um fluxo existente
Você também pode criar diretamente um subfluxo a partir de um nó 'Executar subfluxo' em um fluxo pai existente. Na configuração do nó, selecione Banco de dados e Da lista, depois escolha Criar subfluxo de trabalho na lista.
Além disso, é possível extrair nós selecionados como um subfluxo usando a opção de conversão no menu de clique com o botão direito.
-
(Opcional) Configure quais fluxos de trabalho podem chamar este subfluxo:
- Clique no menu Opções
> Configurações para abrir a janela Configurações do fluxo de trabalho. - Altere a configuração Este fluxo de trabalho pode ser chamado por. Para mais detalhes, consulte as configurações de fluxo de trabalho.
- Clique no menu Opções
-
Adicione o nó 'Quando executado por outro fluxo'.
-
Defina o Modo de dados de entrada, escolhendo como os dados de entrada do subfluxo serão definidos:
- Definir usando campos abaixo: Neste modo, você define os nomes e tipos de dados dos campos de entrada obrigatórios. Os nós 'Executar subfluxo' ou a ferramenta 'Chamar fluxo de trabalho' no fluxo chamador lerão automaticamente esses campos.
- Definir usando exemplo JSON: Forneça um objeto JSON de exemplo que demonstre os itens esperados e seus respectivos tipos.
- Aceitar todos os dados: Aceita todos os dados recebidos sem restrições. O subfluxo não define entradas obrigatórias e deve lidar internamente com possíveis inconsistências ou valores ausentes.
-
Adicione outros nós conforme necessário para completar a lógica do subfluxo.
-
Salve o subfluxo.
Subfluxos não podem conter erros
Se houver erros no subfluxo, o fluxo pai não conseguirá acioná-lo.
Usar dados reais de execuções anteriores durante o desenvolvimento
Esse recurso requer a capacidade de carregar dados de execuções anteriores, disponível no n8n Cloud e em planos comunitários registrados.
Se desejar carregar dados ao desenvolver o subfluxo:
- Crie o subfluxo e adicione o nó 'Quando executado por outro fluxo'.
- Defina o Modo de dados de entrada como Aceitar todos os dados, ou defina os campos/JSON se os dados de entrada forem conhecidos.
- Nas configurações do subfluxo, altere Salvar execuções de produção bem-sucedidas para Salvar.
- Vá para a configuração do fluxo pai e execute-o.
- Siga os passos para carregar dados de uma execução anterior.
- Se necessário, ajuste o Modo de dados de entrada para corresponder aos dados enviados pelo fluxo pai.
Agora você pode fixar esses dados de exemplo no nó de gatilho para desenvolver o restante do fluxo com base em entradas reais.
Chamar um subfluxo
- Abra o fluxo pai onde deseja chamar o subfluxo.
- Adicione o nó 'Executar subfluxo'.
- No nó 'Executar subfluxo', defina qual subfluxo deseja chamar. Você pode especificá-lo por ID, carregar um fluxo de um arquivo local, fornecer o JSON do fluxo diretamente como parâmetro do nó ou indicar uma URL.
Encontrar o ID do seu fluxo de trabalho
O ID do subfluxo é a sequência alfanumérica no final da URL do fluxo.
- Preencha os campos de entrada obrigatórios definidos pelo subfluxo.
- Salve seu fluxo.
Ao executar o fluxo, ele enviará os dados para o subfluxo e acionará sua execução.
Você pode rastrear a execução do fluxo pai até o subfluxo clicando no link Ver subexecução dentro do nó 'Executar subfluxo'. Da mesma forma, os registros de execução do subfluxo incluem um link de volta à execução do fluxo pai, permitindo navegação bidirecional.
Como os dados são passados entre fluxos de trabalho
Considere este exemplo prático: o Fluxo A contém um nó 'Executar subfluxo' que chama outro fluxo chamado Fluxo B:
- O nó 'Executar subfluxo' envia dados para o nó 'Quando executado por outro fluxo' no Fluxo B.
- O último nó do Fluxo B retorna os dados para o nó 'Executar subfluxo' no Fluxo A.
Conversão para subfluxo
Para saber como dividir um fluxo existente em subfluxos, consulte a documentação sobre Conversão para subfluxo.