# Inbox

Inbox is an email-triage workspace that connects your mailbox, classifies and tags incoming email, and drafts AI replies in your voice for you to review before anything is sent.

---

## What Is Inbox?

Inbox is a built-in Insulin app pinned to the desktop Dock. Once you connect a mailbox, Insulin watches for incoming email and runs each message through a classification pipeline that tags it and — when a rule matches — drafts a reply written in your learned voice. Drafts land in an **Approvals** queue where you read, edit, and send them.

The whole feature is built around one safety promise:

:::warning
**Insulin never sends email on its own.** Every AI-generated reply waits in the Approvals queue until you review it, and pressing **Send** requires a separate confirmation step because sending cannot be undone. The only exception is an **auto-send rule** — a rule you explicitly author that authorizes sending without review. Nothing sends automatically unless you have created such a rule yourself.
:::

:::info
Inbox supports **Gmail** today. **Outlook** is planned but not available as of July 2026 (no target date committed) and cannot be connected yet.
:::

<!-- screenshot needed: The Inbox app — left nav (Today, Approvals, Executions, Settings), the Today surface with its tag bar, email list, email detail pane, and the right-rail AI chat sidebar (app-only) -->

## Opening the Inbox App

Open Inbox from the **Inbox** tile pinned to the desktop Dock, or from the app launcher. Like other workspace apps it opens as a resizable window. A left sidebar navigates between the daily-action surfaces — **Today**, **Approvals**, **Executions** — and a collapsible **Settings** group containing **Rules**, **Account**, **Tag taxonomy**, and **Privacy & data**.

## Connecting a Mailbox

Open **Settings → Account** to connect a mailbox. Inbox does not run its own OAuth flow — it reuses the connection you set up under Integrations.

There are two paths to enabling Inbox for Gmail:

1. **Gmail already connected** — If you have already connected Gmail through Integrations, the card shows an **Enable Inbox for Gmail** button. Clicking it health-checks your access, registers the mailbox webhook, seeds your tag taxonomy, and starts building your [voice profile](#voice-profile).
2. **Gmail not connected yet** — The card shows a **Connect Gmail** link that takes you to **Settings → Integrations**, where the standard Gmail connection lives. Once connected, return to this page and click **Enable Inbox for Gmail**.

:::info
Only **one** email provider can be connected to Inbox at a time. While Gmail holds the slot, other providers cannot be connected until you disconnect it first.
:::

Gmail is connected under **Settings → Integrations** like any other Insulin integration — see [Getting Started](./1.getting-started.md) for how personal connections work and where Inbox sits in the Insulin desktop. The AI chat sidebar throughout Inbox is a scoped [Chat](./2.chat.md) panel.

### Account Lifecycle

The Account page exposes three controls with distinct effects on your data:

| Action | What it does | Effect on your data |
|--------|--------------|---------------------|
| **Enable** | Turns Inbox on for the connected provider and starts processing incoming email. | — |
| **Disable** | Pauses Inbox — it stops receiving and processing any new email. | Emails already in **Today**, **Approvals**, and **Executions** are **kept**. Re-enable anytime. |
| **Disconnect** | Immediately deletes every email record Insulin has stored. | Deletes **all** Today, Approvals, and Executions content right away. Your **actual mailbox is not touched**. This **cannot be undone**. |

:::warning
**Disconnect is destructive.** It permanently removes Insulin's copies of your triaged email. It does not delete or modify anything in your real Gmail mailbox, but the classifications, tags, drafts, and history inside Insulin are gone and cannot be recovered.
:::

<!-- screenshot needed: Settings → Account — the Gmail provider card in the "Inbox enabled" state, the Outlook "P2 — coming soon" card, and the Voice profile card showing a built profile summary (app-only) -->

## Today

**Today** is your working surface for incoming email. It has a tag bar across the top and three panes: an email list, an email detail pane, and the AI chat sidebar.

- **Tag bar** — Filter the list by tag. **Todo** is the built-in tag that ships with Inbox; add your own with **+ Add custom tag**. Tags are managed under [Tag taxonomy](#tag-taxonomy).
- **Email list** — The messages carrying the selected tag.
- **Email detail** — The selected email, with an action bar: **Reply**, **AI**, **Discard**, and **More** (Reply all / Forward). If an AI draft already exists for the email, **Reply** takes you straight to that draft in Approvals; otherwise it opens a reply composer. **AI** asks the chat sidebar about the open email.
- **AI chat sidebar** — A [Chat](./2.chat.md) panel scoped to Inbox. The **AI** buttons throughout Inbox prefill it with the email you are looking at.

:::info
Email bodies are fetched live from your provider each time you open a message and are **not stored** by Insulin. Only the classification metadata (subject, sender, tags, and any AI draft) is retained.
:::

## Approvals

**Approvals** is the queue of AI-generated reply drafts waiting for your review. Selecting a draft opens it in a Gmail-style compose pane where the reply **body is inline-editable** — edits save automatically when you click away from the field. The subject is shown as read-only context, since a reply stays on the original email thread. Use the search box to fuzzy-search the queue.

The action bar offers:

| Action | What it does |
|--------|--------------|
| **Send** | Sends the reply (see the confirmation step below). |
| **Save** | Persists your edits to the draft without sending. |
| **Discard** | Drops the draft; the email journey moves to Executions. |
| **AI** | Asks the chat sidebar about this email. |
| **More** | Reply all. |

**Sending is a two-step gesture.** Clicking **Send** opens a **"Send this reply?"** confirmation dialog, and you must confirm there before the reply actually goes out. This second step exists because sending is irreversible — there is no unsend or recall.

<!-- screenshot needed: The Approvals queue with an AI-generated draft open — inline-editable reply body (subject shown as read-only thread context), the Send / Save / Discard / AI / More action bar, and the two-step "Send this reply?" confirmation dialog (app-only) -->

## Executions

**Executions** is a read-only archive of finished draft journeys — a record of what happened to every AI draft. Filter it with the pills across the top:

| Filter | Shows |
|--------|-------|
| **All** | Every finished journey |
| **Sent** | Drafts you approved and sent |
| **Discarded** | Drafts you discarded |
| **No action** | Emails that finished with no reply action |

Discarded entries offer an **Undo discard** so you can recover a draft you dropped by mistake.

## Rules

Rules control what happens to incoming email — which messages get an AI draft, which are auto-sent, and what context the AI pulls in. Open **Settings → Rules** to view, create, and edit them.

Each rule is edited as a workflow of stacked sections:

- **Describe your rule** — A plain-English box where you type what the rule should do. Click **Generate** and Insulin synthesizes the structured fields below from your description. After editing the structured fields, **Re-generate** rewrites the description to match. You can work from either side.
- **Trigger** — The source that fires the rule. Only **Email** is selectable as of July 2026; other sources (CRM, calendar, and similar) render disabled with a "coming soon" label and no committed date.
- **Filter** — A natural-language condition describing which emails the rule applies to, for example `only emails from stripe.com`. **Leave it empty to match every email.**
- **Context sources** — The connected integrations the AI may pull context from when it drafts a reply. These come from the integrations you have connected.
- **Generation** — What the rule produces (a reply email today), plus optional **Inclusions** and **Exclusions** — points the AI should or should not mention.
- **Destinations** — Where the result goes (see below).

Each rule also has an **Enable** toggle and, for custom rules, a **Delete** action.

:::info
Inbox ships one **built-in rule**, the default reply-draft rule. Its structured fields are locked — only its **Enable** toggle is saved. To build something different, create a new rule from a blank form.
:::

<!-- screenshot needed: The Rules editor — the plain-English "describe your rule" box with Generate, the Trigger source dropdown, the Filter field, Context sources, and the three Destination cards including the "no human review" auto-send warning (app-only) -->

### Destinations

Every rule routes its outcome to one or more of three destination cards:

| Destination | What it does |
|-------------|--------------|
| **Email drafts → Approvals queue** | The safe default. The AI drafts a reply and lands it in Approvals for you to review, edit, and send. |
| **Slack notification** | Not available as of July 2026 — the option renders but cannot be turned on, and no date is committed. |
| **Email auto-send** | Sends the AI draft **directly, with no Approvals step and no human review**. |

**Email drafts** and **Email auto-send** are **mutually exclusive** — a rule uses one or the other, never both. Slack notification is independent and can combine with either.

:::warning
**Email auto-send skips human review entirely.** A rule with this destination sends replies straight to recipients. You can optionally provide a fixed **canned reply** that is sent verbatim on every matching email; if you leave that unchecked, the AI writes a fresh reply per email in your voice — still with no review. Use this destination deliberately.
:::

### Voice Profile

Insulin learns your writing style from your recent sent mail so AI drafts sound like you. The voice profile is shown on **Settings → Account** and is used **only** for draft generation — it never leaves your tenant.

The profile is built in one of three ways, and the card labels which:

- **Automatically at connect** — kicked off when you enable Inbox.
- **On first reply** — built lazily the first time a draft is needed.
- **Manual refresh** — use **Refresh voice profile** to rebuild it from your latest sent mail at any time.

The card shows the current state — **Building…**, **Built from N recent emails** (with a summary of your greeting, sign-off, register, and common openers/closers), or **Build failed** with a Refresh-to-retry prompt.

### Tag Taxonomy

Open **Settings → Tag taxonomy** to manage the tags Inbox applies to your email. Tags come in two kinds:

- **Built-in tags** are system-managed and read-only — the classifier keys on their id, so they cannot be renamed or deleted. **Todo** is the built-in tag.
- **Custom tags** have an editable **label** and **description**. The **description is the prompt the classifier reads** to decide whether to auto-apply the tag to incoming email, so describe the messages it should match specifically — vague descriptions produce false positives.

Create custom tags from the **+ Add custom tag** chip on the [Today](#today) tag bar; this page manages the ones that already exist.

:::warning
**Deleting a custom tag also strips it from every email that carries it** and stops the classifier from applying it to new email. This cannot be undone.
:::

## Knowledge Bases

Attach knowledge bases to Inbox and it will consult them while drafting replies — useful for product documentation, canned answers, or a support playbook, so drafts draw on your actual material instead of improvising.

Open **Settings → Account** and find the **Knowledge bases** section. Tick a knowledge base to use it when drafting; untick it to stop. The list shows every knowledge base you can reach, including organization ones shared with you. Leave everything unticked and drafts are written exactly as before, with no knowledge base context.

Inbox only ever **reads** a knowledge base — there is no Read/Edit choice here, and Inbox never adds to or changes one. (The built-in Insulin assistant has its own separate selection, which *can* be granted edit access — see [Knowledge Bases](./4.knowledge-base.md#choosing-which-knowledge-bases-insulin-uses).)

The attached knowledge bases are searched for both reply destinations — drafts that land in [Approvals](#approvals) and rules that auto-send. The one exception is a rule with pinned canned text: that text is sent verbatim without involving the model, so no knowledge base is consulted.

| Limit | Value |
|-------|-------|
| Knowledge bases you can attach | Up to 100 |
| Knowledge bases searched per draft | The first 3 you still have access to, in the order you saved them |
| Passages taken from each knowledge base | Up to 4 |

:::info
Knowledge base lookup is best-effort. If a search fails or runs long, Inbox still writes the draft — just without the extra context. Access is re-checked every time, so a knowledge base you lose access to is silently skipped.
:::

<!-- screenshot needed: Settings → Account — the Knowledge bases section with per-knowledge-base checkboxes and descriptions (app-only) -->

## Privacy & Data

The **Settings → Privacy & data** surface is a placeholder — as of July 2026, per-org data residency, retention controls, disconnect-and-purge, and audit-log download are **not available**, and no date is committed. For now, the data controls you need are on the [Account](#account-lifecycle) page (Disable and Disconnect).

## Use Cases

- **Never miss a to-do** — Let the classifier tag action items so your **Todo** view surfaces what needs a reply.
- **Faster replies in your voice** — Approve AI-drafted replies that already sound like you instead of writing from scratch.
- **Hands-off acknowledgements** — Author an auto-send rule with a canned reply to acknowledge a specific class of email automatically.
- **Grounded drafts** — Add context sources to a rule so replies can reference your connected tools.
