Conversas, tickets e mensagens da ferramenta de suporte
Chamado válido, ligado ao cliente, com relógio na primeira fala do cliente
Volume, espera, resolução e motivo por cliente e mês
Health score, painel de SLA e agente de IA
O que resolve
- Cada chamado ligado ao cliente pagante, com o MRR dele ao lado.
- Espera medida a partir do momento em que o cliente escreveu, separada entre IA e humano.
- Motivo e módulo de cada chamado prontos para produto priorizar.
Perguntas de negócio que responde
Faça estas perguntas ao seu agente quando o caso estiver pronto.
O que você precisa
- A ferramenta de suporte conectada na Nekt (conversas, tickets e mensagens)
- A chave do cliente gravada no ticket ou no contato, ligada ao billing
- Uma lista fechada de motivos e módulos, e o SLA combinado por tipo de cliente
O que você recebe
- Uma tabela de chamados com cliente, canal, quem atendeu, tempos e motivo
- Um agregado cliente x mês pronto para o health score
- Painel de SLA, fila sem dono e reaberturas por atendente e equipe
- Um agente de IA que responde sobre suporte já com o recorte certo
Onde ativar
O agregado cliente x mês alimenta o componente de suporte do score: variação de volume, chamados de erro e reaberturas.
Responde quantos chamados um cliente abriu, quanto esperou e por quê, já sem internos e automações.
Aviso quando a fila sem dono cresce ou quando uma conta top está perto de violar o SLA.
As regras são diretas. O trabalho está em ligar o chamado ao cliente e em reconstruir os tempos a partir das mensagens quando a ferramenta não guarda o que você precisa. O detalhado traz as regras de negócio, as armadilhas e o teste de aceitação. Ou mande tudo direto para o seu agente com o MCP da Nekt.
A ferramenta de suporte conta conversas que o cliente nunca abriu, chamados sem empresa e mensagem do bot como resposta. O tempo de resposta começa quando o ticket é criado, não quando o cliente escreveu, e o tempo vazio vira zero na média. O resultado é um volume por cliente que não bate com o relatório da ferramenta, um tempo de resposta bom demais e um health score que pune o cliente errado.
Como costuma ser feito, e a regra
Cada linha é um erro que já aconteceu na prática.
No Intercom, a conversa conta quando não foi disparada por automação (source.delivered_as diferente de automated) e o cliente respondeu (first_contact_reply preenchido). Mensagens proativas, campanhas e lembretes ficam fora. Reproduza primeiro a regra do relatório nativo da ferramenta e só depois crie recortes próprios, publicando a diferença quando houver.
Pedidos internos (do financeiro para o suporte, tarefas de operação) convivem com os chamados de cliente na mesma ferramenta. Separe por um campo de tipo do chamado, não pelo nome da equipe: uma equipe pode ter os dois. Tire empresas internas e de teste. Quando a pergunta não disser qual recorte, o agente pergunta antes de responder.
O chamado muitas vezes chega sem empresa. Resolva por ordem: empresa do próprio chamado, empresa do contato, e-mail, telefone normalizado (DDD mais os últimos 8 dígitos). Domínio de e-mail só vale se não for de provedor gratuito. Um de-para de empresa só entra quando é unívoco. Grave como o cliente foi identificado (direto, de-para ou sem identificação) e publique a taxa de vínculo por mês.
Em chat, o cliente escreve antes de o ticket existir: numa base real, a primeira mensagem era de 07:43 e o ticket de 07:59. Espera é a primeira resposta da empresa depois da primeira mensagem do cliente, calculada pelas mensagens. Se a empresa falou primeiro (atendimento ativo), conte a partir da primeira fala do cliente, senão o tempo sai negativo. Conversa com horário inferido, como a que cruza a virada do ano sem data completa, fica fora do SLA.
Com um agente de IA respondendo primeiro, a primeira resposta cai para segundos e esconde a espera por uma pessoa. Classifique cada chamado em só IA, IA com transferência, só humano, sem resposta ou sem transcrição, e meça a espera até a primeira resposta humana à parte. Contadores nativos de resposta de agente podem ignorar a mensagem da IA: guarde-os para auditoria e calcule pelas mensagens. No Intercom, resolução presumida da IA (assumed_resolution em ai_agent.resolution_state) não é resolução confirmada pelo cliente.
Chamado sem resposta humana tem tempo vazio. Trocar vazio por zero puxa a média para baixo. Resuma tempos por mediana e p90, só sobre chamados elegíveis (chat com transcrição e horário confiável), e mostre quantos ficaram de fora. Se o SLA é em horário comercial, use o tempo em horário comercial que a ferramenta fornece (no Intercom, a primeira resposta em office hours nas estatísticas da conversa) e diga qual dos dois está mostrando.
Tempo de resolução vai da criação ao primeiro fechamento. Chamado reaberto (hs_ticket_reopened_at no HubSpot, count_reopens no Intercom) entra numa métrica própria de reabertura por atendente, sinal de fechamento mal feito. No HubSpot, time_to_close, time_to_first_agent_reply e o tempo por etapa (hs_v2_cumulative_time_in_<etapa>) vêm em milissegundos: converta uma vez, na primeira camada.
Numa base real, quase metade dos chamados não tinha dono e a categoria vinha vazia na maioria. Rotule dono nulo como Não atribuído e nunca descarte: a fila sem dono é um sinal da saúde do atendimento. Use fila, pipeline ou nível (N1, N2, N3) como quebra principal quando a categoria não é confiável, e mapeie status em mais de uma língua (Resolvido e Closed) para aberto, pendente e fechado.
Um cliente com 200 usuários abre mais chamados que um com 5. Para o health score, use o agregado cliente x mês com variação contra o mês anterior e média móvel de 3 meses, e normalize por usuários ativos ou por MRR. Separe dúvida de erro: dúvida aponta para onboarding e documentação, erro aponta para produto. O percentual de dúvidas usa só chamados fechados classificados como dúvida ou erro.
O alvo depende do cliente, por exemplo 24 horas para contas top e 72 horas para as demais, em dias úteis. Grave o alvo no chamado e marque violação quando foi resolvido depois do alvo ou segue aberto além dele. Chamado antigo, de antes da automação do SLA, fica sem alvo e fora do denominador, nunca como cumprido.
Quem atendeu o chamado
Pelas mensagens da transcrição, depois da primeira fala do cliente.
Definições
Armadilhas que já aconteceram
O de-para escolhia o cliente mais frequente de cada id de empresa da ferramenta. Um desses ids era do agente interno que abria chamados em nome dos clientes, e milhares de chamados caíram num cliente só, que apareceu como o maior usuário do suporte.
Aceite só de-para unívoco; o resto fica como sem identificação.
Juntar uma tabela de empresa x domínio com a de chamados duplicou linhas, porque uma empresa tinha vários e-mails de acesso. O contador mostrou cerca de 13% mais chamados do que existiam e alimentou o health score assim.
Resolva o cliente por chamado e conte pelo id do chamado.
A carga de anos de chamados gravou em modo de acréscimo, e reprocessar um arquivo repetiu chamados idênticos. Todos os contadores saíram inflados sem nenhum erro.
Deduplique pelo id do chamado na entrada da camada de métricas.
O cálculo trocava tempo de resposta vazio por zero antes de tirar a média, e a primeira resposta do time parecia muito melhor do que era.
Tire os vazios da média, use mediana e p90 e mostre a contagem.
Com o agente de IA na frente, a primeira resposta caiu para segundos. A espera por uma pessoa nos chamados transferidos não mudou, e ninguém via porque só havia uma coluna de tempo.
Publique a espera humana ao lado da primeira resposta.
Resolvido e Closed conviviam no mesmo campo, e uma parte dos chamados fechados era contada como aberta.
Mapeie todos os status para aberto, pendente e fechado numa tabela.
Teste de aceitação
O caso está pronto quando todos os itens passam.
- O número de chamados válidos por mês bate com o relatório nativo da ferramenta (diferença abaixo de 2%).
- Nenhum chamado tem tempo de espera negativo, e nenhum tempo vazio entra como zero.
- A taxa de vínculo ao cliente é publicada por mês, e chamado sem cliente aparece como sem identificação, não some.
- Só IA + transferido + humano + sem resposta + fora do SLA = total de chamados válidos.
- Cada chamado aparece uma vez (id único), mesmo depois de reprocessar a carga.
Pacote para o agente
Cole no Claude, ChatGPT ou outro cliente com o MCP da Nekt conectado.
Suporte por cliente - Chamado válido = aberto pelo cliente, não disparado por automação nem pelo time, com resposta do cliente. No Intercom: source.delivered_as diferente de automated e first_contact_reply preenchido. - Separe sempre chamados de cliente (externos) de chamados internos da equipe, pelo tipo do chamado. Se a pergunta não disser qual recorte, pergunte. - Empresas internas e de teste ficam fora. Chamado sem cliente identificado conta no volume como sem identificação. - Tempo de espera começa na primeira mensagem do cliente, não na criação do ticket. Espera humana é medida à parte; vazia quando só a IA atendeu. - Tipo de atendimento: só IA, transferido, humano, sem resposta, fora do SLA. - Tempos são resumidos por mediana e p90 sobre chamados elegíveis. Nunca troque tempo vazio por zero. - Resolução = criação até o primeiro fechamento. Reabertura é métrica própria. - Dono nulo = Não atribuído. Nunca descarte. - Tempos do HubSpot vêm em milissegundos. - SLA: alvo por tipo de cliente gravado no chamado. Chamado sem alvo fica fora do cálculo de SLA. Exceções por cliente: - <cliente>: SLA de <horas> horas úteis por contrato. - <cliente>: chamados abertos pelo canal <canal> ficam fora do tempo de experiência.
Construa no meu workspace Nekt o caso "Suporte por cliente, com espera, resolução e motivo" seguindo as regras em https://academy.nekt.com/industrias/saas/suporte-por-cliente.md. 1) Encontre as tabelas de origem e confirme as colunas usadas pelas regras. 2) Crie uma transformação no grão indicado aplicando todas as regras. 3) Rode o teste de aceitação e me mostre o resultado de cada item. 4) Crie o context document do caso no workspace, com as exceções dos meus clientes em aberto para eu preencher.
Variações
O chamado é o grupo ou o número: ligue ao cliente pelo nome do grupo normalizado ou pelos últimos 8 dígitos do telefone, e anonimize telefone, e-mail e documento antes de exportar o texto.
O backlog vira uma foto mensal dos chamados abertos, sem corte pela data de abertura, com envelhecimento e transbordo entre N1, N2 e N3.
Um campo de módulo impactado no chamado liga cada erro à parte do produto e ao cliente, e produto prioriza por clientes e MRR afetados.