Agente financeiro para WhatsApp com Google ADK (Python) e Google Sheets.
- Recebe mensagens tipo "gastei 50 reais com um bolo" e registra na planilha.
- Consulta historico ("quanto gastei em janeiro?").
- Recebe nota fiscal (imagem) e extrai texto com Gemini multimodal.
- Python 3.10+
- Conta Google Cloud com Service Account habilitada para Google Sheets
- API key do Gemini
- Copie
.env.examplepara.enve preencha:GOOGLE_API_KEYGOOGLE_SHEETS_IDGOOGLE_SHEETS_CREDENTIALS_FILE(ouGOOGLE_SHEETS_CREDENTIALS_JSON)ADK_REQUEST_STYLE(usecamelousnakedependendo do seu ADK)
- Crie uma planilha no Google Sheets e compartilhe com o email da Service Account.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt.\scripts\run_api_server.ps1.\scripts\run_webhook.ps1POST http://localhost:8080/webhook/whatsapp
{
"user_id": "5511999999999",
"text": "gastei 50 reais com um bolo",
"image_url": null,
"image_base64": null,
"mime_type": null,
"timestamp": "2026-01-28T11:25:00-03:00"
}Header:
x-webhook-token: <WEBHOOK_TOKEN>
- O provedor do WhatsApp esta como placeholder. Basta trocar o parser em
webhook/providers/. - O ADK usa o agente definido em
finance_agent/agent.py. - O webhook envia o texto extraido da nota fiscal para o agente (via ADK).
- Integrar um provedor real de WhatsApp (ex: Meta Cloud API, Twilio, Z-API) e implementar o envio da resposta.
- Criar a planilha no Google Sheets e compartilhar com a Service Account.
- Ajustar o modelo do ADK se a API tiver formato diferente de request/response.
- Deploy/infra (ngrok ou dominio com HTTPS) para expor o webhook.