Passarini Law · WhatsApp + Chatwoot

Como as automações de atendimento funcionam hoje.

Um material de referência para a equipe: o que o robô decide, quando ele se cala e quais procedimentos administrativos já estão padronizados no Chatwoot.

Válido desde 25/08/2026America/New_YorkSem IA nesta versão

01 · Princípio da triagem

O robô só fala com quem ainda não tem dono.

Toda decisão começa verificando se a equipe já assumiu aquele atendimento. Só depois ele lê a etiqueta do contato; quem não se encaixa em nenhuma dessas condições entra na triagem.

A primeira resposta “sim” encerra o restante do fluxo.

A regra é executada a cada mensagem recebida, abertura ou reabertura da conversa. Prioridade absoluta: não interromper um atendimento humano.

02 · Ordem de decisão

O caminho da mensagem

flowchart TD
  A[Mensagem, abertura ou reabertura] --> B{A equipe já assumiu?}
  B -->|Sim| C[Robô cala
sessão routed] B -->|Não| D{Contato tem etiqueta
de cliente?} D -->|Sim| E[Menu de setor
nível 2] D -->|Não| F[Menu: Você é cliente?
nível 1] F -->|1 · Sou cliente| E F -->|2 · Não sou cliente| G[Assistant · time 7
general-non-client] E --> H{Setor escolhido} H -->|1| I[Billing · time 1
billing] H -->|2| J[Paralegal · time 2
paralegal] H -->|3| K[Assistant · time 7
assistant]

03 · Os três filtros

O que determina o próximo passo

01

A conversa já tem dono?

Conta como dono: time final atribuído, responsável humano, conversa aberta pela equipe, nota interna ou qualquer mensagem de saída que não tenha sido enviada pelo robô. Nesses casos, o robô fica calado e não volta nem pelo lembrete.

Na reabertura, time e responsável herdados não silenciam sozinhos. O que importa é alguém da equipe ter efetivamente aparecido.

02

O contato tem etiqueta de cliente?

Somente estas quatro fazem pular a pergunta inicial e levar direto ao menu de setor:

hired-familyhired-immigrationarchive-familyarchive-immigration

lead-*, others e general-non-client são lidas e sincronizadas, mas não tornam a pessoa cliente para este filtro.

03

Sem etiqueta de cliente: entra na triagem.

Não ter etiqueta não prova que a pessoa não é cliente; só indica que o escritório ainda não sabe. Por isso recebe o menu de nível 1, “Você é cliente?”. A resposta não muda a etiqueta do contato — apenas registra este atendimento.

04 · Menus e roteamento

O robô roteia por tecla, não por assunto.

Apenas número isolado é aceito. Negrito, emoji-teclado e pontuação são tolerados; texto livre não provoca roteamento.

Ao rotear, a ordem é: atribuir o time, gravar o setor, etiquetar a conversa com setor + estágio atual do contato, enviar a confirmação bilíngue e fechar a sessão como routed. O estágio na conversa é um retrato histórico do atendimento, não a classificação atual do contato.

05 · Quando ele fica quieto

Silêncio é uma decisão de segurança.

Estas situações não são falhas: são proteções contra menus repetidos ou mensagens por cima da equipe.

Conversa com dono

Time final, responsável, nota interna ou presença humana: a equipe assume e o robô sai.

Já roteada

Depois de encaminhar, o robô nunca mais fala naquela conversa, ainda que a equipe demore a responder.

Inbox fora da lista

O webhook registra o histórico, mas nenhuma mensagem automática sai.

Áudio ou foto

Anexo nos dois minutos após o menu não reapresenta nada: é uma pessoa falando, não errando a tecla.

“Oi” inicial

A saudação que abriu a conversa não é tratada como resposta ao menu; há tolerância de dois segundos entre relógios.

Teto de menus

No máximo três: o inicial e duas reapresentações. Depois disso, silêncio.

Fora do horário

O lembrete não envia nem fica pendente. Ele espera a próxima janela comercial.

06 · Lembrete de uma hora

O único envio sem nova mensagem do contato.

Se alguém recebeu um menu e não respondeu por uma hora, o mesmo menu volta uma única vez, no nível em que parou.

Quando1h após o menu sem resposta
JanelaSeg–sex, 9h–17h59
RitmoVarredura a cada 15 min
Limite50 conversas, antiga → nova

Não dispara para conversa resolvida, pendente ou adiada; inbox fora da lista; ou quando a equipe já apareceu. Usa a mesma checagem de segurança de qualquer menu.

07 · Etiquetas e sincronização

Contato é classificação. Conversa é histórico do atendimento.

A

A equipe

Define estágio e área do contato: hired-family, lead-immigration e as demais. É uma decisão de caso.

B

O robô

Etiqueta a conversa com o setor e o estágio daquele momento. Ele nunca escolhe nem grava o contato como cliente.

C

Sincronização

WhatsApp → Chatwoot: ligado. Chatwoot → WhatsApp: desligado até a taxonomia duplicada do celular ser resolvida.

Quando a sincronização de volta for ligada, marcar cliente remove o lead-* correspondente, pois esses estágios são mutuamente exclusivos.

08 · Falhas previstas

Em erro, o fluxo escolhe o lado seguro.

FalhaO que aconteceMotivo
Não lê etiqueta do contatoTrata como sem etiqueta e mostra nível 1.Perguntar uma vez a mais é mais seguro que mandar um lead ao Financeiro.
Não checa atendimento humanoFica calado.Evita atropelar a equipe.
Não lê a conversa no lembretePula aquele lembrete.Um lembrete a menos é melhor que intervir em conversa encerrada.
Não atribui time de entradaEnvia o menu mesmo assim.Atender vem antes de catalogar; o caso aparece no diagnóstico.
Não escreve etiqueta no WhatsAppCelular pode ficar desatualizado; painel segue correto.O roteamento lê o painel.
Evento duplicadoÉ ignorado.Evita dois menus na mesma conversa.
Erro durante o processamentoEvento fica marcado como falho, com conteúdo preservado.As tentativas são controladas, sem laço de reentrega.

09 · Fora do escopo

O que esta automação não faz.

Não lê conteúdo

Não há IA, classificação de caso ou consulta à base. O roteamento é por tecla.

Não etiqueta contato

Nunca escolhe família ou imigração. Essa classificação é sempre da equipe.

Não reabre triagem parada

Essa regra saiu em 24/08. Conversa sem atendimento aparece no diagnóstico, não em novo menu.

Não insiste

Três menus no máximo, um lembrete no máximo e nada fora do horário comercial.

10 · Macros no Chatwoot

Procedimentos administrativos em um clique.

Para casos que exigem mensagem e arquivo, foram usadas Macros — não respostas rápidas por /comando. O agente abre a conversa, escolhe a Macro e executa a sequência pronta.

01

Zelle Payment

Orienta o pagamento pelo Zelle e envia automaticamente o QR Code correspondente.

Executar Macro → mensagem de orientação → QR Code do Zelle
02

Google Review

Agradece pela confiança, convida para a avaliação e encaminha o arquivo correto.

Executar Macro → mensagem → Thank you Google Review.pdf
03

Welcome Clio for Clients

Apresenta o acesso ao Clio for Clients e envia o material de boas-vindas.

Executar Macro → mensagem → Welcome Clio for Client.pdf

As três Macros são públicas para uso pelos agentes. “Pública” garante disponibilidade operacional; se a criação e edição devem ficar restritas a administradores, as permissões e roles do Chatwoot precisam ser verificadas separadamente.

Onde a triagem vive: supabase/functions/chatwoot-triage/index.tshandleOpen decide a abertura, equipeJaTocou verifica a presença humana, handleContactMessage trata as teclas e varrerLembretes faz a varredura. Textos, etiquetas de cliente e janela do lembrete ficam na configuração da organização; alterá-los exige novo deploy da Edge Function.