Self-initiated prototype. The integration workflow is described from the codebase; live Gmail, Google Calendar, Notion, and Pub/Sub behaviour has not been verified.
Overview
Mail Sniffer is a Python command-line agent concept for organizing job-search email. It is designed to classify incoming messages, extract interview details, update a Notion tracker, create calendar events, and prepare reply drafts for human review.
The problem
Recruiter messages, interview invitations, scheduling changes, and application updates arrive across long email threads. Manually transferring details into a tracker and calendar adds overhead and increases the chance of missing a follow-up.
Workflow design
Receive: Gmail push notifications through Google Cloud Pub/Sub are intended to trigger processing when new mail arrives, rather than relying on continuous inbox polling.
Classify: categorize messages such as interview invitations, scheduling, status updates, recruiter contact, paperwork, or spam.
Extract: identify structured details, including interview dates and times.
Update: create or update job-tracker cards in Notion and prepare relevant Google Calendar events and preparation blocks.
Draft for review: generate suggested replies and place them in a review queue. Messages are not intended to be sent without explicit human approval.
Brief: compile a daily summary of job-search activity.
Engineering
The repository contains approximately 940 lines of Python organized into agent and integration modules for Gmail, Google Calendar, Notion, Pub/Sub, and an OpenRouter-configured LLM client. Configuration is handled through environment variables, with a guided setup script.
Verification and limitations
This is a prototype design; live Gmail, Calendar, Notion, and Pub/Sub integrations have not been tested against real accounts.
A Google Cloud project, OAuth credentials, and API keys are required to run the integrations.
There is no automated test suite.
Classification and extraction accuracy have not been measured.
An email agent designed to classify Gmail messages, extract interview details, update Notion, prepare calendar events, and queue reply drafts for human review.