Visão geral de Agendamento
A página Agendamento (/schedule) consolida dois tipos de envios futuros em uma única visão:
- Conteúdos agendados (criados via biblioteca
/content) - Campanhas agendadas (WhatsApp e Email, criadas em
/campaigns/newou/campaigns/new-email)
Filtros
- Tipo: Todos · Conteúdo · Template/Campanha
- Status: Aguardando · Enviando · Concluído · Falhou · Cancelado
Cancelar
Itens com status Aguardando podem ser cancelados pelo botão Cancelar. Itens já em Enviando precisam ser pausados/cancelados na respectiva tela (Campanha > Pausar; Conteúdo já parte para fila e não é cancelável após o início).
Como agendar
- 1Conteúdo: em
/content> Enviar > marque "Agendar" - 2Campanha WhatsApp: em
/campaigns/new> defina data + horário antes de criar - 3Campanha Email: em
/campaigns/new-email> defina data + horário antes de criar - 4Disparo Novo: botão + Novo Envio na tela de Agendamento abre o diálogo de criação rápida
Como funciona por baixo
- Scheduler interno (
whatsapp-service/src/lib/scheduler.ts) faz polling a cada 60s - Quando
next_run_at <= now, o item é enfileirado no BullMQ - Workers processam respeitando rate-limit do canal (10/s para email, configurável para WA)
Boas práticas
- Não agende muito próximo do horário atual — o scheduler pode levar até 60s para detectar; agende com ≥ 2 minutos de antecedência.
- Considere fuso horário — o agendamento usa o timezone configurado no tenant. Confirme em
/settings. - Para envios recorrentes, use Automações Agendadas (
flow_type = 'scheduled') em vez de agendar manualmente.