Antes de liberar o chatbot pra todos os clientes, você precisa testar. Bot quebrado em produção é pior do que sem bot — cliente fica sem resposta, vê mensagem com {{variavel}} literal, ou cai em loop. O Syncro não tem ambiente de sandbox isolado, mas há estratégias pra testar com baixo risco. Esse artigo cobre os métodos.
Pré-requisitos
- Fluxo criado e salvo no builder.
- Acesso ao canal alvo (WhatsApp/Instagram/Website).
Estratégias de teste
Estratégia 1 — Keyword exclusiva de teste
Cadastre uma palavra-chave bizarra que só você usa, e mande do seu próprio número:
- Edite o fluxo.
- Adicione keyword única:
teste123,qatest,xx-teste. - Salve.
- Mande do seu WhatsApp pessoal pro número conectado: "teste123".
- Chatbot dispara → você acompanha o fluxo.
Vantagens:
- Real-real — usa infra de produção.
- Sem cliente sendo afetado (a keyword é improvável de ser digitada por alguém).
Depois do teste:
- Remova
teste123da lista de keywords.
Estratégia 2 — Fluxo isolado em outra instância
Se você tem mais de 1 número WhatsApp conectado:
- Crie o fluxo.
- Em Editar fluxo → Instância WhatsApp: selecione um número de teste (não o de produção principal).
- Mande mensagem só nesse número.
- Aprove.
- Depois mude pra instância de produção.
💡 Dica: ideal ter número de QA dedicado. Plano Starter+ permite múltiplas instâncias.
Estratégia 3 — Toggle off + on quando pronto
- Mantenha o fluxo inativo (
is_active=false) até estar 100% revisado. - Quando rodar QA final, ative.
- Se algo der errado em produção, toggle off imediato — fluxo para de disparar.
Vantagens:
- Reativo a problema.
- Não precisa re-publicar.
O que testar
1. Trigger dispara
- Mensagem com keyword bate?
- Mensagem sem keyword não bate?
- Catch-all (se ativo) cobre o resto?
2. Mensagens enviadas certas
- Texto sai sem
{{variável}}literal aparecendo? - Imagem carrega? Áudio toca?
- Formatação WhatsApp (
*bold*,_italic_) aparece certo no celular?
3. Inputs e branches
- Cliente pode escolher cada opção?
- Keywords das branches batem (insensitive case)?
- Default branch dispara quando user digita coisa não-prevista?
4. Condições
- Variável usada existe e tem valor?
- Operador certo (gt vs equals)?
- Default cobre quando nenhum bate?
5. Ações
- Tag adicionada/removida?
- Stage muda corretamente no Kanban?
- Webhook chega no destino externo?
- assign_human transfere e bot para?
- assign_ai_agent inicia conversa com IA?
6. End
- Fluxo termina sem deixar conversa "presa"?
completions_countincrementa?
7. Edge cases
- Cliente manda mensagem vazia (só emoji, foto, áudio).
- Cliente envia antes do bot terminar (interrompe).
- Cliente fica sem responder (timeout?).
- Cliente envia mensagem muito longa (1000+ chars).
Acompanhar execução em tempo real
Painel de conversa
- Vá em
/chats. - Encontre a conversa de teste.
- Mensagens trocadas aparecem em tempo real.
- Mensagens do bot têm badge indicando "Chatbot" (cor cinza/amarela).
Variáveis capturadas
No header da conversa, dropdown de chatbot ativo mostra:
- Nome do fluxo em execução.
- Nó atual (
chatbot_node_id). - Variáveis coletadas até agora.
Útil pra debugar — ver onde o cliente "travou".
Logs do servidor
Pra debugar mais profundo, peça suporte pra acessar logs do whatsapp.log:
storage/logs/whatsapp-2026-04-30.log
Mostra cada mensagem inbound + execução do ProcessChatbotStep.
Página de Resultados
Pra ver estatísticas históricas do fluxo:
/chatbot/fluxos.- Clique no fluxo → Resultados ou rota direta
/chatbot/fluxos/{flow}/resultados. - Tabela mostra:
- Conversa (link pro lead).
- Data início.
- Variáveis capturadas (nome, email, etc).
- Status: completou, abandonou, transferiu.
Filtre por período. Útil pra ver onde clientes desistem (qual nó é o bottleneck).
Limites do teste manual
Não há "preview interativo" no builder
O builder do Syncro hoje não tem chat de simulação interno (como Tidio/WotNot). Você precisa testar no canal real.
Webhook de saída na produção
Action send_webhook dispara HTTP request mesmo em teste. Atenção:
- Se webhook envia notificação Slack, vai chegar no canal real (e equipe vê).
- Pra evitar, troque URL do webhook pra endpoint de teste durante QA, depois volta.
Action assign_human pega user real
Atendente recebe a conversa atribuída. Pra testar sem incomodar, atribua pra você mesmo.
Checklist de QA
Antes de publicar pra clientes reais, marque:
- Trigger dispara só onde deve.
- Saudação sai com nome interpolado correto.
- Cada branch de input tem teste passando.
- Default branch funciona (input fora do esperado).
- Condições redirecionam pro caminho certo.
- Webhooks retornam 2xx (verifique no destino).
- assign_human atribui pro user certo.
- assign_ai_agent transfere e IA assume contexto.
- End envia mensagem e limpa estado.
- Limite 30 iterações não é atingido (nenhum loop infinito).
- Mídia (imagens/áudios) carregam.
- Mobile mostra emojis/formatação direito.
Erros comuns
"Bot dispara mas para no meio"
Um nó tem config inválida (variável faltando, agent_id não existe, etc). Veja:
- Conversa com bot ativo no
/chats. - Logs do servidor (peça suporte).
- Sistema não notifica quando nó falha — bot só para silencioso.
"Variável aparece como literal {{nome}}"
A variável não foi capturada antes ou tem typo. Confira save_to do input.
"WhatsApp não mostra lista interativa, só texto"
- Confira se canal é
whatsapp(não outro). - Lista interativa só funciona em WhatsApp Business — verifique no celular do cliente que esteja com app atualizado.
- Cliente em conta pessoal não recebe lista interativa, só texto.
"Cliente respondeu mas bot ignorou"
Conversa pode ter sido assumida por humano ou IA entre as mensagens. Bot tem chatbot_flow_id = null agora, parou.
Verifica no header da conversa: ainda tem chatbot ativo?
"Demora 3 segundos entre mensagens"
Comportamento esperado — DEFAULT_MESSAGE_DELAY = 3s simula digitação humana. Não é bug.
Pra testar IA pós-bot (assign_ai_agent)
- Bot termina captura → action
assign_ai_agent. - Cliente envia próxima mensagem → IA responde.
- Confira que IA leu o contexto (variáveis do bot ficam no histórico, IA usa).
Veja Transferir para Agente IA.
Boas práticas de QA
1. Crie 3 cenários mínimos
- ✅ Caminho feliz (cliente segue tudo).
- ⚠️ Caminho inesperado (cliente digita coisa fora das opções).
- 🚫 Caminho de erro (cliente desiste, manda áudio, etc).
2. Teste em horários diferentes
Pra detectar problemas de quota Meta (janela 24h, rate limit), teste em horário comercial e fora.
3. Use número diferente do principal
Cliente que recebe mensagem de teste do número oficial pode ficar confuso. Ideal: número QA dedicado.
4. Documente as variáveis testadas
Pra quem revisa depois, anote:
Cenário 1: nome=Maria, interesse=vendas → branch_0
Cenário 2: nome=João, interesse=outro → default → fallback FAQ
Próximos passos
- Após testar, veja Chatbot vs Agente IA pra decidir quando passar pra IA.
- Pra ajustar transferência pra IA, veja Transferir para Agente IA.