Agente de IA · Vendas · 2026
AutomatizaLead
Um agente de vendas no WhatsApp que conversa com IA, mas segue as regras do negócio.
- Status
- Pronto, aguardando lançamento
- Contexto
- Projeto para cliente · anonimizado
- Meu papel
- Fiz sozinho: levantamento com o cliente, arquitetura, backend, agente de IA, telas e testes.
- Tecnologias
- Python
- FastAPI
- SQLAlchemy
- Alembic
- PostgreSQL
- WhatsApp Cloud API
- OpenRouter
- Pydantic
Visão geral
O AutomatizaLead faz o trabalho de um SDR (pré-vendedor) pelo WhatsApp: importa uma lista de empresas, decide quais valem o contato, aborda, conversa, marca a reunião e acompanha o negócio até o contrato. O cliente fica anônimo aqui.
Problema
A prospecção era manual e poucas mensagens viravam reunião. O ganho não estava em mandar mais mensagens, e sim em falar com as empresas certas, responder rápido e não perder reuniões por demora.
Abordagem
Antes do código, escrevi as regras com o cliente — perfil de cliente ideal, roteiro da conversa, frequência dos contatos, opt-out e agenda — e ele validou tudo por escrito. Depois desenvolvi por fases, cada uma entregando algo que já funcionava.
Como funciona
Seleção de empresas
Importa a lista do fornecedor, valida os dados e dá uma nota a cada empresa, com o motivo escrito.
Abordagem
Campanhas com teste A/B de mensagens, respeitando horário comercial e limite diário de envios.
Agente de IA
A IA lê a resposta do lead e escolhe o próximo passo entre os que o sistema permite naquele momento (uma máquina de estados). Antes do envio, o código bloqueia valores, prazos e opinião jurídica.
Agenda e atendimento humano
O sistema oferece três horários e reserva cada um por 60 minutos. Quando a IA tem dúvida, a conversa vai para uma pessoa, com o motivo e o rascunho.
- Dados
- Código
- IA
- Pessoa
- Resultado
- Lista de empresas (Dados)Arquivo do fornecedor
- Nota e prioridade (Código)Regras editáveis
- Abordagem (Código)WhatsApp, teste A/B
- Decisão da IA (IA)Só passos permitidos
- Verificação (Código)Bloqueia o que não pode ser dito
- Atendimento humano (Pessoa)Quando a IA tem dúvida
- Reunião marcada (Resultado)Horário oferecido pelo sistema
Só um passo é a IA. O resto é código comum, que dá para testar.
PERMITIDAS = {
"aguardando_resposta": {"qualificando", "opt_out", "humano"},
"qualificando": {"oferecendo_horarios", "humano", "perdido"},
"oferecendo_horarios": {"agendado", "humano"},
}
def aplicar_decisao_da_ia(lead, decisao):
# A IA propõe; o sistema decide.
if decisao.proximo_estado not in PERMITIDAS[lead.estado]:
return entregar_para_humano(lead, motivo="passo_nao_permitido")
# Valores, prazos e opinião jurídica nunca são enviados.
if viola_regras(decisao.mensagem):
return entregar_para_humano(lead, motivo="regra", rascunho=decisao.mensagem)
return avancar(lead, decisao.proximo_estado, decisao.mensagem)Decisões principais
O sistema decide, a IA obedece
A IA escolhe numa lista de passos permitidos. Ela não inventa etapas, não marca reunião e não escreve horários.
Regras no código, não no prompt
Prompt não garante nada. O que não pode ser dito é verificado depois da resposta da IA e antes do envio.
Na dúvida, uma pessoa
Se a IA falha, responde fora do formato ou fica insegura, a conversa vai para alguém. Nenhum lead fica sem resposta.
Resultado
Pronto e funcionando em modo de simulação, com quase 400 testes automatizados. Falta o que não depende do código: o número oficial do WhatsApp aprovado, o acesso ao CRM e o aval jurídico do cliente.
O que eu levei disso
Num projeto de IA, a maior parte do trabalho não é a IA: são as regras, as permissões, a agenda e o que fazer quando algo dá errado.
Links
Projeto privado de cliente: sem demonstração ou código público.