Case Study 01 · Career Services / Newsletter Media
Weekly AI Job Newsletter Automation
From a full day of manual curation to a newsletter that writes itself.
Client
Jobs I U
Industry
Career Services / Newsletter Media
Stack
n8n, OpenAI, Google Sheets, Gmail API, Webhooks
90%
Manual work reduced
~6 hrs → ~30 min
Weekly production time
Fully automated
Subscriber management
The business challenge
Every week, the Jobs I U team manually browsed job sources, copy-pasted listings into a spreadsheet, filtered out anything irrelevant or duplicate, wrote summaries by hand, built the newsletter in their email tool, and processed every unsubscribe request that came in by reply email.
The manual process wasn't just slow — it didn't scale. Every week the team spent producing the newsletter was a week not spent on anything else in the business, and as the subscriber list grew, so did the volume of unsubscribe and preference-change requests someone had to handle by hand. The team needed the same editorial quality their subscribers expected, at a fraction of the time cost, without hiring anyone new.
Objectives
- Automate job collection from the website subscription funnel through to a clean, deduplicated dataset
- Use AI to filter and summarize listings the way an editor would, not just repost raw postings
- Generate a ready-to-send newsletter automatically from that data every week
- Handle subscriber management, including unsubscribes, with zero manual intervention
The solution
A full n8n pipeline now runs the entire process end-to-end: new subscribers from the website land directly in a managed Google Sheet, an AI analysis step reviews and filters incoming job data on a schedule, a second AI pass drafts the newsletter copy in Jobs I U's established voice, and the finished issue is sent via the Gmail API to the current subscriber list — with unsubscribe requests processed automatically.
System architecture
Two data flows converge in n8n: a subscriber pipeline (signup → Sheet → suppression list) and a content pipeline (job sources → AI filtering → AI drafting → send). Both share the same subscriber Sheet as the single source of truth.
Workflow breakdown
Subscription Capture
The website sign-up form pushes new subscribers directly into a managed Google Sheet via webhook, with duplicate-email checking on entry.
Job Data Collection
A scheduled workflow pulls fresh job listings from configured sources into a staging sheet.
AI Filtering & Analysis
An OpenAI-powered step reviews each listing against the newsletter's editorial criteria, discards irrelevant or duplicate postings, and tags the rest by category.
Newsletter Generation
A second AI step drafts the full newsletter — headline, summaries, and formatting — in Jobs I U's established tone.
Delivery
The finished issue is sent to the full active subscriber list through the Gmail API on a fixed weekly schedule.
Unsubscribe Handling
Unsubscribe requests are detected automatically and the subscriber is removed from the Sheet before the next send — no manual list management.
Technical implementation
- n8n orchestrates the entire pipeline on a scheduled trigger, with a separate webhook-triggered branch for real-time subscription and unsubscribe events.
- Google Sheets serves as the lightweight subscriber database, chosen deliberately so the Jobs I U team can view and manually adjust the list without needing separate software.
- OpenAI's API is called twice per run — once for filtering/classification against structured criteria, and once for long-form newsletter drafting — using two distinct prompt configurations tuned for each task.
- The Gmail API handles delivery so newsletters send from Jobs I U's own domain and inbox, preserving deliverability and sender reputation.
AI prompt strategy
The filtering prompt is deliberately narrow and rule-based — given explicit inclusion/exclusion criteria and asked to output structured yes/no decisions with a short reason, keeping false positives low and the AI's decisions auditable. The drafting prompt is the opposite: given the filtered listings plus past issues as style references, and asked to write in Jobs I U's established voice rather than a generic AI tone. Splitting these into two prompts — one strict, one creative — produced noticeably better results than one combined call.
Integrations used
Results
What used to consume most of a working day now runs unattended on a schedule, with the team spending closer to 30 minutes reviewing the draft before it sends rather than building it from scratch. Subscriber growth stopped being an operational burden — the system handles list management at any scale the same way it handles it today.
Lessons learned
- Splitting the AI's job into a strict filtering pass and a separate creative drafting pass produced far more reliable output than one large, general-purpose prompt.
- Using Google Sheets as the subscriber store — rather than a 'proper' database — was the right call for a non-technical team that wanted visibility without complexity.
- Building unsubscribe handling in from day one, rather than as an afterthought, avoided a whole category of support headaches as the list grew.
Want a system like this for your business?
Tell me about your process and I'll get back to you within 24 hours with next steps.