CRM simples no WhatsApp com Python e Hermes Agent

📅 19 Aug 2026 📖 7 min de leitura 🏷️ Empresas ✍️ Marcus

A caixa de entrada do WhatsApp do teu negócio pode transformar-se num caos diário: pedidos de orçamento, dúvidas de clientes, confirmações de encomendas e mensagens de fornecedores a misturar-se numa só conversa. Sem um sistema para organizar e seguir cada contacto, informações importantes perdem-se e oportunidades escapam.

Combinando a simplicidade da linguagem Python com o poder do Hermes Agent, podes estruturar um CRM prático e automatizado no WhatsApp. Neste artigo, explicamos como criar uma solução que etiqueta conversas, regista notas importantes de forma automática, agenda acompanhamentos (follow-ups) e gera relatórios claros para a tua equipa.

Porquê construir um CRM no WhatsApp com o Hermes Agent?

O WhatsApp é o canal de comunicação preferido pela grande maioria dos clientes. Contudo, a interface padrão da aplicação não foi pensada para gerir pipelines de vendas nem o ciclo de vida do cliente. É aqui que entra a automação inteligente:

  • Etiquetagem automática: Identificação instantânea da fase em que o cliente se encontra (ex.: Lead, Aguarda Proposta, Cliente Ativo).
  • Histórico centralizado e notas: O Hermes Agent lê a conversa e extrai resumos ou pedidos específicos, registando-os na base de dados sem intervenção manual.
  • Acompanhamento rigoroso: Definição de alertas para lembretes de follow-up e datas de contacto.
  • Relatórios executivos: Geração de resumos diários ou semanais com as métricas essenciais das tuas interações.

Arquitetura do Sistema

A arquitetura desta solução é leve e eficiente. Utilizamos o Python para interagir com uma base de dados local (SQLite) e gerir o fluxo de dados, enquanto o Hermes Agent atua como a inteligência central encarregada de interpretar o texto das conversas, classificar o estado do cliente e invocar as rotas necessárias para guardar a informação.

Passo a Passo: Construir o CRM no WhatsApp

Passo 1: Instalação do Hermes Agent e preparação do ambiente

Para começar, instala o Hermes Agent no teu ambiente de trabalho ou servidor. O assistente funciona em macOS, Linux e Windows.

Em macOS e Linux, executa o comando oficial de instalação no terminal:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Se estás a utilizar o Windows no PowerShell, o comando correspondente é:

iex (irm https://hermes-agent.nousresearch.com/install.ps1)

Após a instalação, confirma que o agente está operacional e verifica a lista de skills disponíveis:

hermes skills list

Passo 2: Criar o script de gestão de dados em Python

Vamos criar o ficheiro crm_manager.py. Este script serve de conector para armazenar e consultar a informação dos contactos na base de dados SQLite.

import sqlite3
from datetime import datetime

def init_db():
    conn = sqlite3.connect("whatsapp_crm.db")
    cursor = conn.cursor()
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS clientes (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            telefone TEXT UNIQUE,
            nome TEXT,
            etiqueta TEXT,
            notas TEXT,
            ultimo_contacto DATETIME,
            proximo_followup DATE
        )
    ''')
    conn.commit()
    conn.close()

def registar_ou_atualizar_cliente(telefone, nome, etiqueta, nota, followup):
    conn = sqlite3.connect("whatsapp_crm.db")
    cursor = conn.cursor()
    
    agora = datetime.now().isoformat()
    
    cursor.execute('''
        INSERT INTO clientes (telefone, nome, etiqueta, notas, ultimo_contacto, proximo_followup)
        VALUES (?, ?, ?, ?, ?, ?)
        ON CONFLICT(telefone) DO UPDATE SET
            nome=COALESCE(EXCLUDED.nome, clientes.nome),
            etiqueta=EXCLUDED.etiqueta,
            notas=clientes.notas || '\n[' || EXCLUDED.ultimo_contacto || '] ' || EXCLUDED.notas,
            ultimo_contacto=EXCLUDED.ultimo_contacto,
            proximo_followup=EXCLUDED.proximo_followup
    ''', (telefone, nome, etiqueta, f"[{agora}] {nota}", agora, followup))
    
    conn.commit()
    conn.close()

def listar_clientes():
    conn = sqlite3.connect("whatsapp_crm.db")
    cursor = conn.cursor()
    cursor.execute("SELECT telefone, nome, etiqueta, notas, proximo_followup FROM clientes")
    registos = cursor.fetchall()
    conn.close()
    return registos

if __name__ == "__main__":
    init_db()
    print("Base de dados do CRM no WhatsApp inicializada com sucesso.")

Este script cria a tabela de clientes, lida com atualizações automáticas de registos sem duplicar contactos e acumula o histórico de notas com data e hora.

Passo 3: Criar a Skill personalizada do Hermes Agent

O Hermes Agent utiliza ficheiros no formato SKILL.md para executar tarefas específicas. Vamos criar a diretoria da skill e definir o ficheiro de configuração.

Cria o ficheiro ~/.hermes/skills/crm-whatsapp/SKILL.md com a seguinte estrutura oficial:

---
name: crm-whatsapp
description: Analisa conversas do WhatsApp, atribui etiquetas, regista notas de atendimento e agenda follow-ups no CRM.
author: MarctechJA
version: "1.0"
platforms:
  - macos
  - linux
  - windows
metadata:
  hermes:
    tags: [crm, whatsapp, python, automacao]
---

# CRM WhatsApp Assistant

Esta skill permite ao Hermes Agent analisar o conteúdo de mensagens e conversas recebidas via WhatsApp, extrair informações relevantes do cliente e registá-las na base de dados SQLite local através do script Python.

## When to Use
Utilize esta skill sempre que precisar de:
- Processar o texto de uma nova conversa do WhatsApp.
- Etiquetar um cliente conforme a sua intenção de compra.
- Registar notas de reunião ou pedidos de orçamento.
- Agendar datas de acompanhamento (follow-up).

## Instruções
1. Analise o texto da mensagem fornecida e extraia o número de telefone, o nome do contacto (se disponível) e o ponto principal da conversa.
2. Determine a etiqueta adequada entre: `Novo Lead`, `Orcamento Solicitado`, `Aguardar Resposta` ou `Venda Concluida`.
3. Identifique se existe a necessidade de um follow-up e defina uma data estimada no formato AAAA-MM-DD.
4. Execute o script `crm_manager.py` invocando a função de registo de clientes com os parâmetros extraídos.
5. Retorne um resumo estruturado e profissional da operação realizada.

## Critérios de conclusão
- O contacto foi registado ou atualizado com sucesso na base de dados.
- As etiquetas e notas foram atribuídas corretamente.
- Foi emitido um resumo claro das ações executadas para o utilizador.

Passo 4: Executar a automação com o Hermes Agent

Com a skill configurada, podes iniciar uma sessão interativa no Hermes Agent para processar conversas recentes. Executa o comando:

hermes chat -s crm-whatsapp

No chat interativo, podes simplesmente colar o registo de uma conversa do WhatsApp:

Olá, o meu nome é João Silva (912345678). Gostava de pedir um orçamento para 10 unidades do vosso produto. Podem ligar-me na próxima terça-feira?

O Hermes Agent analisa o texto, invoca a função de registo Python e responde instantaneamente:

Cliente registado com sucesso!
- Nome: João Silva
- Telefone: 912345678
- Etiqueta: Orcamento Solicitado
- Nota: Solicitou orçamento para 10 unidades do produto.
- Follow-up agendado: 2026-08-25

Geração de Relatórios e Acompanhamento

Para além do registo individual, podes pedir ao Hermes Agent para consultar a base de dados através da skill e gerar relatórios executivos das vendas. Pedidos como "Lista todos os clientes com etiqueta 'Orcamento Solicitado' e indica os follow-ups pendentes para esta semana" são processados em segundos, mantendo a tua equipa focada nas vendas e não em tarefas administrativas penosas.

Conclusão

Criar um CRM simples para o WhatsApp utilizando Python e o Hermes Agent é uma excelente forma de profissionalizar o atendimento do teu negócio sem custos excessivos nem soluções sob medida complexas. Ganhas controlo sobre os leads, garantes que nenhum contacto fica esquecido e manténs o histórico da empresa devidamente organizado.

Se queres aprofundar o teu conhecimento sobre a criação de skills avançadas, integração com APIs e automação de processos de negócio, consulta o Guia Completo do Hermes Agent para aceder a exemplos práticos e guias passo a passo detalhados.

Comentários