self-hosted · deterministic-first · telegram-first

Self-hosted email triage for Windows.
One clear Telegram signal per email.

Letterbot connects to your IMAP inboxes, classifies mail locally, and sends only relevant messages to Telegram with priority, summary, and suggested next action.

Deterministic by default. Optional AI enhancement for harder messages. No vendor cloud. No subscription. Read-only cockpit on localhost:8787.

Read-only IMAP Multi-inbox routing Telegram actions Local SQLite
1. Download ZIPGrab the latest release from GitHub. No subscription gate and no signup.
2. Edit configAdd IMAP credentials and your Telegram bot token. Keep everything on your own machine.
3. Run and watchStart Letterbot and open the local cockpit to confirm health, events and routing.
Letterbot ● local
🔴 urgent · invoice

SoftMacro LLC — Invoice #2024-047

Action: pay by Apr 15 · 87,500 ₽

📎 invoice_april.xlsx

🔴 High 🟡 Review ⏰ Snooze 2h
09:14
🟡 important · contract

Jimmy Irish — Contract for review

Action: sign and return by Friday

📅 Tomorrow ✍ Mark done
09:16
📊 weekly digest

3 invoices · 1 overdue obligation · 2 replies pending

Mon 08:00
$0free forever · AGPL-3.0
IMAP inboxes
1,541automated tests
74Klines of Python
40–120 MBRAM on Windows
read-onlyno mail moves or deletes

definition

What is Letterbot?

Letterbot is a free, open-source, self-hosted email triage assistant for Windows. It connects to IMAP mailboxes in read-only mode, classifies each incoming email using a deterministic rules engine, and delivers one priority-tagged Telegram notification per email with a suggested action. All processing runs on the user's own hardware; data is stored in a local SQLite database with no vendor cloud involved.

What problem does it solve?

The average knowledge worker spends 28–40 minutes per day reading email — not replying, just reading. Letterbot reduces that to a single Telegram tap per important message.

How does classification work?

A five-stage deterministic pipeline extracts facts (amounts, dates, document numbers), scores priority across 20+ email types (INVOICE, CONTRACT, SECURITY_ALERT, DEADLINE…), and attaches explainable reason codes (e.g. PRIO_INVOICE, PRIO_DEADLINE_1D) to every decision.

Is AI required?

No. The core triage loop is fully deterministic and works offline. Optional GigaChat (Sber) or Cloudflare Workers AI can improve summaries for ambiguous messages, but Letterbot falls back to deterministic mode automatically when AI is unavailable.

Who maintains it?

Letterbot is an independent open-source project maintained by a solo developer. The full source (74,000 lines of Python, 1,541 tests) is public at github.com/SergioTheFirst/letterbot under AGPL-3.0.

proof, not just promises

Real local cockpit screenshots

The screenshots below are from a running Letterbot instance on 127.0.0.1:8787. They show the operator view that verifies health, message flow, fallbacks and auditability without exposing anything to the public internet.

Letterbot cockpit home view with system status, emails today and latency widgets

Home cockpit

A single operator screen with runtime status, email volume, high-priority flow and fallback visibility. This is where you verify that the system is alive before trusting it with your inbox.

Letterbot health cockpit showing component matrix and golden signals

Health cockpit

Component matrix, delivery signals and recent incidents in one place. You can quickly tell whether IMAP, database, Telegram or optional AI are healthy enough to keep routing messages.

who it fits best

Best for people who want control, not another inbox SaaS

Great fit

  • Freelancers who miss invoices, contracts or urgent replies in noisy inboxes
  • Operators who want a read-only local layer between IMAP and attention
  • Teams routing multiple inboxes into different Telegram chats
  • Privacy-sensitive users who do not want email content sent to a vendor cloud

Not the best fit

  • If you want a hosted SaaS with zero setup, Letterbot is intentionally not that
  • If you need email sending, reply drafting or mailbox mutation, the product is designed to stay read-only
  • If you want Outlook-first enterprise workflow over IMAP, a different tool may fit better
  • If you never use Telegram, the main operator experience will feel less compelling

deterministic first

Works without paid AI

The core workflow is deterministic: IMAP intake, feature extraction, scoring, Telegram notification, and cockpit visibility. Optional AI can improve summaries for complex messages, but the core triage loop keeps running even when external AI is disabled or unavailable.

  • No mandatory OpenAI dependency
  • Graceful fallback when optional AI is unavailable
  • Reason codes and observable decision paths
  • One-message Telegram workflow instead of a second inbox UI

what you actually get

Core capabilities

📨

IMAP intake

Connect multiple inboxes, keep access read-only, and route each account into the right Telegram destination.

📎

Attachment extraction

Read PDFs, spreadsheets and documents locally to surface amounts, dates and obligations with better context.

📲

Telegram actions

One email becomes one action-oriented message with priority controls, snooze and context restoration.

🧭

Decision trace

Audit why something became urgent, important or low instead of trusting a black box.

🩺

Local observability

Use the cockpit to inspect health, incidents, latency and event history on your own machine.

🌍

EN/RU workflow

English and Russian support across notifications, digests and operator flows.

See the full feature list

open source proof points

Verify the project before you trust it

quick answers

Frequently asked questions about Letterbot

Does Letterbot require ChatGPT or a paid AI service?

No — Letterbot works fully without paid AI. The deterministic pipeline classifies email, extracts facts, and notifies via Telegram without any external model. GigaChat (free, by Sber) and Cloudflare Workers AI (free tier) are optional enhancements that can be enabled explicitly; they are never required.

Where do my emails go — does Letterbot send them to a cloud?

Nowhere external. Letterbot reads email via IMAP directly from your mail server, processes everything on your local machine, and stores only metadata (sender, subject, date, priority score) in a local SQLite file. There are no Letterbot servers. Email text and attachments are never stored or transmitted.

Can I route multiple inboxes to different Telegram chats?

Yes. One Letterbot instance supports an unlimited number of IMAP accounts, each routed to a different Telegram chat or group. This is the primary use case for teams and freelancers who manage separate work, personal, and alert inboxes.

Is Letterbot read-only — can it delete or send email?

Yes, strictly read-only. Letterbot is designed to classify and notify, not to move, delete, or send email. This constraint is intentional: notification and inbox mutation are separate concerns with very different trust requirements.

Is Letterbot really free forever?

Yes. Letterbot is licensed under AGPL-3.0 — free to use, inspect, and modify with no freemium tier, no Pro plan, and no subscription. Development is sustained by voluntary donations via Boosty and CloudTips.

What hardware does Letterbot require?

Very little. Letterbot runs on Windows 10/11 and uses 40–120 MB of RAM. It has been tested on an Intel Celeron N4020 with 3 GB RAM — an old budget laptop is enough to run it as a dedicated email assistant.

What email providers does Letterbot support?

Any provider with IMAP access: Gmail, Yandex Mail, Mail.ru, Outlook/Microsoft 365, and any custom or self-hosted mail server. All connections use SSL/TLS on port 993.

How does Letterbot classify emails?

A five-stage deterministic pipeline processes each email: body segmentation, fact extraction (amounts, dates, document numbers), validation, priority scoring across 20+ mail types, and a consistency check. Each decision gets an auditable reason code (e.g. PRIO_INVOICE, PRIO_DEADLINE_1D) and a confidence score between 0.0 and 1.0.

Open the full FAQ (25 questions)