Disparar outro workflow na mesma empresa (sync ou async).
Nó Run workflow
O nó Run workflow (run_workflow) dispara outro workflow na mesma empresa via endpoint interno de webhook. URL e X-Webhook-Key são aplicados automaticamente — você não configura Authorization nem headers de auth.
Encontre-o na paleta WhatsWave em Automações.
Figura 1: Run workflow — seletor de workflow alvo e opção sync
O que faz
| Aspecto | Comportamento |
|---|---|
| Node type | run_workflow |
| Executor | logic — dispatcher interno, não HTTP bruto |
| Target | Outro workflow habilitado na sua empresa |
| Outputs | success, execution_id, data, error |
O workflow filho recebe seu body JSON opcional como payload do trigger (equivalente a {{trigger.body}} no fluxo alvo).
Campos de configuração
| Campo | Key | Obrigatório | Descrição |
|---|---|---|---|
| Target workflow | target_workflow_id | Sim | Escolha no seletor de workflows (UUID) |
| Wait for response (sync) | sync | Não | Padrão false (async) |
| Body (JSON, optional) | body | Não | Payload encaminhado ao trigger filho |
Modo sync (sync)
| Value | Comportamento |
|---|---|
false | Fire-and-forget — o pai continua imediatamente; execution_id identifica a execução filha |
true | Aguarda o filho terminar (?wait=true) — data contém o payload do nó Return filho |
Async é recomendado para fan-out longo ou alto volume. Sync é útil quando o pai precisa ramificar com base no resultado do filho na mesma execução.
Dicas e boas práticas
- Projete workflows filhos com Return claro ao usar sync — caso contrário
datapode ficar vazio. - Passe body mínimo — telefone, IDs e flags; deixe o filho buscar dados pesados.
- Evite chamadas circulares — workflow A → B → A pode loopar até timeout; use flags ou workflows utilitários dedicados.
- Garanta que o workflow alvo está habilitado — workflows desabilitados rejeitam triggers.
- Use async para notificações — webhook pai responde rápido; filho cuida de Send/CRM.
- Referencie
{{run_workflow_1.data.field}}após sync para mesclar resultados do filho.
Exemplos de uso
Exemplo 1 — Pipeline de notificação async
Trigger: Webhook — pedido criado (pai deve responder rápido).
Fluxo:
- Run workflow — async, alvo "Order notifications"
body:{ "phone": "{{trigger.body.phone}}", "order_id": "{{trigger.body.id}}" }
- Return —
{ "accepted": true }
Workflow filho: CRM upsert → Send template → Message queue reminder.
Exemplo 2 — Subfluxo de scoring sync
Trigger: Webhook — formulário de lead.
Fluxo:
- Run workflow — sync, alvo "Lead scoring"
body:{{trigger.body}}
- Condition —
{{run_workflow_1.data.score}}>=80→ ramo hot lead - Send — mensagem personalizada com
{{run_workflow_1.data.message}}
Exemplo 3 — Atualizações modulares de CRM
Trigger: Manual.
Fluxo:
- Run workflow — alvo utilitário compartilhado "CRM sync utility",
bodycomphoneeboard_id - Reutilize o mesmo utilitário em vários workflows pai sem duplicar nós CRM.
FAQ
Preciso da URL ou chave do webhook alvo?
Não. O engine resolve URL interna e X-Webhook-Key a partir do registro do workflow alvo.
E se o workflow filho falhar?
Async: confira success e error nos logs do pai; sync: error preenchido, o pai pode lançar exceção conforme configurações do engine.
Posso executar workflow de outra empresa?
Não — mesma empresa apenas.
Qual a diferença para trigger Webhook + HTTP externo?
Run workflow é atalho in-platform com auth e vínculo corretos — prefira em vez de HTTP manual para /wf/{id}.
A clonagem copia target_workflow_id corretamente?
O ID permanece — verifique se o clone aponta para o workflow pretendido no novo ambiente.
Artigos relacionados
Este artigo foi útil?
Precisa de mais ajuda? Falar com suporte