Het probleem van herhalende vragen
In elk bedrijf zijn er vragen die steeds opnieuw worden gesteld. Nieuwe medewerkers die de onboarding niet kunnen vinden. Klanten die bellen voor het retourbeleid dat op de website staat. Teamleden die elkaar onderbreken voor leveranciersinformatie.
Een kennisbank lost dit op, maar traditionele kennisbanken worden slecht bijgehouden en zijn moeilijk te doorzoeken. Claude verandert dit: stel een vraag in natuurlijke taal, krijg direct het juiste antwoord uit je Notion-database.
We bouwen voor fictief communicatiebureau "Woordenschat" een AI-kennisbank die alle interne kennis ontsluit voor het team van 12 personen.
Stap 1: Notion kennisbank structureren
Maak in Notion een nieuwe page aan: "Kennisbank Woordenschat". Maak daarbinnen een database (Full page database) met de volgende properties:
• Titel (title) — onderwerp van het kennisitem
• Categorie (select): Processen / Klanten / Tools / HR / Financieel / Overig
• Trefwoorden (multi-select): voor betere doorzoekbaarheid
• Auteur (person): wie heeft dit aangemaakt
• Bijgewerkt op (last edited time): automatisch
• Status (select): Actueel / Verouderd / Review nodig
Voeg de belangrijkste kennisitems toe als database-pages. Begin met: retourbeleid, onboarding nieuwe medewerkers, veelgebruikte tools en inloggegevens, klantcommunicatie-richtlijnen, vergaderstructuur.
Stap 2: Notion API verbinding instellen
Ga naar notion.so/my-integrations en maak een nieuwe integration aan:
• Naam: "Claude Kennisbank"
• Type: Internal
• Capabilities: Read content, Update content
Kopieer de Integration Token (begint met "secret_").
Ga terug naar je kennisbank-database in Notion, klik rechtsboven op "...", kies "Add connections" en voeg je nieuwe integration toe.
Noteer ook de Database ID: dit staat in de URL van je database: notion.so/[workspace]/[DATABASE-ID]?v=...
Stap 3: n8n workflow voor kennisraadpleging
Maak een n8n workflow aan. Voeg toe:
Node 1: Webhook (POST) — ontvang vragen van je team
Node 2: HTTP Request — Notion API aanroepen om relevante paginas op te halen
Node 3: Code node — Notion output verwerken tot leesbare tekst
Node 4: HTTP Request — Claude aanroepen met de vraag + kennisbank-content
Node 5: Webhook response — antwoord terugsturen
De webhook URL geef je aan je team via een Slack bot, een Teams-integratie, of een eenvoudig intranet-formulier.
Stap 4: Notion database doorzoeken via API
In de HTTP Request node voor Notion:
URL: https://api.notion.com/v1/databases/[JOUW-DATABASE-ID]/query
Method: POST
Headers:
Authorization: Bearer [jouw-integration-token]
Notion-Version: 2022-06-28
Content-Type: application/json
Body (haal alle actuele items op):
{ "filter": { "property": "Status", "select": { "equals": "Actueel" } }, "page_size": 50 }
Dit geeft alle actuele kennisitems terug. In de Code node verwerk je dit naar een leesbare tekst-string voor Claude.
Stap 5: Code node — Notion output verwerken
In de Code node (JavaScript):
const pages = $input.first().json.results;
const kennisbank = pages.map(page => {
const titel = page.properties.Titel?.title[0]?.text?.content || "Geen titel";
const categorie = page.properties.Categorie?.select?.name || "";
// Haal de page content op via aparte API call (zie stap 6)
return `## ${titel} (${categorie})`;
}).join("\n\n");
return [{ json: { kennisbank, question: $json.question } }];
Opmerking: Notion geeft via database-query alleen properties terug, niet de volledige page-content. Voor volledige content: voeg een extra Notion API call toe per page (GET /pages/{page_id}/blocks).
Stap 6: Page content ophalen (optioneel maar aanbevolen)
Voor een rijkere kennisbank, haal ook de page-content op. Voeg een "Loop Over Items" node toe na de database-query, met daarbinnen een HTTP Request:
URL: https://api.notion.com/v1/blocks/{{ $json.id }}/children
Method: GET
Headers: zelfde als stap 4
In de Code node: combineer alle block-texts tot een leesbare string per page.
Beperk dit tot de 10 meest relevante paginas op basis van trefwoordmatch, anders wordt de Claude-prompt te lang.
Stap 7: Claude aanroepen met de vraag
HTTP Request naar Claude:
URL: https://api.anthropic.com/v1/messages
Body:
{ "model": "claude-sonnet-4-5", "max_tokens": 1000, "messages": [{"role":"user","content":"Je bent de kennisassistent van Woordenschat, een communicatiebureau. Beantwoord de onderstaande vraag uitsluitend op basis van de kennisbank. Als het antwoord niet in de kennisbank staat, zeg dat dan eerlijk en verwijs naar de juiste collega.\n\nKennisbank:\n{{ kennisbank_content }}\n\nVraag van medewerker:\n{{ question }}"}] }
Stap 8: Antwoord terugsturen naar het team
Configureer de Respond to Webhook node om het Claude-antwoord terug te sturen. Formatteer de response als JSON:
{ "antwoord": "{{ claude_response }}", "bronnen": ["pagina 1", "pagina 2"] }
Koppel de webhook aan een Slack-bot via Slack API voor naadloze teamintegratie. Teamleden typen /kennisbank [vraag] in Slack en krijgen direct antwoord.
Stap 9: Nieuwe kennisitems automatisch toevoegen
Maak een tweede workflow voor het toevoegen van nieuwe kennisitems. Trigger: Slack slash-command /kennisbank-toevoegen of een Google Form.
Claude genereert automatisch een gestructureerd kennisitem op basis van de invoer:
Prompt: "Maak een duidelijk, gestructureerd kennisbankitem voor een intern systeem op basis van de volgende informatie: {{ invoer }}. Geef: 1) Duidelijke titel, 2) Gestructureerde uitleg in maximaal 300 woorden, 3) 3-5 relevante trefwoorden, 4) Categorie (Processen / Klanten / Tools / HR / Financieel / Overig)."
n8n maakt daarna automatisch een nieuwe page aan in de Notion-database via POST naar /pages.
Stap 10: Kwaliteitsborging instellen
Voeg een maandelijkse review-workflow toe:
1. Schedule trigger: eerste maandag van de maand, 09:00
2. Notion query: haal alle items op die > 90 dagen niet zijn bijgewerkt
3. E-mail naar auteurs: "Je kennisitem [titel] is al 3 maanden niet bijgewerkt. Nog actueel?"
4. Bij geen reactie na 7 dagen: automatisch status wijzigen naar "Review nodig"
Dit houdt de kennisbank actueel zonder handmatige tijdsinvestering.
Troubleshooting
Notion API geeft 403 terug: controleer of de integration correct is verbonden aan de database (Add connections in de database-settings, niet in de workspace-settings).
Claude antwoord is te algemeen: voeg meer specifieke page-content toe aan de prompt. Haal minimaal de eerste 500 woorden per pagina op via de blocks API.
Webhook time-out: de Notion-query + Claude-call kan 5-8 seconden duren. Voeg een "Geef me even een moment..." tussenresponse toe en stuur het definitieve antwoord asynchroon.
Kennisbank te groot voor Claude-context: filter op categorie op basis van trefwoorden in de vraag voor je Claude aanroept. Dit verlaagt de tokenkosten en verbetert de accuratesse.
Resultaten na implementatie
Teams die een AI-kennisbank implementeren rapporteren:
• 60-70% minder interne vragen per e-mail en Slack
• Snellere onboarding van nieuwe medewerkers (zelfbediening)
• Consistentere antwoorden naar klanten (iedereen put uit dezelfde bron)
De tijdsinvestering voor setup: 2-3 uur. De tijdsbesparing per week: 1-3 uur voor het team gecombineerd. Break-even: week 2.