User built an n8n workflow to automate email triage, reducing daily sorting time. The flow uses a Gmail trigger, basic rule pre-filtering, LLM classification (for category, deadline, sender type, confidence), and then deterministic routing based on AI output and confidence levels. They found that pure AI was too inconsistent and pure rules too rigid, advocating for a hybrid approach.
If you deal with: * client emails * invoices / payments * internal team threads * random newsletters * and constant is this urgent? decisions this might be useful. I was spending \~25–30 min every morning just sorting emails. Not replying. Just deciding: is this urgent? can it wait? do I even need to care? So I built a small n8n workflow instead of trying another Gmail filter. Flow is simple: Gmail trigger → basic rule pre-filter → LLM classification → deterministic routing. First I skip obvious stuff (newsletters, no-reply, system emails). Then I send the remaining email body to an LLM just for classification (not response writing). Structured output only. Prompt: You are an email triage classifier. Classify into: - URGENT - ACTION_REQUIRED - FYI - IGNORE Rules: 1. Deadline within 72h → URGENT 2. External sender requesting action → ACTION_REQUIRED 3. Invoice/payment/contract → ACTION_REQUIRED 4. Informational only → FYI 5. Promotional/automated → IGNORE Also extract: - deadline (ISO or null) - sender_type (internal/external) - confidence (0-100) Respond ONLY in JSON: { "category": "", "deadline": "", "sender_type": "", "confidence": 0 } Email: """ {{email_body}} """ Then in n8n I don’t blindly trust the AI. If: * category = URGENT → star + label Priority * ACTION\_REQUIRED + confidence > 70 → label Action * FYI → Read Later * IGNORE → archive * low confidence → manual review What didnt work: pure Gmail rules = too rigid pure AI = too inconsistent AI + deterministic layer worked. After \~1 week: \~30 min → \~10–12 min but the bigger win was removing \~20 micro-decisions before 9am. Still tuning thresholds. Anyone else combining LLM classification with rule-based routing instead of replacing rules entirely?