Agendamento

Visualize e gerencie envios futuros (conteúdos e campanhas) num único calendário.

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/new ou /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

  1. 1Conteúdo: em /content > Enviar > marque "Agendar"
  2. 2Campanha WhatsApp: em /campaigns/new > defina data + horário antes de criar
  3. 3Campanha Email: em /campaigns/new-email > defina data + horário antes de criar
  4. 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.