Handleidingen · n8n

Automatische nieuwsmonitor bouwen met n8n, RSS en Claude

Bouw een automatische nieuwsmonitor met RSS, n8n en Claude. Samenvattingen in Slack of e-mail.

🟢 Beginner — geen code vereist ⏱ 45 minuten
Tools: n8nClaudeRSS
Goud-op-zwart illustratie: spreadsheetdata voedt een dashboard met grafieken, marktradar en nieuwsbron

In het kort

  1. 1. RSS feeds verzamelen
  2. 2. n8n-workflow en schedule trigger
  3. 3. RSS-nodes mergen en filteren
  4. 4. Artikelen bundelen en samenvatten met Claude
  5. 5. Digest versturen naar Slack of Telegram
  6. 6. Testen en activeren

Stel je voor: elke ochtend om 08:00 ontvang je automatisch een samenvatting van het laatste nieuws in jouw branche, gefilterd op relevantie en samengevat door Claude. Geen nieuwssites afstruinen, geen RSS-feeds handmatig doorspitten. Gewoon een overzicht van wat er toe doet.

In deze handleiding bouw je stap voor stap een automatische nieuwsmonitor met n8n. De workflow haalt dagelijks artikelen op uit RSS feeds, filtert op trefwoorden, laat Claude een beknopte samenvatting schrijven en stuurt het resultaat naar Slack of Telegram.

Wat je nodig hebt

  • n8n account (cloud of self-hosted) - gratis plan volstaat
  • Claude API key via console.anthropic.com (ca. 1 cent per run)
  • Slack workspace of Telegram bot (voor de output)
  • Minimaal 3 RSS feed URLs uit jouw branche

Stap 1: RSS feeds verzamelen

Begin met het verzamelen van relevante RSS feed URLs. Bijna elke nieuwssite heeft een RSS feed, meestal te vinden op /feed, /rss of /rss.xml. Voor Nederlandse MKB-ondernemers zijn dit goede startpunten:

  • Sprout.nl: https://sprout.nl/feed
  • Techcrunch AI: https://techcrunch.com/tag/artificial-intelligence/feed/
  • Tweakers.net: https://tweakers.net/feeds/nieuws.xml
  • The Verge AI: https://www.theverge.com/rss/ai/index.xml

Stap 2: n8n workflow aanmaken

Log in op je n8n instance en klik op 'New Workflow'. Geef de workflow de naam 'Dagelijkse Nieuwsmonitor'. We beginnen met een Schedule Trigger node.

Schedule Trigger configureren

Klik op het '+' icoontje en zoek naar 'Schedule Trigger'. Stel in op 'Cron Expression' en gebruik de volgende waarde voor dagelijks om 07:30:

30 7 * * 1-5

Dit triggert de workflow elke werkdag (maandag t/m vrijdag) om 07:30. Wil je ook in het weekend? Gebruik: 30 7 * * *

Stap 3: RSS Feed node toevoegen

n8n heeft een ingebouwde RSS Feed node. Voeg die toe en koppel aan de Schedule Trigger. Configureer de node met je eerste RSS feed URL:

{
  "feedUrl": "https://sprout.nl/feed",
  "limit": 10
}

De node haalt de 10 meest recente artikelen op. Voor meerdere feeds gebruik je een Merge node (zie stap 4). De RSS node geeft als output een array van artikelen met velden: title, link, pubDate, contentSnippet.

Stap 4: Meerdere feeds samenvoegen

Voeg voor elke extra RSS feed een nieuwe RSS Feed node toe, parallel aan de eerste. Koppel daarna alle nodes aan een Merge node (type: Append). De Merge node combineert alle artikelen in een enkele array.

Stap 5: Filteren op datum

We willen alleen artikelen van de afgelopen 24 uur. Voeg een Filter node toe na de Merge node met deze conditie:

// Filter: pubDate is binnen 24 uur
const pubDate = new Date(item.json.pubDate);
const now = new Date();
const diff = (now - pubDate) / (1000 * 60 * 60);
return diff < 24;

Gebruik hiervoor een Code node (JavaScript) in plaats van de standaard Filter node, zodat je de datum berekening correct uitvoert.

Stap 6: Trefwoorden filteren (optioneel)

Als je alleen artikelen wilt over specifieke onderwerpen (bijv. 'AI', 'automatisering', 'MKB'), voeg een Code node toe met trefwoordfiltering:

const keywords = ['AI', 'automatisering', 'kunstmatige intelligentie', 'n8n', 'chatbot'];
const items = $input.all();

return items.filter(item => {
  const title = (item.json.title || '').toLowerCase();
  const snippet = (item.json.contentSnippet || '').toLowerCase();
  return keywords.some(kw => 
    title.includes(kw.toLowerCase()) || 
    snippet.includes(kw.toLowerCase())
  );
});

Stap 7: Artikelen samenvoegen voor Claude

Claude kan niet tientallen losse API calls verwerken. We bundelen alle gefilterde artikelen in een enkele tekst en sturen dat naar Claude in een API call. Gebruik een Code node:

const items = $input.all();
const artikelen = items.map((item, i) => {
  return `${i+1}. ${item.json.title}\nBron: ${item.json.link}\nSamenvatting: ${item.json.contentSnippet?.substring(0, 300) || 'Geen beschrijving'}\n`;
}).join('\n---\n');

return [{ json: { artikelen, aantalArtikelen: items.length } }];

Stap 8: Claude API node configureren

Voeg een HTTP Request node toe en configureer de Claude API call:

{
  "method": "POST",
  "url": "https://api.anthropic.com/v1/messages",
  "headers": {
    "x-api-key": "{{ $credentials.claudeApiKey }}",
    "anthropic-version": "2023-06-01",
    "content-type": "application/json"
  },
  "body": {
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [{
      "role": "user",
      "content": "Je bent een nieuwsredacteur voor een MKB-ondernemer. Analyseer de volgende nieuwsartikelen en schrijf een beknopte Nederlandse digest (max 500 woorden). Groepeer gerelateerde berichten, noem de bron, en sluit af met 1 praktische tip voor MKB.\n\nARTIKELEN:\n{{ $json.artikelen }}"
    }]
  }
}

Stap 9: Lege resultaten afhandelen

Op rustige dagen (feestdagen, zomers) kunnen er 0 artikelen zijn die de filters passeren. Voeg een IF node toe voor de Claude stap:

// Conditie IF node
{{ $json.aantalArtikelen > 0 }}

De 'false' branch stuur je naar een Slack node met de tekst 'Geen relevant nieuws vandaag'. De 'true' branch gaat naar Claude.

Stap 10: Versturen naar Slack

Koppel de Claude output aan een Slack node. Voeg eerst de Slack credentials toe in n8n Settings. Configureer de Slack node:

{
  "channel": "#nieuws-digest",
  "text": "*Dagelijkse AI & Automatisering Digest - {{ $now.format('DD MMMM YYYY') }}*\n\n{{ $json.content[0].text }}\n\n_Gegenereerd door workflows.nl nieuwsmonitor_"
}

Stap 11: Alternatief - Telegram output

Gebruik je liever Telegram? Maak een Telegram bot via @BotFather, noteer de bot token en jouw chat ID. Vervang de Slack node door een Telegram node in n8n met deze configuratie:

{
  "chatId": "{{ $credentials.telegramChatId }}",
  "text": "*Nieuws Digest {{ $now.format('D MMM') }}*\n\n{{ $json.content[0].text }}",
  "parseMode": "Markdown"
}

Stap 12: Testen en activeren

Klik op 'Test Workflow' om de volledige flow handmatig te starten. Controleer bij elke node of de output correct is. Kijk of Claude een goede samenvatting produceert en of het Slack bericht correct opmaakt. Als alles klopt: klik op 'Activate' (toggle rechtsboven).

Troubleshooting

Probleem: RSS node geeft fout 'Invalid feed'

Oplossing: controleer de feed URL handmatig in de browser. Sommige sites blokkeren bots. Voeg een User-Agent header toe aan de node: 'Mozilla/5.0 (compatible; n8n-nieuws-bot/1.0)'

Probleem: Claude geeft lege response

Oplossing: controleer of je API key correct staat in n8n credentials. Controleer ook of de artikelen tekst correct doorkomt naar Claude (log de input in de Code node). Claude vereist minimaal 50 tokens aan input.

Probleem: Geen artikelen in output

Oplossing: het datumfilter (stap 5) is mogelijk te strikt. Test door de grens te verruimen naar 48 uur om te controleren of er artikelen binnenkomen. Controleer ook of de pubDate velden aanwezig zijn in de RSS feed.

Probleem: Slack/Telegram berichten worden niet verzonden

Oplossing: verifieer de credentials opnieuw. Voor Slack: zorg dat de bot-app is toegevoegd aan het kanaal. Voor Telegram: controleer of de bot een bericht heeft ontvangen (privacy mode kan het chat ID blokkeren).

Uitbreidingen

  • Voeg een Google Sheets node toe om artikelen op te slaan voor een wekelijkse terugblik
  • Laat Claude ook een sentiment analyse doen per artikel (positief/negatief/neutraal)
  • Stuur verschillende digests naar verschillende teams (marketing, sales, management) met afgestemde trefwoorden
  • Voeg Perplexity toe als aanvulling voor real-time nieuws dat niet via RSS beschikbaar is

De workflow die je nu hebt gebouwd is meer dan een nieuwsmonitor: het is een fundament voor elke AI-gestuurde informatieverwerking. Dezelfde structuur werkt voor concurrentie-monitoring, klantreview-analyse en marktonderzoek.

Veelgestelde vragen

Wat bouw ik in 45 minuten met deze nieuwsmonitor?

Een n8n-workflow die werkdagen om 07:30 RSS scant, filtert op de laatste 24 uur en optionele trefwoorden, Claude een digest laat schrijven en die naar Slack of Telegram stuurt.

Welke RSS-feeds zijn een goed startpunt?

Verzamel minstens drie URL's: Sprout.nl/feed, Tweakers nieuws.xml en de TechCrunch AI-feed. Bijna elke nieuwssite heeft /feed of /rss.xml.

Hoe voorkom ik een Claude-call als er geen artikelen zijn?

Zet een IF-node vóór de API: 0 treffers krijgt Slack-tekst 'Geen relevant nieuws vandaag'. Anders bundel je titels en links in één prompt. API-setup staat in de Claude API-gids.

Stuur ik de digest naar Slack of Telegram?

Beide kan. Koppel de Claude-output aan een Slack-node (bot in het kanaal) of vervang die node door Telegram met BotFather-token en chat ID.

Wat als de RSS-node 'Invalid feed' geeft?

Open de feed-URL in je browser. Sommige sites blokkeren bots: zet een User-Agent op de node. Als het datumfilter te leeg is, verruim naar 48 uur en check of pubDate in de feed zit.

Gerelateerd

Nieuwsbrief

Meer handleidingen en tips?

Elke week de beste agentic AI inzichten en nieuwe handleidingen in je inbox.

Gratis aanmelden →