Tema
Referência do nó
Kind
call_subflow_inlineCategoriaLógicaChamar Subfluxo e Desvio (Goto)
Para que serve
Quando um fluxo cresce demais ou você quer reaproveitar uma sequência de passos em vários fluxos, os nós de subfluxo permitem chamar outro fluxo a partir do atual — como pedir ajuda para um colega especialista em vez de fazer tudo sozinho. Cada tipo de chamada tem um comportamento diferente quanto ao compartilhamento de dados, à espera e ao retorno de valores. O Goto, por sua vez, desvia a execução para outro ponto dentro do mesmo fluxo, sem envolver nenhum fluxo externo.
Quando usar
- Subfluxo Inline — quando você quer executar outro fluxo no mesmo contexto e continuar logo após, com as variáveis mescladas de volta ao fluxo pai.
- Subfluxo com Retorno — quando o subfluxo precisa devolver valores mapeados de volta para variáveis do fluxo pai, rodando de forma isolada.
- Subfluxo Assíncrono — quando você quer disparar outro fluxo em paralelo sem esperar ele terminar.
- Goto — quando você quer pular para outro nó dentro do mesmo fluxo sem criar um subfluxo.
Pré-requisito: subfluxo reusável e publicado
Para aparecer na lista de escolha de qualquer nó de chamada, o subfluxo alvo precisa estar:
- Publicado no workspace.
- Marcado como reusável (disponível para chamada por outros fluxos).
- Com o modo de execução correto (definido no nó Start do Fluxo de Trabalho via toggle "Modo de execução"):
- Síncrono — para Subfluxo Inline e Subfluxo com Retorno.
- Assíncrono — para Subfluxo Assíncrono.
Fluxos que não atendem esses critérios não aparecem na lista. Consulte Categorias, pastas e projetos para entender como criar e configurar subfluxos reusáveis.
Tipos disponíveis
Subfluxo Inline
Chama um subfluxo e continua no mesmo contexto. As variáveis do subfluxo são mescladas de volta ao fluxo pai ao fim da execução. Exige um subfluxo alvo em modo síncrono.
Comportamento: contexto compartilhado — o subfluxo enxerga e pode alterar as variáveis do fluxo pai. Ao terminar, a execução volta automaticamente ao ponto de saída do nó.
Quando usar: reaproveitar uma sequência de passos (ex.: validar CPF, formatar endereço) que não precisa de isolamento e cujo resultado deve estar imediatamente disponível no fluxo pai.
Como configurar:
- Arraste o bloco **Subfluxo Inline** para o canvas a partir da categoria **Lógica**.
- Clique no bloco para abrir o painel de configuração.

Painel de configuração do nó Chamar subfluxo, com o campo de seleção do subfluxo alvo e o aviso de que nenhum subfluxo publicado foi encontrado
- No campo **Subfluxo**, selecione o subfluxo alvo na lista. Ela mostra apenas fluxos publicados, reusáveis e em modo síncrono.
- Ao selecionar, o painel exibe os **campos de entrada** esperados pelo subfluxo. Para cada parâmetro, informe um valor fixo, uma referência a variável (``) ou uma expressão.
- Conecte a saída do nó ao próximo bloco do fluxo principal.
Subfluxo com Retorno
Chama um subfluxo de forma isolada, aguarda ele terminar e mapeia as saídas de volta para variáveis do fluxo pai. Exige um subfluxo alvo em modo síncrono.
Comportamento: contexto isolado — o subfluxo não enxerga diretamente as variáveis do fluxo pai. Os valores de retorno (definidos no subfluxo) são mapeados explicitamente para variáveis do fluxo pai no painel de saídas.
Quando usar: o subfluxo realiza uma coleta ou cálculo (ex.: coletar endereço em vários passos, consultar uma API) e precisa devolver valores estruturados para o fluxo pai usar.
Como configurar:
- Arraste o bloco **Subfluxo com Retorno** para o canvas.
- No painel, selecione o subfluxo alvo (publicado, reusável e em modo síncrono).

Painel de configuração do nó Retornar subfluxo, com o campo de seleção do subfluxo alvo e o aviso de que nenhum subfluxo publicado foi encontrado
- Preencha os **campos de entrada** esperados pelo subfluxo, com valores fixos, variáveis ou expressões.
- Configure as **saídas**: para cada valor que o subfluxo devolve, escolha a variável do fluxo pai que vai recebê-lo.
- Conecte a saída do nó ao próximo bloco.
Subfluxo Assíncrono
Dispara outro fluxo em paralelo e não espera ele terminar. A execução do fluxo atual segue imediatamente. Exige um subfluxo alvo em modo assíncrono.
Comportamento: o subfluxo é despachado e roda de forma completamente independente. O fluxo pai não aguarda resultado nem recebe valores de retorno — apenas envia os dados de entrada e segue em frente. Por rodar em paralelo sem espera, não há configuração de saída disponível neste nó.
Quando usar: tarefas secundárias que não devem travar a conversa — notificar a equipe interna, criar um ticket, registrar um log — enquanto o contato já avança para a próxima mensagem.
Alvo precisa estar em modo Assíncrono: no editor do Fluxo de Trabalho alvo, selecione o nó Start e ative o toggle "Modo de execução: Assíncrono". Somente então o fluxo fica disponível nesta lista. Em modo Assíncrono, a seção "Saídas do subfluxo" não aparece no editor do alvo — um fluxo assíncrono não retorna valores.
Como configurar:
- Arraste o bloco **Subfluxo Assíncrono** para o canvas.
- Selecione o alvo. Apenas Fluxos de Trabalho em modo **Assíncrono**, publicados e reusáveis aparecem na lista.

Painel de configuração do nó Disparo assíncrono, com o campo de seleção do subfluxo a disparar em paralelo e o aviso de que nenhum subfluxo publicado foi encontrado
- Preencha os **campos de entrada** esperados pelo subfluxo alvo. Não há configuração de saída — o fluxo pai não recebe retorno.
- Conecte a saída do nó ao próximo bloco. O fluxo pai continua imediatamente, sem aguardar o término do subfluxo.
Atenção
O modo de execução de um Fluxo de Trabalho não pode ser trocado se houver fluxos chamando-o de forma incompatível. Por exemplo: se um **Subfluxo com Retorno** já aponta para este workflow, não é possível alterá-lo para modo Assíncrono até que essa chamada seja removida ou substituída.
Goto (Desvio)
Desvia a execução diretamente para outro nó dentro do mesmo fluxo — sem chamar nenhum fluxo externo.

Fluxo de exemplo no canvas, com os blocos conectados em sequência do Início ao Fim
Quando usar: criar atalhos dentro de um fluxo complexo, voltar para um ponto anterior sem criar um loop formal, ou pular etapas condicionalmente.
Comparativo rápido
| Inline | Com Retorno | Assíncrono | Goto | |
|---|---|---|---|---|
| Modo exigido do alvo | Síncrono | Síncrono | Assíncrono | — (mesmo fluxo) |
| Contexto | Compartilhado | Isolado | Isolado | — |
| Aguarda término | Sim | Sim | Não | — |
| Devolve valores | Não | Sim | Não | — |
| Recebe entradas | Sim | Sim | Sim | Não |
Campos do inspector
| Campo | Tipos | O que faz |
|---|---|---|
| Subfluxo (picker) | Inline, Retorno, Assíncrono | Seleciona o subfluxo alvo na lista de reusáveis publicados do workspace |
| Campos de entrada | Inline, Retorno, Assíncrono | Mapeia cada parâmetro esperado pelo subfluxo para um valor fixo, variável ou expressão |
| Saídas | Retorno | Mapeia cada valor devolvido pelo subfluxo para uma variável do fluxo pai |
| Nó de destino | Goto | Qual nó do fluxo atual receberá a execução |
| Título | Todos | Nome interno do nó no canvas |
Exemplo
Um escritório tem três fluxos de atendimento (consulta, processo, financeiro). Todos precisam validar o CPF do cliente antes de continuar. Em vez de repetir essa lógica, cria-se um fluxo separado "Validar CPF" (publicado, reusável, em modo síncrono) e usa-se Subfluxo Inline em cada um dos três fluxos para chamá-lo. O campo cpf_digitado é passado como entrada; após a execução, a variável cpf_valido já está disponível no contexto do fluxo pai.

Fluxo de exemplo no canvas, com os blocos conectados em sequência do Início ao Fim
Dica
Use **Subfluxo Assíncrono** para operações de "notificação interna" que não devem fazer o contato esperar — registrar um log, notificar um atendente ou criar um ticket — enquanto o contato já recebe a próxima mensagem.
Atenção
Subfluxo reutilizável arrastado como se fosse uma ação comum. Um fluxo reutilizável também aparece na paleta como um bloco de ação. Se ele for inserido por esse caminho, o bloco fica marcado como ação em vez de chamada de subfluxo — e, apesar de o fluxo-alvo estar publicado e ativo, a execução parava com "ação não registrada" e a conversa morria ali.
Hoje a plataforma reconhece esse bloco e o executa como o subfluxo que ele sempre foi, então fluxos já publicados voltaram a funcionar sozinhos. Ainda assim, vale corrigir: abra o bloco, troque por Subfluxo Inline e republique. Fluxos novos com esse formato passaram a ser barrados na publicação, com mensagem explicando a troca.
Atenção
O **Goto** é poderoso mas pode tornar o fluxo difícil de ler se usado em excesso. Um desvio para um ponto muito distante no canvas dificulta a manutenção. Se precisar de muitos Gotos, considere reorganizar em subfluxos separados.
Saiba mais
- Categorias, pastas e projetos — categoria Fluxo de Trabalho e modo de execução síncrono/assíncrono
- Testar e Publicar — publicar o subfluxo para que ele apareça na lista de chamada
- Exportar e importar fluxos (.adflow) — como subfluxos viajam entre workspaces
