Skip to content

Chamar Subfluxo e Desvio (Goto)

Para que serve

Às vezes um fluxo fica grande demais, ou você quer reaproveitar uma sequência de blocos em vários fluxos diferentes. Os nós de subfluxo permitem chamar outro fluxo a partir do atual — como chamar uma função em programação. O Goto, por sua vez, é um atalho: ele desvia a execução para outro ponto, sem chamar um fluxo externo.

Quando usar
  • Subfluxo inline — quando você quer executar outro fluxo e depois voltar exatamente onde parou.
  • Subfluxo com retorno explícito — quando o subfluxo precisa devolver um valor específico para o fluxo principal.
  • 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.

Tipos de desvio disponíveis

Subfluxo Inline

Executa outro fluxo e retorna automaticamente ao ponto de saída do nó, continuando a execução como se nada tivesse acontecido. É o tipo mais comum.

CAPTURAR: nó Subfluxo Inline no canvas com seletor de fluxo de destino e a seta de retorno visível

CAPTURAR: nó Subfluxo Inline no canvas com seletor de fluxo de destino e a seta de retorno visível

Quando usar: Reaproveitar uma sequência de passos (ex.: um fluxo de "validar CPF" chamado por vários fluxos diferentes).


Subfluxo com Retorno Explícito

Executa outro fluxo e aguarda que ele devolva um valor de retorno explicitamente antes de continuar. Use quando o subfluxo precisa calcular ou coletar algo e passar de volta para o fluxo principal.

CAPTURAR: nó Subfluxo com Retorno Explícito configurado com a variável de retorno mapeada

CAPTURAR: nó Subfluxo com Retorno Explícito configurado com a variável de retorno mapeada

Quando usar: O subfluxo faz uma coleta de dados (ex.: pede endereço em vários passos) e devolve o endereço completo para o fluxo principal usar.


Subfluxo Assíncrono

Dispara outro fluxo e não espera ele terminar — a execução do fluxo atual continua imediatamente. O subfluxo roda em segundo plano.

CAPTURAR: nó Subfluxo Assíncrono no canvas; ícone indicando execução em background

CAPTURAR: nó Subfluxo Assíncrono no canvas; ícone indicando execução em background

Quando usar: Tarefas secundárias que não impactam a conversa principal (ex.: notificar a equipe interna enquanto o contato já recebe a próxima mensagem).


Goto (Desvio)

Desvia a execução diretamente para outro nó dentro do mesmo fluxo — sem chamar nenhum fluxo externo. É como um "pule para o passo X" dentro do próprio fluxo.

CAPTURAR: nó Goto no canvas com o nó de destino selecionado no campo de configuração

CAPTURAR: nó Goto no canvas com o nó de destino selecionado no campo de configuração

Quando usar: Criar atalhos dentro de um fluxo complexo, voltar para um ponto anterior sem criar um loop formal, ou pular etapas condicionalmente.


Passo a passo

(Subfluxo Inline)

  1. Arraste o bloco **Subfluxo** (tipo Inline) para o canvas a partir da categoria **Lógica**.
    CAPTURAR: bloco Subfluxo Inline adicionado ao canvas

    CAPTURAR: bloco Subfluxo Inline adicionado ao canvas

  2. Clique no bloco para abrir o painel de configuração.
    CAPTURAR: painel de configuração do nó Subfluxo Inline

    CAPTURAR: painel de configuração do nó Subfluxo Inline

  3. Selecione o **fluxo de destino** que deseja chamar. Apenas fluxos publicados ou salvos aparecem na lista.
    CAPTURAR: seletor de fluxo de destino com a lista de fluxos disponíveis

    CAPTURAR: seletor de fluxo de destino com a lista de fluxos disponíveis

  4. Mapeie as **variáveis de entrada** (dados que o fluxo atual vai passar para o subfluxo).
    CAPTURAR: mapeamento de variáveis de entrada configurado

    CAPTURAR: mapeamento de variáveis de entrada configurado

  5. Mapeie as **variáveis de saída** (dados que o subfluxo vai devolver, se houver).
    CAPTURAR: mapeamento de variáveis de saída configurado

    CAPTURAR: mapeamento de variáveis de saída configurado

  6. Conecte a saída do nó ao próximo bloco do fluxo principal.
    CAPTURAR: nó Subfluxo Inline com saída conectada ao próximo passo

    CAPTURAR: nó Subfluxo Inline com saída conectada ao próximo passo

Campos

(comuns a todos os tipos)

CampoO que faz
Fluxo de destinoQual fluxo será chamado / para onde desviar
Variáveis de entradaDados passados do fluxo atual para o subfluxo
Variáveis de saídaDados devolvidos pelo subfluxo ao fluxo atual (não se aplica ao assíncrono)
Nó de destino(apenas Goto) Qual nó dentro do fluxo atual deve receber a execução
TítuloNome interno do nó no canvas
Exemplo

Um escritório tem três fluxos de atendimento diferentes (consulta, processo, financeiro). Todos precisam coletar e validar o CPF do cliente antes de continuar. Em vez de repetir essa lógica em cada um, criamos um fluxo separado "Validar CPF" e usamos Subfluxo Inline em cada um dos três fluxos para chamá-lo.

CAPTURAR: fluxo principal com nó Subfluxo Inline apontando para o fluxo 'Validar CPF'; variáveis de entrada (cpf_digitado) e saída (cpf_valido) mapeadas

CAPTURAR: fluxo principal com nó Subfluxo Inline apontando para o fluxo 'Validar CPF'; variáveis de entrada (cpf_digitado) e saída (cpf_valido) mapeadas

Dica
Use **Subfluxo Assíncrono** para operações de "notificação interna" que não devem fazer o contato esperar. Por exemplo: registrar um log, notificar um atendente ou criar um ticket — enquanto o contato já recebe a próxima mensagem.