Batch Send drafts & history
The Messages → Batch SMS wizard has a management surface most operators never find: Batch Send drafts & history at/messages/batch/drafts. It lists every draft you saved in the wizard — with resume, rename, and delete — and every batch your organization already sent, so closing the wizard mid-flow never strands work. The wizard links to it from its header and breadcrumb, and the Batch SMS guide covers the sending flow itself.
1. What the page answers
Two questions, one screen:- What did I save, and can I pick it back up? A Saved drafts list with each draft’s name (rename inline), reference, created and last-updated times, recipient count, message mode, and sender. Resume it into the wizard or delete it here.
- What did I already send, and how did it go? A Sent batch history panel listing the most recent batches with state (Scheduled / Completed / Failed), channel, recipient count, failed count, sender, and submission time — each row deep-links to the audit log for the full trail.
2. Draft lifecycle
Drafts exist only in your browser’s local storage — no server round-trip — keyed by your active organization, so switching organizations never exposes another company’s drafts and never loses yours to a refresh.- Save. Step 1 of the wizard offers Save draft. Saving stores the recipient input, the shared template (or per-row mode), the sender, and the chosen scheduled time under the active organization. Saving while working on an already-resumed draft updates that same draft in place instead of duplicating it.
- Resume. From the drafts & history page, Resume routes into the wizard with the draft’s id, which re-parses the saved recipients so the wizard’s own validation decides what is actually sendable — a stale recipient count in the list is display-only and never affects the send.
- Expire. A draft untouched for 30 days is evicted automatically. At most ten drafts are kept per organization; when a save would exceed that, the oldest are dropped.
3. Sent batch history vs campaign analytics
The history panel is sourced from your audit log — one entry per batch send — so it answers what happened to a specific send: its outcome counters and the operator who submitted it, with a link into the full audit trail for per-row detail. The ten-most-recent view is a discoverability surface; the complete ledger stays in Settings → Audit log. That is a different read than Insights → Analytics, which aggregates engagement across campaigns. Use the history page when you need “did that batch go, and what came back”; use campaign analytics when you need to compare campaigns or trend a window.4. Who can see it
The page is gated to owner, admin, and developer roles — the same roles that can build and send a batch in the wizard. Operators in member roles never reach it, matching the wizard’s own gate.5. What resume re-validates
A draft preserves what a batch needs to be finished: the raw recipient input (paste or CSV text), the shared template or per-row mode, the sender, and the scheduled time when one was set. On resume the wizard re-runs its own checks — recipient parsing, E.164 validation, deduplication, segment accounting, destination resolution, and the cost estimate — before review. The recipient count shown in the list is a save-time summary; the authoritative set is re-parsed from the saved input, so a stale figure in the list never sends. Per-organization isolation also applies here: the privacy sweep that clears cross-organization browser state keeps exactly the active organization’s draft store, and each saved draft carries its own stable id across resume → edit → save rounds.See also
- Batch SMS: one-off multi-recipient sending — the wizard this page manages drafts and history for
- Schedule one-off sends with
scheduled_at— recurring vs one-off scheduling semantics - Send a campaign end-to-end — audiences, dry-run, and analytics for recurring sends