File: README.md
Mission
To help you spend less time in your inbox, so you can focus on what matters most.
Features
- AI Personal Assistant: Organizes your inbox and pre-drafts replies in your tone and style.
- AI Rules for email: Explain in plain English how your AI should handle your inbox.
- Reply Zero: Track emails to reply to and those awaiting responses.
- Bulk Unsubscriber: One-click unsubscribe and archive emails you never read.
- Bulk Archiver: Clean up your inbox by bulk archiving old emails.
- Cold Email Blocker: Autoβblock cold emails.
- Email Analytics: Track your activity and trends over time.
- Meeting Briefs: Get personalized briefings before every meeting, pulling context from your email and calendar.
- Smart Filing: Automatically save email attachments to Google Drive or OneDrive.
- Slack & Telegram Integration: Chat with your AI assistant from Slack or Telegram to manage your inbox without leaving the apps you already use.
Learn more in our docs.
Feature Screenshots
| AI Assistant | Reply Zero |
| Gmail client | Bulk Unsubscriber |
Demo Video
Built with
Star History
Feature Requests
To request a feature open a GitHub issue, or join our Discord.
Getting Started
We offer a hosted version of Inbox Zero at getinboxzero.com.
Self-Hosting
The fastest way to self-host Inbox Zero is with the CLI:
npx @inbox-zero/cli setup # One-time setup wizard
npx @inbox-zero/cli start # Start containersFor complete self-hosting instructions, production deployment, OAuth setup, and configuration options, see our Self-Hosting Docs.
Local Development
git clone https://github.com/elie222/inbox-zero.git
cd inbox-zero
docker compose -f docker-compose.dev.yml up -d # Postgres + Redis
pnpm install
npm run setup # Interactive env setup
cd apps/web && pnpm prisma migrate dev && cd ../..
pnpm devAfter pnpm install, if you want to use the local Google emulator, start it with:
docker compose -f docker-compose.dev.yml --profile google-emulator up -dThen point apps/web/.env at it with:
GOOGLE_BASE_URL=http://localhost:4002
GOOGLE_CLIENT_ID=emulate-google-client.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=emulate-google-secretIf you want to use the local Microsoft emulator, start it with:
docker compose -f docker-compose.dev.yml --profile microsoft-emulator up -dThen point apps/web/.env at it with:
MICROSOFT_BASE_URL=http://localhost:4003
MICROSOFT_CLIENT_ID=emulate-microsoft-client-id
MICROSOFT_CLIENT_SECRET=emulate-microsoft-secretSee the Contributing Guide for more details including devcontainer setup.
Contributing
View open tasks in GitHub Issues and join our Discord to discuss what's being worked on.
Docker images are automatically built on every push to main and tagged with the commit SHA (e.g., elie222/inbox-zero:abc1234). The latest tag always points to the most recent main build. Formal releases use version tags (e.g., v2.26.0).
File: packages/tinybird-ai-analytics/README.md
Tinybird AI Analytics
This package contains the TypeScript client for publishing and querying AI
analytics. The Tinybird data sources and endpoints are part of the canonical
Forward project documented in ../tinybird.
Run all Tinybird CLI commands from packages/tinybird/project so the complete
workspace is validated and deployed together.
AI Cost Fields
cost: platform-paid estimated cost from our local pricing table (user API key traffic is0)estimatedCost: estimated cost regardless of who paid, from our local pricing tableproviderReportedCost: exact provider-reported cost when availableproviderUpstreamInferenceCost: exact upstream provider cost when availableproviderCostSource: internal source key describing how provider-side cost was derivedisUserApiKey:1for user-provided API keys,0for platform keysstepCount: total number of steps reported by the AI SDK resulttoolCallCount: total number of tool calls across all reported steps- Legacy rows (before this schema change) have
NULLforestimatedCostandisUserApiKey
File: packages/tinybird/README.md
Tinybird
The project directory is the canonical Tinybird Forward project
for the InboxZero workspace. It contains all analytics resources, including
the AI analytics resources consumed by @inboxzero/tinybird-ai-analytics.
CLI setup
Run the current Forward CLI without conflicting with a Classic CLI already on
your PATH:
uvx --from tinybird@latest tb --versionAuthenticate and select the production workspace:
cd packages/tinybird/project
uvx --from tinybird@latest tb login --host https://api.us-east.tinybird.co --workspace InboxZeroDevelopment workflow
Pull the current cloud definitions:
uvx --from tinybird@latest tb --cloud pullStart Tinybird Local and validate the project locally:
uvx --from tinybird@latest tb local start
uvx --from tinybird@latest tb build
uvx --from tinybird@latest tb test runValidate and deploy the project to Tinybird Cloud:
uvx --from tinybird@latest tb --cloud deploy --checkTinybird Forward deployments replace the Classic tb push workflow. Keep
resource definitions and TOKEN directives in packages/tinybird/project so
deployments remain reproducible from Git.
File: packages/resend/README.md
Email updates
This package is used to send transactional emails to users.
Running locally
To run:
pnpm devThen visit http://localhost:3010/ to view email previews.
File: packages/loops/README.md
Loops Package
This package contains the code for the Loops which is used to send marketing emails to users.