# Follow-ups

A follow-up is a nudge draft on a thread where you wrote last and have
heard nothing back. Off by default; turn it on in **Preferences →
Features → Follow-ups** or `[followup]`.

## How a thread becomes due

Two ways, chosen by `mode`, and a thread is never nudged by both.

**Label mode (default).** You arm a thread yourself: reply, then add one
of the follow-up labels in Gmail, from any client on any device. The
interval comes from the label you picked:

| Label | Quiet days |
|---|---|
| `Follow up/3d` | 3 |
| `Follow up/1w` | 7 |
| `Follow up/2w` | 14 |

![Arming a thread: add a Follow up label in Gmail](images/gmail-label-menu.png)

The labels are created for you on first run, nested under "Follow up" in
Gmail's sidebar, so arming is one click in the label picker, and clicking
a label is your "waiting on them" list. Rename them, change the days, or
add your own (`"Chase/1m" = 30`) in the Preferences table or
`[followup.labels]`, up to eight.

Mapping a label you already use is safe: the first time a label is
scanned, every thread already carrying it is recorded and left alone.
Only threads you label from then on are armed.

**Time mode.** Every thread you reply to is nudged after `intervalDays`
(default 4) of silence. No labels needed; noisier.

**Both.** Labels arm threads with their own interval; everything else
follows the time rule.

## What happens when it is due

1. A judge decides whether a nudge is appropriate at all. It fails
   closed: when in doubt, nothing is drafted. A thread that already reads
   as resolved, ended with "thanks, got it", contains a hard no, a request
   to stop, or an out-of-office, gets no nudge.
2. A follow-up draft is written into the thread, in your voice, so it
   shows in Drafts on every client.
3. The thread gets the **Ready for follow-up** label (`readyLabel`), so
   every nudge waiting for your review is one click in Gmail's sidebar.
   Pending goes back on. INBOX is re-added only if the thread had been
   archived.
4. A notification tells you.

![A drafted nudge with the Ready for follow-up label](images/gmail-followup.png)

State is only ever added, never removed, so an archived thread resurfaces
without disturbing one you kept in the inbox.

## When the clock stops

- **They reply.** The pending nudge is cancelled and a stale draft is
  deleted. The ready label comes off.
- **You send anything on the thread.** Same.
- **The draft is swept by retention.** Same.
- **A time-based nudge finds the other party already wrote last** (for
  example through a filter that skipped the inbox). The clock clears.

A reply older than the nudge is not an answer to it: a mailbox restore or
a replayed backlog never strips the label by mistake.

## Options

| Setting | Default | Meaning |
|---|---|---|
| `maxFollowups` | 1 | Nudges per thread. A label means "remind me once"; raise it for a cadence |
| `scanMinutes` | 15 | How often the label scan runs |
| `markUnread` | false | Mark the resurfaced thread unread so it rises in Gmail on every device. Off because on a shared support address an unread thread reads as new customer mail |
| `readyLabel` | Ready for follow-up | The label every drafted nudge carries until it is sent, answered or swept |

![Follow-up settings in Preferences → Features](images/prefs-features.png)

## Where to see them

The menu bar's **Waiting on replies** lists threads where you wrote last
and they have been quiet for more than two days, with a dot when a nudge
is already drafted. Each row opens the thread in Gmail.
