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

> ## Agent Instructions
> This handbook preview targets personal CLI 0.11.1. Check installed command help and the matching backend schema before using examples with another release. Examples with named people and placeholder IDs are fictional.

# Email originals and drafts

> Search Gmail threads, read complete evidence, and distinguish a saved draft from a sent message.

Email search finds a live Gmail thread, not a saved knowledge page. Its result is a short lead to an original. Carry the returned account and thread `reference.external_id` into the read; never substitute a message ID or another account's label. These examples use fictional correspondents and returned-ID placeholders:

```sh theme={"theme":{"light":"github-light","dark":"vesper"}}
almanac email search "Meridian Labs proposal" --from sam@example.com --account work@example.com
almanac email read THREAD_ID --account work@example.com
```

Search text is a literal phrase, not Gmail query syntax. Use repeated `--from` or `--to` for address filters, `--folder inbox --unread` for unread inbox mail, and offset-bearing `--after` (inclusive) / `--before` (exclusive) for time. Without `--account`, search returns separate account pages. Keep each page's original filters and account when using `--cursor`; even an empty filtered page may have a continuation.

A thread read may also have `next_cursor`: follow it to read remaining messages. Inspect each message's `body_complete` before claiming its text is complete. `body_complete: false` may mean a separate MIME body part or fallback text; another thread page does not repair that message body. Attachments here are metadata, not downloaded bytes. If exact body or attachment content matters, inspect an available original-content capability or viewer and state what remains unavailable. Reading does not mark mail as read. To turn an actual thread into durable evidence, [register its original as a source and cite it](/concepts/sources-pages-and-citations); a source locator does not copy the thread.

Native drafts are a separate state and ID:

```sh theme={"theme":{"light":"github-light","dark":"vesper"}}
almanac email drafts list --account work@example.com
almanac email drafts read DRAFT_ID --account work@example.com
almanac email drafts create --account work@example.com --to sam@example.com --subject "Meridian Labs follow-up" --body-file reply.txt --request-key meridian-draft-1
almanac email drafts send DRAFT_ID --account work@example.com --request-key meridian-send-1
```

Creating a draft saves it without sending. Read or send using the returned native **draft** ID, which differs from its nested message ID. Sending consumes that draft; there is no owned draft-update command. A reply draft can use `--thread THREAD_ID`. Creating, deleting, and sending are external actions; after a lost response, [look up the saved action receipt](/integrations/actions) before deciding whether anything more is needed. In a chat where `show_widget` is available, an email-thread card can let the person open the original; the card is a presentation choice, not proof that every message body was read.
