🇪🇸 Español 🇬🇧 English 🇧🇷 Português
Guias

Workflows que chamam outros workflows: sub-rotinas e ramos em paralelo

Reutilize logica comum com sub-workflows e acelere automacoes rodando ramos em paralelo no Omnifox, com Chamar outro workflow, Executar em paralelo e Try/Catch.

July 11, 2026

Quando suas automacoes crescem, voce comeca a copiar e colar os mesmos tres ou quatro nos em cada fluxo: etiquetar, notificar a equipe, registrar no CRM. Esse copy-paste e divida tecnica. A solucao sao os sub-workflows e a execucao em paralelo: voce extrai a logica comum para um workflow reutilizavel e o invoca a partir de qualquer outro, alem de rodar varios ramos ao mesmo tempo para o fluxo nao ficar lento. Este guia monta o padrao passo a passo com nos reais do Omnifox.

O gatilho Manual: a porta de um sub-workflow

Um workflow normal comeca por um evento (mensagem, etiqueta, deal). Mas se voce quer que outro workflow o chame, o gatilho dele precisa ser Manual (chamado por outro workflow). Esse gatilho nao escuta nenhum evento externo: so dispara quando um no Chamar outro workflow o invoca. Pense nele como uma funcao para a qual voce passa o contato e a conversa atuais.

Exemplo: crie um sub-workflow chamado "Registrar lead" com gatilho Manual e estes nos: Adicionar etiqueta (lead), Criar oportunidade (deal), Registrar atividade/nota. Agora qualquer fluxo pode rodar essa rotina inteira com um unico no.

Chamar outro workflow a partir do fluxo principal

No seu workflow principal voce adiciona o no Chamar outro workflow e escolhe "Registrar lead". O fluxo fica assim:

  1. Gatilho Mensagem recebida (apenas a primeira).
  2. No Enviar mensagem de boas-vindas.
  3. No Chamar outro workflow -> executa "Registrar lead".
  4. No Transferir para um agente.

A ordem: Mensagem recebida -> Enviar mensagem -> Chamar outro workflow -> Transferir para um agente. Se amanha voce mudar como um lead e registrado, edita um unico sub-workflow e todos os fluxos que o chamam se atualizam. Isso e reutilizar logica comum.

Executar ramos em paralelo

Por padrao os nos rodam em sequencia: cada um espera o anterior. Quando voce tem tarefas independentes que nao dependem entre si, o no Executar em paralelo as dispara ao mesmo tempo. E ideal quando uma acao pode demorar (uma Requisicao HTTP a um ERP, por exemplo) e voce nao quer bloquear o resto.

Exemplo de um fluxo de pedido pago:

  1. Gatilho Webhook de entrada com path_match order.paid.
  2. No Executar em paralelo que abre tres ramos simultaneos:
    • Ramo A: Enviar template do WhatsApp de confirmacao ao cliente.
    • Ramo B: Requisicao HTTP ao sistema de faturamento.
    • Ramo C: Publicar no Team no espaco de Operacoes.
  3. No Unir ramos que espera os tres terminarem.
  4. No Criar tarefa de acompanhamento para o pos-venda.

A ordem: Webhook de entrada -> Executar em paralelo (A / B / C) -> Unir ramos -> Criar tarefa de acompanhamento. O no Unir ramos e essencial: sem ele, voce nao saberia quando todos os ramos terminaram para continuar com seguranca.

Tratar erros com Try/Catch

Integracoes externas falham: uma API cai, um token expira. O no Try/Catch envolve os nos arriscados e te da um ramo alternativo quando algo estoura. No exemplo acima, a Requisicao HTTP do ramo B e a candidata perfeita:

  • Try: Requisicao HTTP ao sistema de faturamento.
  • Catch: Adicionar nota interna ("Faturamento falhou, revisar manualmente") + Notificar a equipe por email.

Assim, se a API nao responde, o cliente ainda recebe sua confirmacao (ramo A) e a equipe fica sabendo do problema em vez de perde-lo em silencio. Sem Try/Catch, um erro em um no pode cortar o fluxo inteiro.

Outros nos de controle que ajudam

  • Saltar para outro no: reorganiza o fluxo sem cabear conexoes longas; util para voltar a um ponto comum depois de varios ramos.
  • Loop/para cada: percorre uma lista (varios itens, por exemplo) repetindo um bloco de nos.
  • Definir variavel: guarda um valor no inicio e o reutiliza no sub-workflow e nos ramos.
  • Buscar conversa anterior: antes de criar um deal, verifica se ja existe uma conversa para nao duplicar.

Boas praticas e erros comuns

  • Nao coloque um gatilho de evento em um sub-workflow: se voce quer invoca-lo, o gatilho dele deve ser Manual. Um gatilho Mensagem recebida nao pode ser chamado de outro fluxo.
  • Cuidado com a recursao: um sub-workflow que chama a si mesmo pode entrar em loop. Mantenha a arvore de chamadas rasa.
  • Use Unir ramos depois de Executar em paralelo sempre que precisar que tudo termine antes de seguir. Se a ordem final nao importa, deixe os ramos terminarem sozinhos.
  • Reserve o Try/Catch para o que realmente pode falhar (HTTP, integracoes), nao para toda a logica interna.

Por que vale a pena

Modularizar suas automacoes permite mante-las como codigo limpo: uma mudanca em um unico lugar, ramos rapidos rodando juntos e erros que nao derrubam o fluxo. No Omnifox voce cria um sub-workflow com gatilho Manual, o chama com Chamar outro workflow e combina Executar em paralelo, Unir ramos e Try/Catch no mesmo editor visual. Comece extraindo sua logica repetida para um sub-workflow e voce sentira a diferenca ja na primeira manutencao. Monte seus sub-workflows no Omnifox.

Comentarios (0)

Todavía no hay comentarios. Sé el primero en compartir tu opinión.

Dejá un comentario

Tu email nunca se publica. Los comentarios se moderan antes de aparecer.

Soporta markdown. El HTML se elimina.