“Bom dia.” “Quero um orçamento.” “Para 30 pessoas.” “Na verdade, serão 35.” Quem atende pelo WhatsApp reconhece esse ritmo. Se a automação responder a cada fragmento, pode perguntar o que o cliente já explicou, preparar uma proposta incompleta ou continuar usando uma quantidade corrigida. O problema começa antes da redação da resposta: está na forma de entregar a conversa ao modelo.
A proposta deste guia é reunir mensagens próximas em um pequeno lote, manter os originais e só então pedir uma resposta. O tempo de espera deve ser testado no atendimento real, com limite para que a conversa não fique parada.
Resumo rápido
- Agrupe mensagens por conta e conversa, preservando a identificação de cada evento recebido.
- Combine uma pausa após a última mensagem com um prazo máximo contado desde a primeira.
- Antes de enviar a resposta, confira se chegou uma correção ou se um atendente assumiu o contato.
O que deve entrar no mesmo lote
Em programação, debounce é a consolidação de várias chamadas próximas em uma chamada após um intervalo de inatividade. Aplicado ao atendimento, esse princípio permite esperar a pessoa concluir um trecho. A implementação proposta aqui guarda todas as mensagens; o que se adia é o acionamento da IA.
Crie uma chave que combine empresa, conta remetente e identificador da conversa. Usar apenas o nome do contato pode misturar homônimos; usar apenas o telefone pode misturar atendimentos de contas diferentes. Para grupos, defina também como distinguir participantes e mensagens dirigidas ao assistente.
Registre identificador, conteúdo, tipo, horário de recebimento e ordem local de entrada. A documentação oficial da Meta no Postman informa que mensagens têm identificadores únicos e que seus estados podem ser acompanhados por webhooks associados ao ID. Aproveite a identidade do evento para reconhecer entregas repetidas; textos iguais, sozinhos, não provam duplicação.
Defina quais eventos alimentam a conversa. Uma confirmação de entrega de mensagem enviada pelo bot não deve ser interpretada como uma nova pergunta. A seleção faz parte do desenho dos agentes de IA no atendimento do WhatsApp.
Como montar a espera sem criar várias respostas
Organize o fluxo em duas responsabilidades: receber e registrar; depois selecionar um lote pronto para processamento. Confirme o recebimento HTTP após o registro durável, sem manter a conexão aberta enquanto o modelo trabalha. Essa confirmação técnica é diferente de enviar uma mensagem ao cliente.
- Registrar: grave a mensagem com uma restrição de unicidade que combine a conta e o identificador da mensagem recebida. Se ela já estiver registrada, reconheça a reentrega sem acrescentá-la novamente ao lote, mesmo que o processamento ainda esteja pendente.
- Atualizar o prazo: cada nova mensagem move o vencimento da pausa, respeitando o limite máximo do lote.
- Revalidar: quando um temporizador despertar, consulte o estado atual. Um temporizador antigo não pode liberar um lote atualizado.
- Reservar: permita que apenas um processamento assuma aquele lote, por operação atômica ou transação.
- Conferir antes do envio: compare a versão da conversa usada na geração com a versão disponível naquele momento.
No n8n, o nó Wait pausa uma execução. A documentação ressalta que esperas inferiores a 65 segundos não descarregam os dados da execução no banco. Por isso, recomendamos armazenar o lote e seus prazos separadamente; o Wait, sozinho, não implementa a coordenação entre execuções da mesma conversa.
Se chegar uma correção durante a geração, invalide a resposta ainda não enviada e processe a versão atualizada. Se uma resposta já saiu, a mensagem nova vira continuação. Não reabra silenciosamente uma operação concluída, como um pedido confirmado.
Exemplo hipotético: orçamento de um evento
Uma empresa de eventos adota, em um piloto, quatro segundos de pausa e doze segundos de espera máxima. Esses valores ilustram uma configuração, sem representar um padrão universal.
- No segundo zero, recebe “Quero orçamento para um evento”.
- No segundo dois, chega “30 pessoas, sábado à tarde”.
- No segundo cinco, o cliente corrige: “35 pessoas”.
- No segundo nove, sem nova mensagem, o lote fica pronto.
A IA recebe os três textos identificados e uma instrução para preservar correções explícitas, apontar informações ausentes e não inventar condições comerciais. A resposta pode confirmar 35 participantes e perguntar a data completa e o local, ainda desconhecidos. “Sábado” exige contexto; agrupar mensagens não resolve essa ambiguidade automaticamente.
Áudios e anexos precisam de estado próprio. Se uma transcrição estiver pendente, estabeleça prazo e tratamento para a ausência. Não considere o áudio vazio só porque o texto ainda não chegou. Se houver intervenção humana, pause a resposta automática e mantenha o lote disponível para a transferência do atendimento com contexto.
Checklist para ativar e acompanhar
- Testar duas pessoas falando simultaneamente e um mesmo contato em contas diferentes.
- Reentregar o mesmo evento e confirmar que ele não produz outra resposta.
- Enviar uma correção enquanto o modelo está gerando a resposta.
- Reiniciar o processamento durante a espera e conferir a recuperação do lote.
- Testar mensagens contínuas, áudio atrasado e atendimento assumido por uma pessoa.
- Medir espera percebida, respostas antecipadas, duplicatas e perguntas repetidas.
Compare os resultados com o atendimento anterior. Uma redução de chamadas ao modelo só é útil se o cliente continuar recebendo respostas no tempo adequado e com o contexto correto.
Perguntas frequentes
Devo esperar o mesmo tempo para todo contato?
Não necessariamente. Comece com uma configuração simples e ajuste com dados. Evite criar muitas exceções antes de entender onde ocorrem as respostas antecipadas.
Posso concatenar tudo e apagar as mensagens originais?
Prefira preservar os eventos pelo prazo necessário à operação. O lote deve manter referências às mensagens de origem, para permitir revisão de correções e investigação de falhas.