# /today - Checkup Diário Executa o checkup diário completo seguindo estes passos: ## Passo 1: Verificar Última Execução ``` Usar mcp__memory-supabase__search_memories com query "today checkup YYYY-MM-DD" Se já existe entrada de hoje → perguntar se quer executar novamente ``` ## Passo 2: Recolher Dados do DeskCRM ### 2.1 Tickets ``` mcp__desk-crm-v3__get_tickets: - date_from: ontem (YYYY-MM-DD) - status: 1 (Aberto) ou 2 (Em Progresso) - limit: 50 Identificar: - Tickets urgentes (priority: 3 ou 4) - Tickets de clientes importantes ``` ### 2.2 Tickets SPAM → FECHAR AUTOMATICAMENTE ``` ⚡ ACÇÃO AUTOMÁTICA - Fechar SEM intervenção manual Padrões de SPAM: - "Guest Post", "SEO services", "backlinks", "partnership" - "link building", "dofollow", "collaboration opportunity" - "Boas Festas", "Season's Greetings", "Termos de Serviço" - Remetentes: noreply@*, no-reply@* (se não for serviço conhecido) Se SPAM detectado → FECHAR IMEDIATAMENTE: mcp__desk-crm-v3__close_ticket: - ticket_id: {ID} - message: "Fechado automaticamente - SPAM" Registar no relatório: "🗑️ SPAM fechado: #{ID} - {Assunto}" ``` ### 2.3 Tickets para ELIMINAR (notificações sem valor) ``` Verificar se assunto contém: - "Your Elastic Email Account was successfully re-charged" - "Account re-charged" - "Auto-recharge successful" - "Credit added to your account" - "[BOT] Ativação realizada com sucesso" - "[BOT] Activation successful" Se SIM → Eliminar: mcp__desk-crm-v3__delete_ticket: - ticket_id: {ID} - confirm: true - reason: "Notificação automática sem valor contabilístico" ``` ### 2.3 Processamento Automático: Tickets de PAGAMENTOS ``` Para cada ticket aberto, verificar se assunto contém: - "payment", "pagamento", "pago", "paid" - "invoice", "factura", "fatura", "recibo" - "successfully processed", "confirmado" - "subscription", "renewed", "renewal" - "account funded", "has been funded" - "Envio de Fatura Eletrónica" Se SIM → Verificar remetente: A) Remetente CONHECIDO (lista abaixo): ⚡ ACÇÃO AUTOMÁTICA - Executar SEM intervenção manual: 1. Mover para Contabilidade: mcp__desk-crm-v3__update_ticket({ ticket_id: ID, department_id: 3 }) 2. FECHAR o ticket: mcp__desk-crm-v3__close_ticket({ ticket_id: ID, message: "Fatura processada - Contabilidade" }) 3. Registar: "💰 Contabilidade + Fechado: #{ID} - {Assunto}" B) Remetente DESCONHECIDO: → Avaliar indicadores de spam/phishing → LISTAR no relatório para revisão manual Indicadores de SPAM: - Remetente pessoal (gmail/hotmail) + factura empresarial - Erros ortográficos, MAIÚSCULAS, urgência exagerada - Domínio suspeito (muitos números, extensões estranhas) - Sem número de factura/referência Output no relatório: - [SPAM?] #ID - Assunto - remetente@suspeito.com - [NOVO?] #ID - Assunto - remetente@empresa.com (possível novo serviço) ``` > [!warning] NUNCA eliminar automaticamente remetentes desconhecidos > Podem ser novos serviços. Sempre pedir confirmação manual. **Remetentes CONHECIDOS (whitelist):** ``` Domínios confiáveis: - @elasticemail.com - @hetzner.com, @hetzner.de - @centos-webpanel.com, @control-webpanel.com - @canva.com - @meo.pt, @altice.pt, @documentos.meoempresas.pt - @cloudflare.com - @github.com - @google.com - @microsoft.com - @adobe.com - @figma.com - @notion.so - @openai.com, @email.openai.com - @anthropic.com - @openrouter.zendesk.com - @stripe.com - @paypal.com - @wise.com - @revolut.com - @bancobpi.pt ``` Ver lista completa de remetentes e indicadores: `config/email-triage-rules.md` ### 2.2 Projectos com Deadline ``` mcp__desk-crm-v3__get_projects: - status: 2 (Em Progresso) - Filtrar: deadline esta semana ``` ### 2.3 Tarefas Pendentes (OBRIGATÓRIO - sempre incluir) ``` # Buscar TODAS as tarefas pendentes mcp__desk-crm-v3__get_tasks({ status: 1, limit: 50 }) # Não iniciadas mcp__desk-crm-v3__get_tasks({ status: 4, limit: 50 }) # Em curso mcp__desk-crm-v3__get_tasks({ status: 2, limit: 50 }) # Aguarda feedback mcp__desk-crm-v3__get_tasks({ overdue_only: true }) # Vencidas # Organizar por: # 1. Prioridade (4=Urgente, 3=Alta, 2=Normal, 1=Baixa) # 2. Deadline (vencidas primeiro) # 3. Projecto (agrupar) # Formato output: ### 🔴 URGENTES (Prioridade 4) | ID | Tarefa | Projecto | Deadline | Tempo Est. | |----|--------|----------|----------|------------| ### 🟠 ALTA (Prioridade 3) ... ``` ### 2.4 Verificar Estimativas de Tempo ``` Para cada tarefa importante, verificar se tem estimativa: mcp__desk-crm-v3__get_task_time_estimates({ task_id: X }) Se não tem → sugerir definir: mcp__desk-crm-v3__set_task_estimated_time({ task_id: X, estimated_hours: Y, estimated_minutes: Z, notes: "Estimativa" }) ``` ## Passo 3: Gestão de Emails (MCP IMAP) ### 3.1 Listar contas disponíveis ``` imap_list_accounts # Verificar que todas as 12 contas estão acessíveis ``` ### 3.2 Para CADA conta, processar emails ``` Contas: emanuel, it, help, suporte, contabilidade, financeiro, info, rh, mkt, design, news, aiktop Para cada conta: 1. imap_list_emails(account, folder="INBOX", limit=50) 2. Classificar cada email: SPAM (eliminar): - Subject contém: "lottery", "winner", "urgent money" - Remetente em blacklist conhecida - Caracteres estranhos no subject → imap_delete_email(account, uid) PROMOCIONAL (arquivar): - Subject contém: "newsletter", "promo", "desconto", "oferta" - Remetente: *@marketing.*, *@news.*, *@promo.* - Headers: List-Unsubscribe presente → imap_move_email(account, uid, "Promotions") FACTURA PAGA (reencaminhar): - Subject contém: "factura", "invoice", "recibo", "pagamento" - Subject contém: "pago", "paid", "confirmado" - Anexos PDF com padrão de factura → Registar para reencaminhar para contabilidade@descomplicar.pt PRIORITÁRIO (listar): - Remetente: cliente conhecido (verificar DeskCRM) - Subject contém: "urgente", "urgent", "problema", "erro" - Resposta a thread existente → Incluir no relatório diário ``` ### 3.3 Resumo de acções ``` Contabilizar: - X emails eliminados (spam) - Y emails arquivados (promocionais) - Z facturas para contabilidade - W emails prioritários pendentes ``` ## Passo 4: Calendário (opcional) ``` # Se MCP Google Calendar disponível: # google_calendar_list_events(date=today) # Por agora: Verificar agenda manualmente ``` ## Passo 5: Gerar Relatório Formatar output seguindo template: ```markdown ## 📅 Checkup Diário - YYYY-MM-DD (Dia da Semana) ### 🎫 Tickets (X abertos, Y urgentes) [Lista de tickets urgentes com [!]] [Lista de tickets abertos] ### 📧 Emails Prioritários [Quando disponível] ### 📆 Agenda de Hoje [Quando disponível] ### 🎯 Prioridades Sugeridas 1. [Baseado em urgência e deadlines] 2. [...] 3. [...] ### ⏰ Deadlines Esta Semana [Lista de projectos/tarefas com deadline] ``` ## Passo 6: SEGUNDA-FEIRA - Planeamento Semanal ``` Verificar dia da semana Se SEGUNDA-FEIRA: 1. RECOLHER TAREFAS DA SEMANA INTEIRA - Todas as tarefas pendentes (status 1, 2, 4) - Todas as tarefas vencidas - Filtrar: deadline até domingo - Incluir estimativas de tempo 2. RECOLHER CALENDÁRIO DA SEMANA mcp__google-workspace__get_events({ user_google_email: "emanuelalmeidaa@gmail.com", time_min: "YYYY-MM-DD" (hoje), time_max: "YYYY-MM-DD" (domingo), max_results: 50 }) 3. VERIFICAR ESTIMATIVAS DE TEMPO Para tarefas sem estimativa: - Sugerir tempo baseado no tipo - PERGUNTAR ao utilizador se correcto - Definir via set_task_estimated_time 4. PEDIR INDICAÇÕES AO UTILIZADOR Usar AskUserQuestion: - Disponibilidade semanal (horas) - Horários preferidos para foco - Prioridades especiais - Compromissos pessoais - Tarefas para delegar 5. DISTRIBUIR TAREFAS PELA AGENDA - Calcular capacidade vs carga - Distribuir por dia/horário - Criar eventos no calendário (opcional) - Alertar se capacidade excedida 6. OUTPUT: Planeamento Semanal - Tabela por dia com tarefas - Total horas por dia - Alertas de capacidade - Lista de delegações ``` ## Passo 7: Manutenção WordPress (se Sexta-feira) ``` Verificar dia da semana Se sexta-feira: - Listar os 10 sites da rede - Sugerir executar manutenção - Oferecer checkup de segurança ``` ## Passo 8: Resumo de Pendentes (do CRM) ``` 📊 RESUMO - Mostrar no relatório Os pendentes são obtidos directamente do Desk CRM (já recolhidos no Passo 2). NÃO há documento PENDENTES separado - os dados ficam no relatório diário. ### CATEGORIZAÇÃO Com base nos dados já recolhidos: - 🔴 Urgentes: priority = 4 - 🟠 Alta Prioridade: priority = 3 - 🟡 Vencidas: overdue_only = true - 🟢 Esta Semana: deadline dentro de 7 dias - 🎫 Tickets: status 1, 2 - 👤 Leads: status 7, 14 (Novos) - 📝 Propostas: status 4 (Para Fazer) ### FORMATO NO RELATÓRIO | Categoria | Qtd | |----|----:| | 🔴 Urgentes | X | | 🟠 Alta Prioridade | X | | 🟡 Vencidas | X | | 🎫 Tickets Abertos | X | | 👤 Leads Novos | X | ### LINKS CRM | Tipo | Formato Link | |------|--------------| | Tarefa | [#ID](https://desk.descomplicar.pt/admin/tasks/view/ID) | | Ticket | [#ID](https://desk.descomplicar.pt/admin/tickets/ticket/ID) | | Lead | [LID](https://desk.descomplicar.pt/admin/leads/index/ID) | ``` ## Passo 9: Criar Nota Diária no Obsidian ``` Criar ficheiro no vault Planeamento: - Path: /media/ealmeida/Dados/GDrive/Cloud/EAL/Planeamento/00-Inbox/ - Filename: YYYY-MM-DD-checkup.md - Content: Relatório com dados recolhidos Template: --- title: Checkup YYYY-MM-DD date: YYYY-MM-DD type: checkup status: active --- ## Checkup Diário - YYYY-MM-DD [Conteúdo do relatório] ⚡ LINKS CRM: Todas as tarefas com link directo - Formato: [#ID](https://desk.descomplicar.pt/admin/tasks/view/ID) Se segunda-feira: - Incluir secção "Planeamento Semanal" - Tabela com distribuição de tarefas por dia ``` ## Passo 10: Guardar em Supabase ``` mcp__memory-supabase__save_memory: - content: "Checkup diário executado - X tickets, Y tarefas, Z urgentes" - tags: ["today", "checkup", "YYYY-MM-DD"] - summary: "Checkup diário YYYY-MM-DD" - metadata: { tickets_count: X, tasks_count: Y, urgent_count: Z, is_monday: true/false, weekly_hours_planned: H } ``` ## Passo 11: Resumo Final Apresentar: - Métricas do dia - Top 3 prioridades recomendadas - Alertas importantes - Próximos passos sugeridos Se segunda-feira, adicionar: - Resumo do planeamento semanal - Capacidade vs carga - Tarefas delegadas - Alertas de sobrecarga