Tema
Referência do nó
Kind
send_messageCategoriaMensagemEnviar Mensagem com Aguardar Resposta
O nó Enviar Mensagem com botões ou lista ganha um modo Aguardar resposta: além de enviar a mensagem, o fluxo pausa e espera o contato responder. Quando a resposta chega, o fluxo segue pela saída correspondente à opção escolhida — tudo em um único nó, sem precisar de um nó de espera separado.
Para que serve
É o jeito mais direto de montar um menu: "envie estas opções e siga o caminho da que o cliente escolher". Cada botão vira uma saída do nó, e ainda há saídas para quando o cliente responde algo fora do menu (No match) e para quando ele não responde dentro do tempo (No input).
Quando usar
- Menus de triagem: "Financeiro, Suporte ou Vendas?"
- Confirmações: "Confirmar agendamento?" com botões Sim/Não.
- Qualquer ponto do fluxo em que a próxima etapa depende de uma escolha do contato.
Passo a passo
- Adicione um nó **Enviar Mensagem** e escolha o tipo **Botões** (ou Lista). Preencha o texto e as opções.
- No painel de configuração, ligue o toggle **Aguardar resposta**.
- O nó passa a exibir **uma saída por botão**, mais as saídas **No match** e **No input**. Conecte cada uma ao caminho desejado.
- Opcional: defina **Salvar resposta em** com o nome de uma variável para usar a escolha mais adiante no fluxo.
- Opcional: ajuste o **Timeout** — o tempo que o fluxo espera antes de seguir por No input.
- Publique o fluxo para as mudanças entrarem em vigor.
Campos
| Campo | O que faz |
|---|---|
| Aguardar resposta | Liga o modo enviar-e-aguardar. Desligado, o nó envia e segue direto pela saída única (comportamento padrão). |
| Salvar resposta em | Nome da variável de fluxo que recebe a escolha do contato (veja abaixo o que é gravado). |
| Timeout | Tempo máximo de espera: de 5 segundos a 24 horas. Padrão: 5 minutos. Estourou, o fluxo segue por No input. |
Como o roteamento funciona
Enviar Mensagem (Aguardar resposta)
├── [Falar com suporte] → clique no botão OU texto que casa com o título
├── [Falar com vendas] → idem
├── (No match) → texto livre que não casa com nenhuma opção
└── (No input) → timeout: o contato não respondeu a tempoA resposta do contato é casada nesta ordem:
- Clique no botão ou item de lista — casa pelo identificador do botão; segue a saída daquele botão.
- Texto livre — o texto é comparado com os títulos dos botões (ignorando maiúsculas, espaços nas pontas e acentos). Se a mensagem foi entregue como texto numerado (fallback), o número da opção também vale. Casou, segue a saída do botão; não casou, segue No match.
- Timeout — sem resposta dentro do tempo configurado, segue No input.
O que é gravado em "Salvar resposta em"
| Cenário | Valor gravado na variável |
|---|---|
| Clique ou texto que casou com um botão | { "id": "opt_suporte", "title": "Falar com suporte" } |
| Texto livre sem match (No match) | { "id": null, "title": "<texto recebido>" } — o texto é truncado a 2048 bytes |
| Timeout (No input) | Nada é gravado — a variável não é preenchida |
Use a variável nos nós seguintes com {{vars.resposta_menu.id}} e {{vars.resposta_menu.title}} (trocando resposta_menu pelo nome que você definiu).
Regras de publicação
Ao publicar um fluxo com Aguardar resposta ligado, o Flow Builder valida:
- Todas as saídas conectadas — cada botão precisa de uma conexão, e No match e No input são obrigatórias.
- Timeout dentro da faixa — entre 5 segundos e 24 horas.
- Os botões precisam ser estáticos (definidos no nó): opções dinâmicas por referência não são aceitas nesse modo.
- O nome em Salvar resposta em não pode começar com
_(reservado ao sistema).
Atenção
Mudanças só valem depois de publicar. Ligar o toggle, reconectar saídas ou mudar o timeout no editor não afeta as conversas em produção até você publicar o fluxo novamente.
Comportamento em produção
- Funciona em todos os canais: os 5 provedores de WhatsApp, o webchat (widget) e a API de chat. A semântica é idêntica — o clique no widget se comporta como o clique no WhatsApp.
- Respeita a pausa de automação: se a automação da conversa estiver pausada, a espera não é retomada — nem por resposta, nem por timeout. O fluxo permanece aguardando.
- Respeita o debounce do canal: respostas em rajada passam pelo mesmo agrupamento das mensagens normais.
- Teto de 50 respostas por espera: um mesmo nó em espera aceita no máximo 50 tentativas de resposta; acima disso a execução é encerrada com falha (proteção contra loops de mensagens).
Dica
No simulador em modo Chat você testa esse nó clicando nos botões e vendo o badge da branch tomada. Só o caminho de No input não é simulável — o timer não roda no simulador; valide o timeout em um canal real com contato de teste.
Provedores sem suporte a botões nativos
Nem todo provedor de WhatsApp implementa botões nativos. Quando a plataforma detecta que o provedor da conversa não suporta botões, ela converte automaticamente os botões numa lista clicável ("Ver opções"), preservando o clique nas opções e o roteamento correto, sem nenhuma diferença perceptível para o contato.
Quando nem lista está disponível, a mensagem é degradada automaticamente para texto numerado como último recurso: o corpo da mensagem seguido das opções no formato 1. Título, 2. Título, etc.
Essa degradação é transparente para o fluxo — o nó continua em modo Aguardar resposta normalmente, e a resposta do contato é casada tanto pelo número da opção quanto pelo título digitado, exatamente como descrito em "Como o roteamento funciona" acima. Não é necessário nenhum ajuste no fluxo para lidar com esses provedores.
Relação com os nós de espera antigos
Os nós Esperar resposta de texto e Esperar clique em botão continuam existindo e funcionando. A diferença é de ergonomia: com Aguardar resposta, envio, espera e roteamento por opção ficam em um único nó.
Saiba mais
- Enviar Mensagem — tipos de conteúdo e configuração básica do nó
- Simulador em Modo Chat — teste este nó clicando nos botões, com o badge da branch tomada
- Botões e Listas no Webchat — como o widget exibe e trata o clique nessas mensagens
