Put Your Inbox on Your Payroll
Give the busywork to AI. Keep the customer conversations.

Connect one Gmail or Outlook account to Inbox Zero, begin with reversible rules, set up reply tracking and draft-only replies, then connect Claude through MCP. Add attachment filing and meeting briefs after their permissions and tests pass. The code is open source; the hosted service, AI usage and self-hosting infrastructure can cost money. Claude's MCP connection cannot send mail, but Inbox Zero automation rules can, so review every rule before enabling it.
Start with the conversations, not the unread count
A clean inbox is useful only if the right conversations keep moving. The proposal awaiting an answer, the client question needing your decision and the attachment someone will ask for next week need different treatment.
This guide is for a business owner or operator who wants one connected mailbox working before expanding to the team. Use the hosted route if you do not manage servers. Use the self-hosted route if you can maintain OAuth credentials, containers, backups and a public HTTPS deployment.
Get the official Inbox Zero repository. Its Reply Zero feature tracks messages you need to answer and conversations awaiting a response.
| Job | What you configure | Your checkpoint |
|---|---|---|
| Cold email filtering | Cold Email Blocker | Review classifications before automatic archiving. |
| Replies in your voice | Assistant settings and draft rules | Review factual claims and send manually. |
| Follow-up tracking | Reply Zero and reminder settings | Check who owes the next reply. |
| Attachment filing | Drive connection, folder descriptions and filing preview | Confirm the file and destination. |
| Meeting preparation | Calendar connection and Meeting Briefs | Check the brief against the actual thread and event. |
| Claude control | Remote MCP connector | Select the correct mailbox and approve rule changes. |
Choose your setup route
| Route | What you need | Cost and responsibility |
|---|---|---|
| Hosted | An authorized Gmail or Outlook account and access to the features you want. | Check the current plan and checkout price at getinboxzero.com. Do not assume every feature or trial is free. |
| Self-hosted | Docker, Node.js 24+, provider OAuth credentials, AI configuration and an operator. | No purchase needed to obtain the repository. Infrastructure, AI calls, storage and maintenance may cost money. Review repository license terms for your use. |
| Claude connection | A Claude account/client with custom remote connector access, plus mailbox authorization. | Claude access and model usage are separate from Inbox Zero. Team or Enterprise connector installation may require an owner. |
Before connecting: obtain permission to process the mailbox, especially a company or shared inbox. Email contents can reach Inbox Zero and the configured AI provider. Connecting Claude adds another authorized data recipient. Self-hosting does not make cloud model calls local. Do not paste passwords, OAuth secrets or API keys into chat.
Start with a low-risk account. Do not connect every employee's mailbox or enable company-wide rules on day one.
Route A: connect the hosted app
- Open Inbox Zero. Check the current plan, feature availability and billing before accepting a subscription.
- Sign in with Google or Microsoft and connect the intended mailbox. Read the requested permissions. The app's permissions include sending capabilities, even though the Claude MCP toolset does not send.
- Open Assistant and complete guided setup. Inspect all generated default rules. For this guide, keep only labeling and draft actions initially. Disable sending, forwarding, deletion and automatic archiving until you have tested the relevant rule.
- Open a rule, inspect its conditions and actions, then use its Test tab on a harmless example. Read History after a new test message arrives.
- Confirm the message is still visible in Gmail or Outlook, with the intended label or category. Your existing mailbox remains the source of truth.
Additional accounts are added through Settings → Email Accounts. Each has its own rules and settings. In Outlook, label actions become categories and folder actions use Outlook folders. Source: Getting started.
Route B: self-host the repository
Skip this section if you chose the hosted app. These commands use CLI version 2.30.0; the wizard downloads/configures the application and starts Docker services. Application images and OAuth requirements may evolve independently of the CLI.
Install prerequisites and launch the wizard
Install Node.js 24 or newer and Docker with Compose. Start Docker Desktop if applicable. Open Terminal on macOS/Linux or PowerShell on Windows. Check:
node --version
npm --version
docker --version
docker compose versionUse a new directory so configuration does not mix with an existing deployment. These commands work in a normal Terminal or PowerShell session:
mkdir inbox-zero-workspace
cd inbox-zero-workspace
npx --yes @inbox-zero/cli@2.30.0 setup
npx --yes @inbox-zero/cli@2.30.0 startThe first npx run downloads the named CLI package. The setup wizard asks for your mailbox provider, OAuth credentials, AI provider and deployment settings. Enter secrets only in the local setup flow or its protected configuration, not in Claude. Choose a supported AI provider you already have billing access to and configure a usage budget with that provider. A Claude chat subscription is not automatically an API key for this application.
Open http://localhost:3000 for a local setup, or the HTTPS domain you configured. Do not interpret a page loading as proof that incoming-email automation or Claude connectivity works.
Authorize Google or Microsoft
For Gmail: in Google Cloud Console, create or select a project, configure its consent screen, and create an OAuth client of type Web application. Use Internal only for the relevant Workspace organization; personal Gmail requires External. If External remains in testing, add your test email under Audience → Test users.
For a local trial, use http://localhost:3000 as the JavaScript origin and register these redirect URIs. For production, replace that origin everywhere with your canonical HTTPS domain:
http://localhost:3000/api/auth/callback/google
http://localhost:3000/api/google/linking/callback
http://localhost:3000/api/google/calendar/callback
http://localhost:3000/api/google/drive/callbackThe last two are for calendar and Drive. Save the client ID and secret as GOOGLECLIENTID and GOOGLECLIENTSECRET through the wizard/configuration. Enable Gmail API; enable Calendar API and Drive API only when using those integrations. Declare the required profile, email, gmail.modify and gmail.settings.basic scopes from the official OAuth checklist, plus the documented calendar or Drive scopes for the features you enable. Prefer Drive's standard drive.file access unless existing-folder access actually requires broader permission.
If Google displays an unverified-app warning, proceed only when you created and verified the exact OAuth application yourself. Do not use that warning as a reason to bypass an organization's security policy. External testing mode is not a permanent production authorization strategy; check Google's current publishing and token-lifetime requirements.
For Outlook: in Microsoft Entra ID, open App registrations → New registration. Choose the account type appropriate to your organization or personal account, not a broader audience by default. Register these Web redirects, replacing the origin for production:
http://localhost:3000/api/auth/callback/microsoft
http://localhost:3000/api/outlook/linking/callback
http://localhost:3000/api/outlook/calendar/callback
http://localhost:3000/api/outlook/drive/callbackThe rest of this playbook is below.
Enter your email to read it. You also get one new playbook every week.
One email a week. Unsubscribe any time.
Copy Application (client) ID to MICROSOFTCLIENTID. Create a client secret and copy its Value to MICROSOFTCLIENTSECRET. For single-tenant setup, set MICROSOFTTENANTID. Follow the Microsoft setup guide for delegated Graph permissions: openid, profile, email, User.Read, offline_access, Mail.ReadWrite, Mail.Send, MailboxSettings.ReadWrite, Calendars.Read, Calendars.ReadWrite and Files.ReadWrite. These are broad permissions; have your administrator review them and grant required consent. Set a reminder before the client secret expires.
Make incoming automation work
For always-on operation, use a maintained HTTPS deployment. Do not expose a local machine or database publicly simply to avoid deployment work. A laptop that is asleep cannot provide an always-on service.
Gmail push setup: enable Google Pub/Sub, create a topic, and grant Pub/Sub Publisher on that topic to Google's gmail-api-push@system.gserviceaccount.com service account. Create a Push subscription whose endpoint is:
https://YOUR_DOMAIN/api/google/webhook?token=YOUR_RANDOM_VERIFICATION_TOKENReplace both placeholders. Set GOOGLEPUBSUBTOPICNAME to the full projects/.../topics/... name and GOOGLEPUBSUBVERIFICATIONTOKEN to the same secret token. Keep this verification enabled. The CLI's setup-google command can help configure Google APIs and Pub/Sub if gcloud is installed. See the official Pub/Sub guide.
For Outlook, verify the linked account's push subscription and public HTTPS webhook delivery through the running deployment. The bundled Compose cron service renews Gmail/Outlook watches; it also handles automation jobs and delayed actions. Confirm it is running, not only the web service. See Docker deployment and scheduled tasks.
npx --yes @inbox-zero/cli@2.30.0 status
npx --yes @inbox-zero/cli@2.30.0 logs -fSend one harmless email from an account you control. Confirm it appears in the mailbox, reaches the app and triggers the intended test rule. If sign-in works but incoming rules do not, fix webhook/watch delivery before enabling business automation. Protect configuration files, do not commit them, back up the application database, and configure storage access and firewall rules before using real customer mail.
To stop the self-hosted services without deleting your data:
npx --yes @inbox-zero/cli@2.30.0 stopSource: official quick start. Running the server is only the first checkpoint; complete the feature tests below.
Connect Claude to the correct mailbox
MCP is the connection that exposes Inbox Zero's supported tools to Claude. It is separate from the AI provider configured inside Inbox Zero.
- In Inbox Zero, open Settings → Account → MCP, turn it on, and copy the MCP URL.
- In Claude, open Customize → Connectors → Add custom connector. Paste the URL below for the hosted service. Leave OAuth client ID and secret empty unless you registered your own client.
- Choose Connect, sign in with the linked Google or Microsoft account, inspect the consent request and choose Allow. Email-code sign-in cannot authorize this connection.
- In a Claude chat, open + → Connectors and enable Inbox Zero. On Team or Enterprise, an owner first adds it under Organization settings → Connectors.
https://www.getinboxzero.com/mcpIf you use Claude Code instead, run this in its terminal environment and complete the OAuth sign-in:
claude mcp add --transport http inbox-zero https://www.getinboxzero.com/mcpSelf-hosted MCP: use your own HTTPS origin followed by /mcp, not the hosted URL. Apply the deployment's database migrations and configure:
NEXT_PUBLIC_EXTERNAL_API_ENABLED=true
MCP_SERVER_ENABLED=true
API_KEY_SALT=YOUR_UNIQUE_RANDOM_SECRET
NEXT_PUBLIC_BASE_URL=https://YOUR_DOMAINReplace the placeholders with your own securely generated secret and domain. Do not share the salt or reuse another deployment's value. Restart the application after server configuration changes; changing the public API flag also requires rebuilding the client assets. Use the current MCP deployment reference for your build, including its authentication migration requirements. Claude's remote connector must be able to reach the URL; localhost on your computer is not a public endpoint.
First prompt, pasted into Claude:
Use Inbox Zero to list the email accounts I have authorized. Do not read messages, create drafts or change rules yet. Show the available account selectors and ask which mailbox I want to use.Then identify the exact mailbox, not just “my inbox.” The documented tools can otherwise default to the earliest linked account. Sources: connector setup and tool behavior.
Configure the five inbox jobs
Cold emails: inspect before hiding
Open Cold Email Blocker and start in List mode, which records detections without changing your inbox. Use Test with an unsolicited pitch and a genuine customer enquiry. The blocker handles newly arriving emails, not an automatic reclassification of your entire history.
Use Edit Prompt to describe which enquiries are valuable to your business. Suggested instruction:
A new sender is not automatically cold outreach. Treat inbound questions about buying our services, existing orders, customer support and referrals as potentially important. Cold outreach means someone selling their product or service to us without an existing conversation. When uncertain, leave the message for review.Pass check: the pitch is flagged and the genuine enquiry remains visible. Review more examples before moving to Auto label, then optionally Auto archive and label. Check the Cold Email label/category regularly for false positives. Source: Cold Email Blocker.
Drafts: teach style without inventing commitments
Open Assistant → Settings. Enable Auto draft replies and begin with High confidence. Add Writing style, Personal instructions and your actual email signature. Put approved business facts in the Draft knowledge base when that control is available.
Write concise, natural replies. Answer the customer's actual question first. Use my normal greeting and signature. Do not invent prices, discounts, delivery dates, refund approvals or promises. If an essential fact is missing, ask me for it. Prepare a draft only. Do not send or forward anything.Pass check: test with a harmless customer-style question from an account you control. A draft should appear in the mailbox, with no new message in Sent. Open the original thread and check the recipient, amounts, dates, attachments and tone before sending. High confidence is a setting, not a correctness guarantee. Source: Assistant Settings.
Reply tracking: separate the two queues
Open Reply Zero to review messages needing your response and messages awaiting someone else's. In Assistant → Settings → Follow-up reminders → Configure, set appropriate delays and choose whether follow-up drafts should be prepared. Run the scan from Configure when needed.
A useful starting policy, not a product default: review client questions each workday and review unanswered proposals after the follow-up date you actually agreed. Do not treat every unanswered newsletter or closed conversation as a lead.
Pass check: create two harmless threads with a consenting colleague or your own second account. Leave their question unanswered in one. In the other, send a question and leave their answer pending. Check that the tracker distinguishes your obligation from theirs. Reply to one and confirm the status updates.
For a manually requested Claude review, paste:
Use Inbox Zero only for [EXACT MAILBOX]. Review threads from [START DATE] to [END DATE]. Separate: I owe a reply; waiting on someone else; unclear or closed. Read each relevant thread rather than relying only on its search snippet. Show sender, subject, latest message date, who should act, a short evidence quote and the thread ID or available link. Flag deadlines stated in the email; do not invent urgency. Report search coverage and missing or truncated bodies. Suggest the next action. Do not create drafts or change rules yet.Replace the bracketed inputs. This prompt does not create a recurring scan by itself; native reminders run through Inbox Zero's configured automation. Manually inspect important threads before acting on Claude's classification.
Attachments: choose folders before automation
Open Attachments, connect Google Drive or OneDrive/SharePoint, then select or create a small set of folders. Choose a test folder without broad team sharing. Give each folder a distinct description and add exclusions.
| Example folder | Description to enter |
|---|---|
| Customer purchase orders | Purchase orders received from customers. Exclude supplier invoices and unsigned marketing proposals. |
| Supplier invoices | Bills from suppliers requesting payment. Exclude customer invoices we issued. |
| Signed agreements | Final signed agreements. Exclude unsigned drafts and unrelated sales brochures. |
Use the preview before enabling auto-filing. Test with a harmless sample attachment, inspect its actual destination and compare its contents to the original. Uncertain destinations should be reviewed rather than guessed. Open Filing Activity to correct a destination or undo a filing. Filing is not malware scanning or a guarantee that the document is authentic. Source: attachment setup.
Meeting briefs: check the source, not just the summary
Open Meeting Briefs, connect Google Calendar or Outlook Calendar, enable the feature and choose the lead time. The documented default is four hours; choose what suits your calendar. Keep email delivery initially and add chat delivery only when authorized.
Under Upcoming Meetings, select a suitable event and choose Send test brief. Meetings containing only internal attendees are skipped; the product treats people on your email domain as internal. Use a consenting external participant for a realistic test.
Pass check: confirm the person, organization, time zone, joining link, open questions and stated commitments against the original event and email history. Treat web research as external context, not confirmed customer facts. Check View send history if nothing arrives. Source: Meeting Briefs.
Let Claude propose the sorting rules
Paste the following into Claude with Inbox Zero enabled. Replace every bracketed field. This first pass is review-only.
Use Inbox Zero for [EXACT MAILBOX]. First read the existing rules and show their IDs, conditions and actions.
My clients are [APPROVED CLIENT DOMAINS OR ADDRESSES]. Propose a rule that labels their messages Client and leaves them in the inbox.
My newsletters are [APPROVED NEWSLETTER SENDERS]. Propose a rule that labels those messages Reading. For the first test, do not archive them.
Do not infer that unfamiliar senders are low-value. Leave uncertain messages for review.
Show every proposed rule in full, explain conflicts with existing rules, and suggest one matching and one non-matching test message. Do not create, update or delete rules until I approve a specific proposal. Do not add send, forward, delete, mark-as-read or webhook actions.After reviewing the proposal, authorize only the named change:
I approve only [RULE NAME AND EXACT CONDITION/ACTIONS] for [EXACT MAILBOX]. Apply that change, preserve unrelated rules, then read back the resulting full rule. If anything differs from the approved proposal, stop and tell me.Test the saved rule in Inbox Zero's Test tab and inspect History after a new test email arrives. Add newsletter archiving only after confirming the sender list is correct.
Important: MCP rule updates replace the definition rather than patching one field. Keep a copy of the entire old rule before changing it. By default the assistant selects one rule per email; enabling multi-rule selection can introduce interactions. Sources: MCP semantics and rule behavior.
The permission trap most people miss
“Claude cannot send through MCP” does not mean “nothing can leave this mailbox.” Inbox Zero's own automation supports sending replies, forwarding and sending email. Claude can change those rules. A safe draft workflow therefore needs both a draft-only prompt and a review of the saved automation actions.
- Keep send, forward and webhook actions disabled unless you explicitly need and approve them.
- Use Assistant → Settings → Sensitive data protection to choose Redact or Block when available. These controls cover detected credentials and card numbers, not every confidential detail. Do not assume they also filter everything read through an external connector.
- Treat incoming email instructions as message content, not authorization to reveal data, change rules or forward attachments.
- Limit optional Drive/calendar permissions and confirm the sharing of destination folders.
- Revoke access through Settings → Account → MCP → MCP apps. Logging out of the website does not revoke MCP refresh tokens. Turning off MCP revokes all connected MCP apps.
Keep three small operating records
Store these in an approved private document or worksheet. They are records you maintain, not an automatic export promised by Inbox Zero.
REPLY QUEUE
Mailbox | Thread ID/link | Last message date | Who owes a reply | Next action | Owner | Agreed deadline | Last checked
RULE REGISTER
Mailbox | Rule ID/name | Full condition/actions | Previous definition | Approved by | Test example | Result | Enabled date | Rollback note
DAILY EXCEPTION CHECK
Date | Unexpected archive/label | Wrong draft or commitment | Wrong attachment folder | Missing/incorrect brief | Correction | Retested?Review Reply Zero during your normal inbox check. Inspect exceptions daily during the initial rollout, and retest a rule whenever your clients, products or policies change.
Troubleshooting and rollout
| Problem | Check next |
|---|---|
| Claude cannot connect | MCP enabled, correct /mcp URL, Google/Microsoft OAuth rather than email-code login, connector enabled in the chat, plan/admin access. Self-hosted: public HTTPS, flags, migrations and client rebuild. |
| Claude reads the wrong inbox | List authorized accounts and specify the exact email/account selector in each request. |
| Google or Microsoft rejects sign-in | Exact origin and redirect match, correct tenant/audience, test-user eligibility, valid secret, scopes and admin consent. Do not disable protections to force access. |
| The app opens but new mail does nothing | Provider push subscription, Gmail Pub/Sub topic permissions and token, public webhook reachability, linked-account watch and cron service. |
| A cold lead was archived | Restore it in the mailbox, switch the blocker back to List, correct classification instructions and retest with a genuine enquiry. |
| No reminder or draft appears | Selected mailbox, enabled settings, configured reminder delay, scan, confidence threshold, AI credentials/billing and matching rule. |
| A setting is missing | Plan, provider and deployment support. Some controls appear only after their parent feature is enabled. |
| A rule did something unexpected | Disable it, inspect History and learned patterns, restore its saved definition, then rerun positive and negative tests. |
Only after one mailbox passes should you expand to a team. Inbox Zero organizations can distribute managed rules; members retain their own linked accounts and consent settings. An admin's aggregate analytics access is not blanket permission to read employees' mail. Test rules on one account before organization-wide distribution. Source: organizations and permissions.
Final acceptance check
- The correct mailbox is connected and the app can process a new harmless test message.
- Cold-email detection keeps a genuine customer enquiry visible.
- A reply is created as a draft without appearing in Sent.
- The tracker distinguishes your unanswered message from a question you have not answered.
- A test attachment lands in the intended folder with appropriate permissions.
- A test meeting brief matches its event and email history.
- Claude lists the correct account and reads back a specifically approved label-only rule.
- You can disable a rule, revoke the connector and, if self-hosted, stop the services without deleting data.
Do not call a feature ready if its checkpoint fails. Keep it disabled while fixing access or configuration. AI can miss context, misclassify email or draft an incorrect commitment; retain human review for consequential replies and business decisions.
What this changes
Your inbox remains where it is. The difference is that sorting, draft preparation and follow-up tracking become explicit jobs with rules you can inspect, rather than work you have to remember to do between meetings. Start with one mailbox and one reliable routine, then expand only what earns your trust.



