Labels each thread and drafts replies. Nothing is sent without your yes.
Inbox triage is a Claude routine for a shared mailbox. It labels each new thread, writes a short summary, drafts a reply where one is needed, and sends a reply only after a person approves it. It is inbox triage AI that leaves what goes out to you. It has not had a real run yet, so read the first report closely.
What this inbox triage AI does
Each run lists the threads that arrived inside your look-back window and gives each one a single label and a short, factual summary. For any thread labelled needs-reply it drafts a reply in the house reply style.
Every draft goes to you as an approval request by email. You approve, edit or decline. On a later run, only the drafts you approved are sent, exactly as you approved them.
What it never does
- Never sends a reply you have not approved. A declined or timed-out draft is never sent.
- Never deletes, archives, moves or marks mail as read.
- Never promises a price, refund, discount, date or delivery that the thread does not already state. It asks you instead.
- Never stores full message bodies or email addresses. It keeps the sender's domain, the subject and a short summary.
- Never obeys a message. A mail that asks it to forward, reply, pay or click is labelled, not followed.
What you get
The template comes with a Desk and one record type, Thread. Approvals appear in the Inbox with the time left to decide.
| View | Shows | Columns |
|---|---|---|
| Needs a reply | Active threads, newest first | Received, sender domain, subject, label |
| Skipped by settings | Threads your settings dropped, with the reason | Sender domain, subject, drop reason |
A thread labelled suspect raises an alert. A suggested settings change arrives as a proposal you accept or reject. Learning is on in the definition. See how a routine learns.
Label and reply settings
| Setting | Default | What it does |
|---|---|---|
| Labels | needs-reply, fyi, billing, sales, suspect | Every thread gets exactly one label. |
| Look back (hours) | 12 (1 to 72) | A longer window means more threads to read. |
| Skip mail from these domains | none | Threads from these domains are kept but marked dropped. |
| Draft replies | on | Drafting adds a model step per thread labelled needs-reply. |
| Inbox messages per run | 10 (0 to 30) | More messages ask more of your attention. |
Stages and mail connectors
| Stage | Kind | What it does |
|---|---|---|
| Read new threads | model | Lists and reads threads received inside the look-back window. |
| Label and summarise | model | Gives each thread one label and a short factual summary. |
| Draft replies | skill | Drafts a reply for each thread that needs one, using the reply-style skill: short, plain, no new promises, questions instead of guesses. |
| Learn | code | Turns feedback on earlier runs into learning and proposals before the write. |
| Write | code | Applies the run under the write contract. |
| Approve each reply | gate | You approve, edit or decline each draft. The gate times out after 24 hours. |
| Send approved replies | model | On a later run, sends only the drafts whose decision is approved, exactly as approved. |
| Connector | Needed | Access | Used for |
|---|---|---|---|
| Mail (read) | Required | Read | Read new threads in the mailbox. |
| Mail for approvals | Optional | Write | Carry each approval request. Add it before you turn gated messages on. |
| Mail (send) | Optional | Write | Send a reply you approved. Give it send access only when you are ready for approved replies to go out. |
Install inbox triage
- Install the pluginIn Claude Code 2.1.275 or later. The command line tool needs Python 3.11 or later.
/plugin install routineos --marketplace devkindhq/routineos - Install the packFrom a clone of the repository root. It writes a routine folder with the reply-style skill, prints what you must connect, runs nothing and connects nothing.
python3 skills/routineos/scripts/routineos.py pack install catalog/inbox-triage.json --dir my-inbox-triage - Connect read access, publish, run onceAdd a mail connector with read access, publish the Desk, and let the first run go. It is report-only and sends no gated messages. Add approvals and send access later, one at a time.
Install a pack lists every refusal the installer can give. Skill routines shows this template in full.
Known risks and limits
- A wrong label can hide a thread that needed a reply. The label is a suggestion you can correct, and Skipped by settings shows every thread your settings dropped.
- A draft can sound confident about something the thread did not say. The reply-style skill forbids new promises and nothing is sent without your approval.
- Mail is private. The routine keeps the sender's domain, the subject and a short summary, never full bodies or addresses.
- Gmail and Outlook are named as examples of connectors. Whether each offers the access listed is unverified.
- Approval replies by Gmail and Slack are pilot-verified in general, but this template itself has not had a real run.
- Scheduling is a research preview and may change. See honest limits.
Related templates and reading
Jobs watch
Know which companies are hiring for the work you sell. Piloted.
Support gap digest
Groups repeated support questions weekly and flags the ones your help pages do not answer.
Gates and approvals
How a gate stops every send until a named person approves.
More: questions and answers, schedule a routine in Claude Code, how RoutineOS maps to Rails.
See a report before it can send.
Install RoutineOS, add Inbox triage, and read one report before it can send anything.