Lifecycle
Two paths through it:
draft→sending→completed,failed, orstoppeddraft→scheduled→sending→ …
- Scheduling requires a
scheduled_attimestamp - Recipients can only be added or cleared while
draftorscheduled - Cancelling only works while
scheduled, and returns the broadcast todraft - Stopping only works while
sending. Pending recipients stay pending and are not sent
Add recipients
Two ways, and they produce the same result:CSV upload
Upload a spreadsheet in the dashboard. No code.
Broadcasts API
Create and send programmatically.
Metrics
Every broadcast exposes running counts:
Per-recipient status, timestamps, and error messages are available through List individual recipients.

