Skip to content

jevMail

Google Apps Script Gmail classifier that applies your own plain-English labels with Jev and archives only high-confidence unwanted mail.

Servicebeta

Overview

jevMail (ilyamk) turns a Gmail inbox into a small set of labels that match how you work. You define up to 12 labels with criteria written in plain English, and Jev classifies each message's meaning and intent against them rather than relying on sender or keyword filters. It runs as a Google Apps Script project in your own Google account, with no jevMail-operated backend.

Classification is confidence-aware: message metadata is evaluated first, and ambiguous or archive-sensitive messages can get a second review using the message content. Automation is staged, from preview mode to labelling without archiving to archiving only explicitly eligible categories when confidence is high. A run budget is checked before each request, and the UI shows cost, progress, errors and, for recent messages, the label, confidence, decision source and resulting action. Processed messages are marked so later runs skip them. It also supports OpenRouter as a route to the model.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich of your custom labels fits this email?—
Yes / noShould this message be archived (high-confidence unwanted mail in an eligible category)?(inferred)—

How it works

  1. Define up to 12 labels with plain-English criteria
  2. Jev classifies each message from metadata first
  3. Ambiguous or archive-sensitive messages get a second review with content
  4. Apply the label; archive only eligible categories above confidence
  5. Budget is checked before each request and processed messages are marked

Strengths

  • Runs in your own Google account with no third-party backend
  • Staged automation from preview to archiving
  • Per-run cost budget and explainable decisions
  • Custom taxonomy instead of fixed categories

Caveats

  • Unofficial project
  • Email content is sent to the model provider
  • Apps Script quotas and setup steps apply

Getting started

Deploy the Google Apps Script project to your Google account and add a Jev key (directly or via OpenRouter), as described in the setup guide.

At a glance

Type
Service
Status
beta
Language
JavaScript
Runtime
Google Apps Script
Has code
yes

Use cases and integrations

How curated lists describe it

  • Unofficial open-source Gmail AI spam filter, auto-labeler, and inbox organizer: Jev understands each email's intent to apply custom labels and optionally archive high-confidence unwanted mail

    AnotiaWang/awesome-decision-models
  • Self-hosted AI email classifier for Gmail powered by Jev. Create custom labels, organize your inbox, and filter spam with confidence and cost controls.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev decide?

Which of your custom labels each email gets, with a confidence used to decide whether automation may archive it.

Is there a hosted service?

No. It runs from an Apps Script project in your own Google account.

How do I control cost?

Set a run budget; it is checked before each request and spending is shown in the UI.

Related projects

  • Google Apps Script that labels, archives or trashes Gmail conversations based on Jev answers to your plain-English yes/no questions.

    ProjectbetaJavaScript
  • Chrome/Brave extension that uses Jev to classify, label and safely bulk-clean a Gmail inbox with undo.

    PluginbetaJavaScript
  • Dry-run-first Proton Mail Bridge triage on macOS where Jev answers whether each message is spam or phishing.

    ProjectbetaPython
  • Read-only Chrome extension that badges each Gmail message with Jev's category, priority, spam % and reply %.

    Browser extensionprototypeJavaScript
  • Creator inbox sorter: Jev answers five questions per comment or DM and code decides to notify, draft, like, hide, archive or escalate.

    ProjectprototypeTypeScript
  • Read-only, local Gmail triage that sorts each message into five trays with an urgency score using Jev via Vercel AI Gateway.

    ServicebetaTypeScript