Enable Scheduling in the App
- Compose a campaign → Review
- Check “Send later” and pick a local date/time
- Click “Schedule Campaign”
scheduled and appears in your Campaigns list.
Wire the Scheduler to Your Cron
- Endpoint:
GET /api/scheduler/run - Auth: header
X-Cron-Secret: <CRON_SECRET>
How It Works
- The scheduler lists campaigns with status
scheduledwhosescheduledAt≤ now and sends them using your active sender profile and policies. - Guardrails (warm‑up caps, complaint/delivery thresholds for bulk) still apply.
Troubleshooting
- “Nothing processed”: ensure
CRON_SECRETmatches your server env and your cron actually hits the endpoint. - “Domain not verified”: complete domain verification under Domains before scheduling.
