Moosa Memon
← Index of work

A daily agenda built from your inbox, Slack and calendar

TaskPilot: four LangGraph agents read across Gmail, Slack and Google Calendar, extract genuine action items, merge cross-channel duplicates, score priority and effort, and block-schedule a realistic day around existing meetings.

Type
Agents
Stack
LangGraph / FastAPI / Supabase / n8n / RAG
Status
Complete; Docker Compose, 13 tests, n8n connector workflows included

Problem

Founders and knowledge workers get tasks thrown at them across three or four disconnected channels: inbox threads, Slack pings, meeting action items, and an already half-full calendar. The result is one or two hours of triage every morning and follow-ups that fall through anyway.

System

Ingestion comes through pre-built n8n workflows (or direct REST) for Gmail, Slack and Calendar. Then a stateful LangGraph pipeline with four roles: an extraction agent that discards newsletters, receipts and bot noise while isolating real asks and deadlines; a consolidation agent that uses semantic similarity to merge an email request and its Slack follow-up into one task with multi-source provenance; a prioritization agent that quantifies urgency, deadline proximity and cognitive effort into tiers and energy levels; and a scheduling agent that solves block placement around existing meetings, lunch, and peak-focus hours without overflowing the calendar.

RAG memory recalls past decisions and client agreements relevant to incoming requests. Output is a Markdown briefing and an RFC-compliant .ics file, and every scheduled block links back to the original message quote.

Worth knowing

The audit trail is the feature that makes this trustworthy rather than magical: when the agenda says “review the Acme contract, 45 minutes, 10:15,” you can click through to the exact email sentence that generated it. A planner you can’t argue with is a planner you’ll stop using.

Have a workflow that looks like this?

Most of these start as a messy, manual process someone got tired of. Twenty minutes is usually enough to sketch how I'd approach yours.