Pós-Análise
Pós-Análise processa automaticamente conversas após elas terminarem, extraindo insights estruturados, resumos e métricas. Esta funcionalidade poderosa transforma conversas brutas em dados de negócio acionáveis sem revisão manual.

O Que é Pós-Análise?
Quando uma conversa termina, Pós-Análise executa uma passagem de análise de IA separada que pode:
| Capacidade | Exemplo de Output |
|---|---|
| Sumarizar conversas | "Cliente perguntou sobre faturamento, resolvido explicando data de vencimento" |
| Extrair dados estruturados | { "topico": "faturamento", "resolvido": true, "sentimento": "satisfeito" } |
| Pontuar interações | Satisfação do cliente: 4/5, Performance do agente: 92% |
| Classificar intenções | Primária: "consulta_faturamento", Secundária: "interesse_upgrade" |
| Sinalizar follow-ups | "Cliente solicitou callback sobre preços enterprise" |
Custo Adicional de Tokens
Pós-Análise executa uma chamada LLM separada após cada conversa, o que incorre em custos adicionais de tokens. O custo depende do tamanho da conversa e complexidade da análise.
Como Funciona
Conversa Termina
↓
Pós-Análise Disparada
↓
┌─────────────────────────────────────┐
│ LLM analisa conversa completa: │
│ - Aplica seus prompts de análise │
│ - Extrai dados estruturados │
│ - Gera resumos │
└─────────────────────────────────────┘
↓
Resultados armazenados e/ou enviados via webhookMomento do disparo:
- Chamadas de voz: Quando a chamada termina
- Chat: Quando thread é marcado completo ou expira
- Threads via API: Quando explicitamente fechados
Configuração
Habilitando Pós-Análise
- Navegue para Configuração do Agente > Avançado
- Encontre a seção Pós-Análise
- Ative Habilitar Pós-Análise
- Configure seus schemas de análise
Schema de Análise
Defina quais dados extrair usando JSON Schema:
{
"type": "object",
"properties": {
"resumo": {
"type": "string",
"description": "Resumo de 2-3 frases da conversa"
},
"topico": {
"type": "string",
"enum": ["faturamento", "suporte_tecnico", "vendas", "geral", "reclamacao"],
"description": "Tópico principal da conversa"
},
"resolvido": {
"type": "boolean",
"description": "Se o problema do cliente foi resolvido"
},
"sentimento": {
"type": "string",
"enum": ["positivo", "neutro", "negativo"],
"description": "Sentimento geral do cliente"
},
"followup_necessario": {
"type": "boolean",
"description": "Se ação de follow-up é necessária"
},
"notas_followup": {
"type": "string",
"description": "Detalhes sobre follow-up necessário, se houver"
}
},
"required": ["resumo", "topico", "resolvido", "sentimento"]
}Prompt de Análise
Customize instruções para a análise:
Analise esta conversa de suporte ao cliente e extraia o seguinte:
1. **Resumo**: Forneça um resumo breve e factual do que foi discutido e o resultado.
2. **Classificação de Tópico**: Categorize em um destes tópicos:
- faturamento: Pagamento, faturas, cobranças, reembolsos
- suporte_tecnico: Problemas de produto, bugs, perguntas de como fazer
- vendas: Preços, planos, upgrades, novas compras
- geral: Consultas gerais, gerenciamento de conta
- reclamacao: Insatisfação, solicitações de escalação
3. **Resolução**: A pergunta/problema principal do cliente foi resolvido nesta conversa?
4. **Sentimento**: Baseado na linguagem e respostas do cliente, avalie o sentimento geral.
5. **Follow-up**: Observe se algum item de ação ou callbacks foram prometidos.
Seja objetivo e baseie sua análise no conteúdo real da conversa.Exemplos de Schemas
Análise de Suporte ao Cliente
{
"type": "object",
"properties": {
"resumo": {
"type": "string",
"description": "Resumo conciso da interação de suporte"
},
"categoria_problema": {
"type": "string",
"enum": ["acesso_conta", "faturamento", "bug_produto", "solicitacao_feature", "como_fazer", "outro"]
},
"status_resolucao": {
"type": "string",
"enum": ["resolvido", "escalado", "pendente", "nao_resolvido"]
},
"score_esforco_cliente": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Esforço estimado que o cliente teve que fazer (1=fácil, 5=difícil)"
},
"motivo_escalacao": {
"type": "string",
"description": "Se escalado, explique por quê"
}
}
}Análise de Qualificação de Vendas
{
"type": "object",
"properties": {
"qualidade_lead": {
"type": "string",
"enum": ["quente", "morno", "frio", "nao_qualificado"],
"description": "Score de qualificação do lead"
},
"orcamento_mencionado": {
"type": "boolean"
},
"faixa_orcamento": {
"type": "string",
"description": "Orçamento estimado se mencionado"
},
"timeline": {
"type": "string",
"description": "Timeline de compra se discutido"
},
"decisor": {
"type": "boolean",
"description": "O contato é um decisor?"
},
"concorrente_mencionado": {
"type": "array",
"items": { "type": "string" },
"description": "Quaisquer concorrentes mencionados"
},
"proximo_passo": {
"type": "string",
"description": "Próxima ação recomendada"
}
}
}Análise de Garantia de Qualidade
{
"type": "object",
"properties": {
"saudacao_adequada": {
"type": "boolean",
"description": "O agente cumprimentou o cliente adequadamente?"
},
"identificacao_verificada": {
"type": "boolean",
"description": "A identidade do cliente foi verificada quando necessário?"
},
"informacao_precisa": {
"type": "boolean",
"description": "A informação fornecida foi precisa?"
},
"tom_profissional": {
"type": "boolean",
"description": "O agente manteve tom profissional durante toda conversa?"
},
"encerramento_adequado": {
"type": "boolean",
"description": "O agente encerrou a conversa adequadamente?"
},
"problemas_compliance": {
"type": "array",
"items": { "type": "string" },
"description": "Quaisquer preocupações de compliance observadas"
},
"score_geral": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
}
}Acessando Resultados da Análise
Na Plataforma
- Navegue para Conversas ou Histórico de Threads
- Selecione uma conversa concluída
- Veja a aba Análise para ver dados extraídos
Via Webhook
Configure um webhook para receber resultados de análise automaticamente:
{
"event": "conversation.analyzed",
"conversation_id": "conv_abc123",
"agent_id": "agt_xyz",
"timestamp": "2025-01-18T15:30:00Z",
"analysis": {
"resumo": "Cliente ligou sobre discrepância de faturamento...",
"topico": "faturamento",
"resolvido": true,
"sentimento": "positivo",
"followup_necessario": false
}
}Veja Webhooks para detalhes de configuração.
Via API
Recupere análise para uma conversa específica:
GET /api/conversations/{conversation_id}/analysis
Authorization: Bearer {api_key}Melhores Práticas
1. Mantenha Schemas Focados
Não tente extrair tudo. Foque em dados que você vai realmente usar:
❌ Super-engenheirado:
{
"properties": {
"resumo": {},
"resumo_detalhado": {},
"resumo_breve": {},
"resumo_executivo": {},
// ... mais 30 campos
}
}✅ Focado:
{
"properties": {
"resumo": {},
"topico": {},
"resolvido": {},
"followup": {}
}
}2. Use Enums para Consistência
Valores estruturados facilitam relatórios:
{
"sentimento": {
"type": "string",
"enum": ["positivo", "neutro", "negativo"]
}
}Isso garante valores consistentes ao invés de variações como "feliz", "satisfeito", "bom", "positivo".
3. Escreva Descrições Claras
O campo description guia a análise:
{
"score_esforco_cliente": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Avalie quanto esforço o cliente teve que fazer: 1=problema resolvido imediatamente, 5=cliente teve que se repetir múltiplas vezes ou foi transferido"
}
}4. Teste com Conversas Reais
Antes de fazer deploy, teste seu schema contra transcrições reais de conversas para verificar:
- Campos são extraíveis de conversas típicas
- Categorias/enums cobrem casos comuns
- Prompt de análise produz resultados precisos
5. Considere Custo vs. Valor
Pós-Análise usa tokens adicionais. Equilibre:
- Analise todas as conversas para insights de alto valor
- Amostra conversas para monitoramento de qualidade
- Pule análise para interações muito curtas
Casos de Uso
Dashboard de Customer Success
Acompanhe taxas de resolução, tendências de sentimento e problemas comuns:
| Métrica | Campo Fonte |
|---|---|
| Taxa de Resolução | resolvido (boolean) |
| Tendência de Sentimento | sentimento (enum) |
| Top Problemas | contagem de topico (enum) |
| Fila de Follow-up | filtro de followup_necessario |
Integração com Pipeline de Vendas
Envie leads qualificados para seu CRM:
// Exemplo de handler de webhook
if (analysis.qualidade_lead === 'quente' && analysis.decisor) {
await crm.createOpportunity({
contact: conversation.customer,
source: 'AI Agent',
budget: analysis.faixa_orcamento,
timeline: analysis.timeline,
notes: analysis.resumo
});
}Monitoramento de Qualidade
Sinalize automaticamente conversas para revisão:
// Alerte em scores de qualidade baixos
if (analysis.score_geral < 70 || analysis.problemas_compliance.length > 0) {
await alertTeam('Revisão de QA Necessária', conversation.id);
}Solução de Problemas
Análise Não Executando
- Verifique se Pós-Análise está habilitada
- Verifique se conversas estão sendo fechadas adequadamente
- Revise schema por erros de sintaxe
Extrações Incorretas
- Melhore campos de descrição no schema
- Adicione exemplos ao seu prompt de análise
- Garanta que valores de enum cobrem todos os casos
- Teste com amostras representativas de conversas
Custos Altos
- Reduza complexidade do schema
- Use prompts de análise mais curtos
- Considere amostragem ao invés de analisar todas as conversas
- Use modelos menores para análise se disponíveis
Documentação Relacionada
- Webhooks - Receba resultados de análise automaticamente
- Análise Estruturada - Capacidades mais amplas de output estruturado
- Configuração de Agentes - Setup completo de agentes
