Em uma conversa de teste de 23 de abril, um cliente novo tentou fazer um pedido com uma empresa que ainda não tinha vínculo no SAP. O assistente fez exatamente o protocolo previsto: registrou os dados que faltavam (razão social e CNPJ), abriu uma nota privada para o atendente e informou ao cliente que a solicitação havia sido transferida.
A partir desse ponto, o cliente enviou mais duas mensagens: "Acredito que não tenha meu cadastro, consegue cadastrar?" e, pouco depois, um simples "oi?". Nenhuma das duas recebeu resposta. O assistente ficou em silêncio (o que é correto, porque a conversa já estava em mãos de um humano), mas o cliente ficou sem saber se havia sido ouvido.
O BORDER já tinha uma lógica para parar de responder automaticamente quando uma conversa havia sido transferida para um atendente humano — essa é a decisão correta, porque o bot não deve "pisar no pé" de quem está atendendo.
O problema era que, do ponto de vista do cliente, esse silêncio parecia indistinguível de um problema técnico. Não havia nenhuma sinalização de que "sua solicitação foi registrada, aguarde um atendente". Mensagens sucessivas simplesmente desapareciam.
1. Aviso único após a escalação. Na primeira mensagem que o cliente enviar em uma conversa já escalada, o assistente responde uma vez com o texto:
"Sua solicitação já foi encaminhada ao nosso atendimento. Um atendente vai te responder em breve."
Nesse momento, o sistema também adiciona uma etiqueta interna
awaiting-agent na conversa, sinalizando que o
cliente já foi avisado. Mensagens subsequentes seguem em
silêncio — exatamente como antes, mas agora o cliente sabe que
está sendo atendido.
2. Destravamento automático quando o atendente
responde. Quando um atendente humano envia qualquer
mensagem na conversa via Chatwoot, o sistema detecta a resposta
e remove a etiqueta awaiting-agent. Isso permite
que, se a conversa for eventualmente devolvida ao bot, ele
volte a atender normalmente sem que alguém precise fazer nada
manualmente. O ciclo se fecha sozinho.
3. Separação clara entre os dois casos. O
aviso só é enviado em conversas de fato escaladas para humano
(identificadas pela etiqueta bot-escalated).
Conversas normalmente resolvidas pelo bot — onde o pedido foi
criado e não há nada pendente — não geram esse aviso, evitando
poluir interações onde a conversa terminou naturalmente.
| Situação | Resposta do assistente |
|---|---|
| 1ª mensagem do cliente logo após a escalação | Envia o aviso uma vez e marca como avisado |
| 2ª mensagem do cliente enquanto ainda aguarda | Silêncio (aviso não é repetido) |
| Atendente humano responde no Chatwoot | Marca "avisado" é removida automaticamente |
| Conversa resolvida pelo bot com pedido criado (sem escalação) | Não envia esse aviso (seria ruído em fluxo concluído) |
| Falha momentânea do Chatwoot ao enviar o aviso | Próxima mensagem do cliente volta a tentar enviar o aviso |
Esta correção foi acompanhada de 23 testes automatizados cobrindo:
- Envio do aviso apenas uma vez (primeira mensagem após escalação);
- Silêncio em mensagens subsequentes;
- Remoção automática da marca de "avisado" quando o atendente responde;
- Distinção entre resposta do bot e de agente humano (nome, tipo de remetente);
- Não envio do aviso em conversas resolvidas sem escalação;
- Resiliência a falhas intermitentes do Chatwoot (aviso é melhor-esforço, silêncio pós-escalação é garantido).
A suíte total do projeto passou de 743 para 766 testes nesta rodada. Todos rodam automaticamente a cada alteração de código.
Situacao: Depois que o assistente transferia
uma conversa para um atendente humano (protocolo de primeiro
contato sem vínculo SAP), o cliente às vezes continuava
escrevendo. O assistente parava de responder — comportamento
correto para não atrapalhar o atendente — mas o cliente ficava
sem saber se havia sido ouvido. Faltava uma sinalização.
Correcao: Na primeira mensagem que o cliente
enviar em uma conversa já escalada, o assistente responde uma
única vez com uma mensagem curta informando que a solicitação
foi encaminhada e que um atendente vai responder em breve. A
partir daí segue em silêncio, como antes. Uma etiqueta interna
registra que o aviso foi enviado, evitando duplicação. Quando o
atendente efetivamente responde no Chatwoot, a etiqueta é
removida automaticamente — sem ação manual de ninguém.
Impacto: Fim do "falando com parede" em
conversas escaladas. O cliente sabe que a solicitação foi
recebida e está em atendimento, e o ciclo se fecha sozinho
quando o atendente retoma a conversa. A regra só dispara em
conversas escaladas — o fluxo normal de pedido não é afetado.