> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch Send drafts & history: resume, delete, and review sent batches

> The Batch Send drafts & history page — find, resume, rename, and delete saved batch drafts, and review every batch your organization already sent, with the role gate that matches the wizard.

# 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](/guides/messages-batch-sms) 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.

The **New batch** button starts a fresh wizard from either end of the page when the list is empty.

## 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](/insights/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](/guides/messages-batch-sms) — the wizard this page manages drafts and history for
* [Schedule one-off sends with `scheduled_at`](/guides/message-scheduling) — recurring vs one-off scheduling semantics
* [Send a campaign end-to-end](/guides/campaign-end-to-end) — audiences, dry-run, and analytics for recurring sends


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.