Automações

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.

Workflows > editor > Run workflow target and sync mode Figura 1: Run workflow — seletor de workflow alvo e opção sync

O que faz

AspectoComportamento
Node typerun_workflow
Executorlogic — dispatcher interno, não HTTP bruto
TargetOutro workflow habilitado na sua empresa
Outputssuccess, 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

CampoKeyObrigatórioDescrição
Target workflowtarget_workflow_idSimEscolha no seletor de workflows (UUID)
Wait for response (sync)syncNãoPadrão false (async)
Body (JSON, optional)bodyNãoPayload encaminhado ao trigger filho

Modo sync (sync)

ValueComportamento
falseFire-and-forget — o pai continua imediatamente; execution_id identifica a execução filha
trueAguarda 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 data pode 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:

  1. Run workflow — async, alvo "Order notifications"
    • body: { "phone": "{{trigger.body.phone}}", "order_id": "{{trigger.body.id}}" }
  2. 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:

  1. Run workflow — sync, alvo "Lead scoring"
    • body: {{trigger.body}}
  2. Condition{{run_workflow_1.data.score}} >= 80 → ramo hot lead
  3. Send — mensagem personalizada com {{run_workflow_1.data.message}}

Exemplo 3 — Atualizações modulares de CRM

Trigger: Manual.

Fluxo:

  1. Run workflow — alvo utilitário compartilhado "CRM sync utility", body com phone e board_id
  2. 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

Central de Ajuda