Teaching My AI Assistant to Triage My Email Inbox and Surface Deadlines in Obsidian

Robotic AI assistant sorting inbox envelopes and pinning scheduled deadlines to a glowing Obsidian knowledge graph

     There is a specific kind of quiet panic that sets in when you realize your email inbox has accumulated eighty-four unread messages before you even finish your morning coffee (and no, clicking "mark all as read" does not count as a strategy). Most of those incoming notes are pure automated noise; shipping receipts, automated server newsletters, and service notifications that do not need any human attention at all. But buried somewhere inside that pile is usually the one message that actually matters - a reply from a recruiter asking for your availability tomorrow, a reminder about an expiring domain registration, or a project deadline you promised someone last Thursday. Trying to stay on top of that daily avalanche with traditional email filters always ends up being a fragile game of keyword whack-a-mole; either your rules miss the important reply completely, or they tuck an urgent scheduling thread into an obscure folder where you will not see it until next week.

     Because I run a local homelab with plenty of storage and compute, I decided to teach an autonomous AI agent to handle the morning triage for me. The idea was simple: instead of giving a third-party cloud service direct access to my inbox or relying on brittle regex scripts, I set up a headless container that mirrors incoming mail down to a local Maildir repository on my storage server. Once those raw messages are sitting on my local network (where they can be indexed safely without sharing email credentials or personal data with random cloud aggregators), I let a local AI agent run through the new files during my morning cron run. The agent scans the headers, parses the email body, and classifies what it finds into clean buckets like project updates, scheduling invitations, and general announcements.

     The really fun part is how the agent reports what it discovered. Instead of sending me another noisy email or pinging my phone with push alerts, it talks directly to my local Obsidian knowledge vault. It opens my daily note, cross-references any action items against my existing task lists (so I do not double-book myself or forget someone's question), and drops a neat daily briefing right under my morning plan. If a client asks for a phone screen by Friday, the agent extracts the deadline, adds a linked calendar note, and summarizes the context in two punchy sentences; meaning I can glance at my morning dashboard and immediately know what requires a response before my first meeting. It turns a chaotic inbox into an organized, actionable checklist before I even sit down at my desk.

     What makes this autonomous pipeline so dependable in practice is having a resilient model router running underneath it. When my local GPU is idle, the agent runs entirely against local open-weight models for zero API cost; but if my workstation is busy compiling code or running a long benchmark (which happens more often than I care to admit), the router automatically fails over to lightweight cloud endpoints so my morning briefing never misses a beat. If you want to build this kind of autonomous assistant for your own homelab workflows, I put together a step-by-step tutorial on By Design Won't Fix showing how to set up Hermes Agent locally with a LiteLLM router and free cloud fallbacks. Teaching an AI assistant to handle your inbox plumbing takes the stress out of mornings - leaving you free to focus on building cool stuff instead of drowning in notifications.

Later,
     SteveO