Overview
Publishing teams that aggregate news from many sources spend hours each day reading, filtering, and repackaging content for different channels. This workflow turns that into a hands-free process that runs on a cron schedule.
How It Works
Source Monitoring
n8n polls a configurable list of RSS feeds on a 30-minute schedule. New items are compared against a Supabase table of already-processed item GUIDs to deduplicate across runs.
Classification
Each new item is sent to Claude with a classification prompt. Claude returns a JSON object with:
- Category (e.g. "AI Research", "Industry News", "Product Launches")
- Relevance score (0–10 for this client's audience)
- Sentiment (positive / neutral / negative)
Items below a relevance threshold are discarded.
Audience-Specific Rewriting
For items above the threshold, Claude rewrites a short summary in two styles:
- Technical (for developer-focused Slack channels)
- Executive (for the email newsletter — plain language, business impact emphasis)
Distribution
- Slack — technical summaries posted to the relevant channel based on category
- Email newsletter — executive summaries accumulated through the day, then batched into a digest sent via a transactional email API at a configured time
- Optional social — a shortened version queued for review before posting
Logging
Every item's full journey (source → score → category → distribution channel) is logged to Supabase for analytics.
Outcome
Eliminated ~2 hours/day of manual curation work. The team shifted from reading everything to reviewing only the workflow's daily summary log.