📄 Card 95: [M15] Follow-ups (último do marco)
Commits 28044bb 5d8134a.
Implementado
- Modelo
FollowUp: AGENDA | RETORNO | MENSAGEM + recurrenceHours (recorrente ♻) + recognition (lida) + withIntegration (n8n) + status AGENDADO/FEITO/ATRASADO/CANCELADO - Agenda de Contatos (
/atendimento/followups→ aba Agenda): mês corrente agrupado por dia com hora, tipo, nota e recorrência - Retornos: fila ordenada com ATRASADO automático (lazy), flag recorrente, concluir/cancelar
- Mensagens Programadas: tabela com Reconhecimento ✓ e Com integração ⚡
- Worker
followup-duea cada minuto (confirmado no Redis): MENSAGEM dispara WhatsApp e marca FEITO (falha → ATRASADO); RETORNO/AGENDA notifica o atendente; recorrente reagenda sozinho - KPI "Retornos" do inbox (card 81) agora conta pendências reais
Critérios
| # | Critério | Status |
|---|---|---|
| 1 | FollowUp AGENDA/RETORNO/MENSAGEM + recorrente + recognition + withIntegration | ✅ |
| 2 | Agenda calendário por dia | ✅ |
| 3 | Retornos: fila + coluna Recorrente | ✅ |
| 4 | Mensagens Programadas: Reconhecimento + Com integração | ✅ |
| 5 | Job por minuto + ATRASADO | ✅ |
| 6 | Contador Retornos no KPI do inbox | ✅ |
| 7 | E2E com disparo real | ⏳ QR WhatsApp |