How to Auto-Triage Email & Reach Inbox Zero with an AI Agent

One prompt that reads the last 14 days of Gmail, sorts it into four buckets, drafts the replies only you can write, and leaves the rest one click from gone — so you open your inbox to five emails that matter, not two hundred that don't.

01The Problem

Why your inbox stays broken

Gmail has no notion of what matters. It sorts by recency, so the email that decides a deal sits below the newsletter you never subscribed to.

Recency is not importance

Gmail's default order is newest first, full stop. Nothing in that ordering knows a customer is waiting on you, a contract expires Friday, or a colleague blocked on your reply. The email with the most consequence is as likely to be at position 40 as position 1, and you cannot tell which without reading all of them.

The categories are too broad to act on

Gmail gives you Primary, Social, Promotions, Updates, and Forums. Roughly 200 messages land in a bucket that still requires you to open each one to decide. Filtering into five categories does not reduce the number of decisions; it just relocates them somewhere with a different icon.

Deletion is the fastest triage, and the riskiest

The reason most inboxes survive is that nobody dares clear them. Archiving by hand takes twenty minutes a day for a job a machine does in seconds, so the backlog compounds instead. Every month of delay makes the eventual cleanup bigger, and a bigger cleanup is exactly what gets deferred again.

02The How-To

The Gmail AI agent triage prompt, step by step

Copy it once, paste it into Zaira, and it works through the backlog: pull the recent threads, classify each one against your own rules, draft what needs a human voice, and batch-file the rest into labels you can clear in one action.

Automatic inbox triage
Access to the @Gmail MCP server. Act as my inbox triage assistant. My goal is a clean inbox where every message is either answered, deliberately filed, or gone — and I only make the decisions that need a human.

How I work

- My role and what actually needs my attention: [e.g., founder, 12-person SaaS; deals, hiring, and my cofounder matter most] - Senders I always answer myself: [names, domains] - Senders that can never reach me: [newsletters, cold outreach, recruiters] - Recurring senders worth keeping but not reading daily: [e.g., status pages, receipts, GitHub] - Timezone and working hours: [e.g., Europe/Lisbon, 09:00-18:00] - Tone rules for anything you draft: [e.g., short, no exclamation marks, sign as Alex]

Step 0: Check tools

List the Gmail tools you have and say which you'll use for each step (search, list_threads, get_thread, labels, create_draft, batch_modify_labels, filters). Only report what the tools return — never invent a message, a sender, or a date.

Step 1: Pull the backlog

Search my mailbox for the last 14 days using Gmail search operators. Run several passes rather than one: unread mail, mail older than 3 days that is still unread, threads with more than one message from the same person (stalled conversations), and mail from my priority senders. Deduplicate across passes so nothing is judged twice.

Step 2: Classify every thread into exactly one bucket

- NEEDS ME: blocked on a decision, question, or action only I can take - DRAFT IT: needs a reply, and I can give you the substance to write one - FILE IT: genuinely worth keeping, but not this week - CLEAR IT: no future value — receipts, expired offers, no-reply notifications, duplicate threads Show the counts per bucket before you act. If NEEDS ME is more than 15, say so and tell me which senders are driving it.

Step 3: Draft the replies

For every thread in DRAFT IT, read the full thread with get_thread, then create a draft in my voice using my tone rules. Quote the specific detail from their message that the reply answers, so I can see it responds to the right thing. Keep each draft under 120 words. Do not send anything. Add a one-line note at the top of each draft saying what it answers and what I need to confirm.

Step 4: File and clear

Create labels Zaira/Needs Me, Zaira/File, Zaira/Cleared if they don't exist. Apply labels with batch_modify_labels — never re-read a thread to check its state. Move every CLEAR IT thread to trash and every FILE IT thread out of the inbox into its label. Leave NEEDS ME and DRAFT IT untouched in the inbox.

Step 5: Report back

Give me: the counts per bucket, the 10 threads that most need a decision (sender, subject, one line on why, and the date it arrived), every draft you wrote with a link, and anything you were unsure enough to leave alone. Then tell me exactly what you changed and what you did not touch.
03Why People're Using

What this does once it's running

Three stages, one goal. The agent sorts on a schedule so the first thing you see is a short list of decisions, not a wall of threads — and it only touches what you told it to.

Open the inbox to a list of decisions, not a wall

The triage runs on a schedule — most people set it for early morning — so the first screen is a ranked shortlist of what actually needs them, with everything else already labelled, filed, or cleared the night before.

Replies arrive pre-written in your own voice

Because the drafts quote the exact line of the incoming message they answer, reviewing one takes a sentence of reading rather than a re-read of the whole thread. You edit and send; you never start from a blank page.

The backlog stops compounding

A backlog you can never face is a backlog that grows. Running triage on a loop means the oldest unread mail is days old instead of months, which is the only version of a clean inbox that stays clean.

04FAQ

Frequently asked questions

The practical questions people ask before letting an agent near their inbox.

Not in this prompt, by design — the send and reply tools are never called, and Step 3 explicitly creates drafts only. That is a deliberate choice rather than a technical limit: a first run on a real inbox should be one you can inspect closely. Once you trust its classification, the honest upgrade is to let it auto-reply to the narrowest, most repetitive bucket — receipts, confirmations, scheduling threads — and keep a human on anything with a name attached.

Gmail's filters act on what a message is — sender, subject, words. Triage acts on what a message needs from you, in the context of the thread it belongs to, against rules you wrote about your own job. The practical difference shows up on ambiguous mail: a filter cannot tell whether a two-week-old thread from a customer is dead or just slow, and it cannot tell whether a reply needs a rewrite or a one-word yes.

Deletion goes to trash rather than being purged, which is recoverable for weeks, and the prompt creates a Cleared label and reports every count before it acts. Start narrower if you want: on the first run, move CLEAR IT to a label instead of trashing it, live with the inbox a few days, then turn trashing on once you have seen what it would have removed.

A 14-day backlog is a few hundred threads, which is a handful of searches and label operations rather than anything heavy. Zaira charges per plan rather than per task, so a wider sweep is not a separate bill each run. Because the prompt ends by describing the same triage every morning, run it on a schedule instead of by hand — that way the cost stays flat no matter how large the mailbox grows.

This matters, so it is worth being precise. Zaira reads Gmail through Gmail's own official MCP server — the permissioned connection offered to approved AI partners, not a scraper. There is no shadow account and no spoofed browser; the work happens inside the access your mailbox already has, and you can revoke it from your Google account at any time. Triage reads and labels mail. Anything requiring a login or a payment decision still happens in your own browser, under your own name.

Yes, and the prompt is built for it. Give each mailbox its own version of the Step 2 rules, since what counts as NEEDS ME in a sales inbox is rarely what counts as NEEDS ME in a personal one, and run them as separate scheduled tasks. What you should not do is point one set of rules at several mailboxes at once — a filter written for a founder's inbox will archive a personal invoice without complaint.

Then that thread is one of the cheapest corrections you will ever get: it is still in the inbox, not deleted, and the classification is visible in the report. The durable fix is to add the case to your Step 2 rules — 'never clear anything from this domain', 'always treat invoices as NEEDS ME' — which makes the next run more accurate rather than sending you back to arguing with the same thread. That is the whole reason Step 2 asks for your rules in writing.