Case study: AI agents
AI email assistant that triages a busy executive inbox
Incoming email sorted by priority, matched to job leads and summarised, with alerts for what needs attention.
Overview
A busy executive needed help with this: incoming email sorted by priority, matched to job leads and summarised, with alerts for what needs attention.

The problem
The core problem was that a single unified inbox was handling several unrelated types of high-stakes communication, and none of it was being prioritized intelligently.
- Mixed-priority inbox: Job opportunities, interview confirmations, newsletters, and general messages all arrived in the same feed with no built-in way to tell urgent items from noise.
- Inconsistent manual triage: Deciding whether a job posting was actually a good match required reading full postings every time, a judgment call that is slow and inconsistent when done manually.
- Delayed response to time-sensitive items: Interview scheduling emails and strong job matches often need same-day attention, but manual inbox checking introduces unpredictable delays.
- Newsletter overload: Subscriptions and recurring senders clutter the inbox, and most contain nothing worth acting on, but skimming all of them still costs time daily.
- No structured record-keeping: Job leads, matches, and newsletter content had no consistent home for tracking, meaning good opportunities could get lost after the first read.
- Disconnected tools: Email, messaging, and job page content lived in separate systems with no automatic bridge between them.
What we built
The agent was built around a single Gmail trigger, with AI judgment layered in at every point where a real decision needed to be made rather than a fixed rule.
- Trigger: A Gmail node fires on every new incoming email, starting the workflow in real time as messages arrive.
- Data extraction (fixed logic): An Extract Email Data step parses the raw email into structured fields the rest of the workflow can use.
- AI category classification: A “DM: Category Allocator” AI node, equipped with its own tool access, reads the email content and classifies it into a category such as job posting, interview scheduling, generic message, or newsletter. This is a genuine AI judgment call, not a keyword match.
- Fixed rule-based routing: A JSON formatting step feeds a Route By Category router running in strict rules mode, which sends the email down one of four paths purely based on the AI’s classification output.
- Job posting path (AI scoring): For job-related emails, the agent fetches the full job page, extracts the job description, and combines it with candidate context before a “DM: Job Matching” AI node, also with tool access, scores how well the role matches the user’s profile.
- Fixed threshold decision: An Extract Score step pulls the numeric score, and a fixed rule checks whether it clears a match threshold, splitting into a high-match and low-match path.
- Interview scheduling path (AI interpretation): A “DM: Interview Scheduled” AI node reads interview-related emails and generates a real-time WhatsApp notification summarizing key details.
- Generic and newsletter paths (AI summarization and filtering): A “DM: Generic” AI node handles miscellaneous messages, while a separate skip-list check and a “DM: Important News” AI node filter newsletters, deciding which ones are worth logging as a digest versus silently skipped.
- ** Structured logging and alerting (mixed AI and fixed logic):** Every branch ends in either a Supabase insert for structured record-keeping or a WhatsApp notification for anything requiring immediate human attention.
How it works
The system runs on the tools listed below. Platform names appear here and in the stack, so you can see exactly what was used.
- Orchestration: n8n workflow automation
- Trigger and inbox: Gmail for real-time email monitoring
- AI/LLM: Multiple AI decision nodes for classification, job matching, and newsletter filtering
- Messaging: WhatsApp Business API for real-time alerts and notifications
- Data: Supabase for structured logging of job matches, digests, and low-match records
- Web data extraction: HTTP request and HTML content extraction for full job posting pages
- Routing logic: Rules-based router driven by AI classification output
Result
- Automated end-to-end triage of mixed-priority inbox content
- Eliminated manual reading of full job postings for every lead
- Accelerated response time on interview scheduling and strong job matches
- Reduced newsletter noise reaching the user's attention
- Enabled structured, searchable records of job matches and digests
Related
This project is an example of ai agents. If your team has a similar workflow, the pages below explain how we approach it, and the neighbouring case studies show the same ideas in other businesses.