n8nai-agentautomatiseringtutorial
n8n AI agent tutorial: automatiseer met AI
12 januari 202620 min leestijdDoor Albert Barth
n8n AI Agent Tutorial: Bouw Intelligente Automatiseringen met LLMs
Artificial Intelligence verandert de manier waarop we software bouwen en taken automatiseren. Met n8n kun je de kracht van Large Language Models (LLMs) combineren met praktische automatiseringen om echte AI agents te bouwen - zonder uitgebreide programmeerkennis. In deze uitgebreide tutorial leer je stap voor stap hoe je AI agents bouwt, configureert en optimaliseert.
Wat is een AI Agent?
Een AI agent is meer dan een simpele chatbot. Het is een autonome entiteit die:
- Begrijpt - Interpreteert natuurlijke taal en context
- Plant - Bepaalt welke stappen nodig zijn om een doel te bereiken
- Handelt - Voert acties uit via tools en integraties
- Leert - Past gedrag aan op basis van feedback en resultaten
In tegenstelling tot traditionele workflows die een vaste volgorde volgen, kunnen AI agents dynamisch beslissen welke acties ze nemen op basis van de situatie.
Verschil tussen Chatbot en AI Agent
| Aspect | Chatbot | AI Agent |
|---|---|---|
| Besluitvorming | Vaste regels/scripts | Dynamisch, context-afhankelijk |
| Acties | Beperkt tot responses | Kan externe tools aanroepen |
| Complexiteit | Simpele Q&A | Multi-step taken |
| Aanpasbaarheid | Statisch | Leert en past aan |
n8n's AI Capabilities
n8n heeft uitgebreide ondersteuning voor AI en LLMs gebouwd. De belangrijkste componenten zijn:
AI Nodes in n8n
- AI Agent Node - De centrale node voor het bouwen van agents
- OpenAI Node - Directe integratie met GPT modellen
- Anthropic Claude Node - Integratie met Claude modellen
- Ollama Node - Lokale LLMs draaien
- LangChain Nodes - Geavanceerde AI workflows
Ondersteunde LLM Providers
| Provider | Modellen | Beste voor |
|---|---|---|
| OpenAI | GPT-4o, GPT-4, GPT-3.5 | Algemeen gebruik, function calling |
| Anthropic | Claude 3 Opus, Sonnet, Haiku | Lange documenten, analyse, veiligheid |
| Gemini Pro, Gemini Flash | Multimodal taken, snelle responses | |
| Ollama | Llama 3, Mistral, CodeLlama | Privacy, geen API kosten, experimenteren |
| Groq | Llama 3, Mixtral | Snelheid, lage latency |
Benodigdheden
Voordat je begint, zorg dat je het volgende hebt:
- n8n instance - Cloud account of self-hosted installatie
- API key voor minimaal 1 LLM provider (OpenAI, Anthropic, of Ollama)
- Basiskennis van n8n workflows (triggers, nodes, connections)
- Use case - Een concreet probleem dat je wilt oplossen
API Keys Verkrijgen
OpenAI:
- Ga naar platform.openai.com
- Maak een account aan en voeg betaalmethode toe
- Genereer een API key onder "API Keys"
Anthropic:
- Ga naar console.anthropic.com
- Maak een account aan
- Genereer een API key
Ollama (gratis, lokaal):
- Installeer Ollama:
curl -fsSL https://ollama.ai/install.sh | sh - Pull een model:
ollama pull llama3 - Geen API key nodig, draait lokaal
Je Eerste AI Agent Bouwen: Stap voor Stap
Laten we een praktische AI agent bouwen: een klantenservice assistent die emails beantwoordt, orders kan opzoeken, en escaleert wanneer nodig.
Stap 1: Workflow Aanmaken
- Open n8n en klik op "New Workflow"
- Noem de workflow "AI Klantenservice Agent"
- Voeg een beschrijving toe
Stap 2: Trigger Configureren
Voeg een trigger toe die de agent activeert:
Optie A: Email Trigger (Gmail)
Node: Gmail Trigger
Settings:
- Poll Interval: Every Minute
- Label: Support (filter op support emails)Optie B: Webhook (voor chat integratie)
Node: Webhook
Settings:
- HTTP Method: POST
- Path: /customer-service
- Authentication: Header AuthStap 3: AI Agent Node Toevoegen
- Zoek naar "AI Agent" in de node bibliotheek
- Sleep de node naar je canvas
- Verbind met je trigger
Stap 4: LLM Configureren
In de AI Agent node:
Model:
- Provider: OpenAI (of Anthropic)
- Model: gpt-4o (of claude-3-sonnet)
- Temperature: 0.3 (lager = meer consistent)Stap 5: System Prompt Schrijven
De system prompt definieert het gedrag van je agent. Dit is cruciaal voor goede resultaten:
Je bent een vriendelijke en professionele klantenservice medewerker voor TechShop Nederland.
## Je Rol
- Help klanten met vragen over bestellingen, producten en retourzendingen
- Wees altijd behulpzaam, geduldig en empathisch
- Los problemen zelfstandig op waar mogelijk
- Escaleer naar een mens bij complexe klachten of speciale verzoeken
## Bedrijfsinformatie
- Bedrijf: TechShop Nederland
- Openingstijden: Ma-Vr 9:00-17:00
- Email: support@techshop.nl
- Telefoon: 020-1234567
## Beleid
- Levertijd: 1-3 werkdagen binnen Nederland
- Retourbeleid: 30 dagen bedenktijd, gratis retour
- Garantie: 2 jaar op alle producten
- Betaalmethoden: iDEAL, creditcard, PayPal, Klarna
## Beschikbare Tools
Je hebt toegang tot de volgende tools:
1. check_order_status - Zoek de status van een bestelling op
2. get_product_info - Haal productinformatie op
3. create_return_request - Start een retourverzoek
4. escalate_to_human - Escaleer naar een menselijke medewerker
## Gedragsregels
1. Vraag altijd om het ordernummer voordat je orderstatus controleert
2. Verifieer de klant door te vragen naar email of telefoonnummer
3. Bied proactief oplossingen aan, wacht niet tot de klant vraagt
4. Bij klachten: toon eerst empathie, dan pas oplossing
5. Beloof nooit korting of compensatie zonder goedkeuring (escaleer)
6. Als je iets niet weet: wees eerlijk en escaleer
## Toon en Stijl
- Informeel maar professioneel (je/jij, niet u)
- Kort en bondig, geen lange lappen tekst
- Gebruik emoji's spaarzaam (alleen bij positief nieuws)
- Sluit altijd af met een vraag of call-to-actionStap 6: Tools Toevoegen
De kracht van AI agents zit in tools. Dit zijn acties die de agent kan uitvoeren:
Tool 1: Order Status Check
Voeg een "Tool" sub-node toe met:
Name: check_order_status
Description: Zoek de status van een bestelling op basis van ordernummer
Parameters:
- order_id (string, required): Het ordernummer
Implementation:
→ HTTP Request Node naar je order API
→ Return: order status, tracking info, verwachte leverdatumTool 2: Product Info
Name: get_product_info
Description: Haal informatie op over een product
Parameters:
- product_name (string): Productnaam of zoekterm
- product_id (string): Product ID indien bekend
Implementation:
→ Database Query of API call
→ Return: naam, prijs, beschrijving, voorraad, specsTool 3: Retourverzoek Aanmaken
Name: create_return_request
Description: Start een retourverzoek voor een bestelling
Parameters:
- order_id (string, required): Ordernummer
- reason (string, required): Reden voor retour
- items (array): Welke items retour (leeg = alles)
Implementation:
→ API call naar retour systeem
→ Email trigger naar warehouse
→ Return: retournummer, instructies, label URLTool 4: Escalatie naar Mens
Name: escalate_to_human
Description: Escaleer het gesprek naar een menselijke medewerker
Parameters:
- reason (string, required): Waarom escalatie nodig is
- priority (enum: low/medium/high): Urgentie
- summary (string): Samenvatting van het gesprek
Implementation:
→ Create ticket in helpdesk systeem
→ Slack notificatie naar support team
→ Return: ticket nummer, geschatte wachttijdStap 7: Output Configureren
Na de AI Agent, voeg nodes toe om de response te verwerken:
Optie A: Email Response
Node: Gmail (Send)
To: {{$json.customer_email}}
Subject: Re: {{$json.original_subject}}
Body: {{$json.ai_response}}Optie B: Webhook Response
Node: Respond to Webhook
Response Code: 200
Response Body:
{
"response": "{{$json.ai_response}}",
"actions_taken": {{$json.tool_calls}},
"escalated": {{$json.was_escalated}}
}Stap 8: Testen
- Klik op "Execute Workflow"
- Gebruik een test input:
{
"message": "Hoi, ik heb mijn bestelling nog niet ontvangen. Order #12345",
"customer_email": "test@example.com"
}- Controleer of de agent:
- De juiste tool aanroept (check_order_status)
- Een passend antwoord formuleert
- De juiste toon aanhoudt
Geavanceerde AI Agent Technieken
Memory en Context
Standaard heeft de AI Agent geen geheugen tussen conversaties. Voor chat-applicaties wil je context behouden:
Window Buffer Memory:
Memory Type: Window Buffer
Window Size: 10 (laatste 10 berichten)Vector Store Memory:
Memory Type: Vector Store
Vector Store: Pinecone / Supabase / Chroma
Embedding Model: text-embedding-ada-002Implementatie met Supabase:
-- Maak een chat_history tabel
CREATE TABLE chat_history (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
conversation_id UUID NOT NULL,
role TEXT NOT NULL, -- 'user' of 'assistant'
content TEXT NOT NULL,
metadata JSONB,
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Index voor snelle lookups
CREATE INDEX idx_chat_history_conversation
ON chat_history(conversation_id, created_at);In n8n:
- Laad vorige berichten bij start van workflow
- Voeg toe aan de prompt als context
- Sla nieuwe berichten op na elke interactie
Retrieval Augmented Generation (RAG)
Voor kennisintensieve agents, gebruik RAG om relevante documenten op te halen:
1. Document Loader
→ Laad FAQ, handleidingen, productinfo
2. Text Splitter
→ Splits in chunks van 500-1000 tokens
3. Embeddings
→ Genereer embeddings met OpenAI/Cohere
4. Vector Store
→ Sla op in Pinecone/Supabase/Chroma
5. Retriever (in agent)
→ Zoek relevante chunks op basis van vraag
6. Context Injection
→ Voeg relevante info toe aan promptFunction Calling vs Tool Use
Er zijn twee manieren om tools te implementeren:
Native Function Calling (OpenAI/Claude):
- Model bepaalt wanneer tool aan te roepen
- Structured output met parameters
- Meerdere tools tegelijk mogelijk
const tools = [{
type: "function",
function: {
name: "check_order",
description: "Check order status",
parameters: {
type: "object",
properties: {
order_id: { type: "string", description: "Order ID" }
},
required: ["order_id"]
}
}
}];Manual Tool Calling:
- Je bepaalt de logica in n8n
- Meer controle, minder flexibiliteit
- Switch node op basis van intent
Multi-Agent Architectuur
Voor complexe use cases kun je meerdere gespecialiseerde agents combineren:
Orchestrator Agent
├── Sales Agent (product vragen, aanbevelingen)
├── Support Agent (problemen, klachten)
├── Billing Agent (facturen, betalingen)
└── Technical Agent (technische vragen)De orchestrator analyseert de vraag en routeert naar de juiste specialist-agent.
Praktijkvoorbeelden
Voorbeeld 1: Email Triage Agent
Automatisch emails categoriseren en routeren:
Trigger: Gmail (nieuwe email)
↓
AI Agent: Analyseer email
- Intent detectie (vraag/klacht/spam/etc)
- Urgentie bepalen
- Suggested response genereren
↓
Switch: Op basis van categorie
├── Spam → Delete
├── Urgent → Slack alert + Auto-reply
├── FAQ → Auto-reply met antwoord
└── Complex → Create ticket + assignVoorbeeld 2: Document Analyzer
Analyseer en extraheer informatie uit documenten:
Trigger: Webhook (document upload)
↓
PDF/Image Parser
↓
AI Agent: Document analyse
- Type detectie (factuur/contract/rapport)
- Data extractie
- Samenvatting
↓
Database: Opslaan gestructureerde data
↓
Webhook Response: Extracted data JSONVoorbeeld 3: Content Research Assistant
Automatisch onderzoek doen voor content creatie:
Trigger: Notion webhook (nieuw content idee)
↓
AI Agent: Research
Tools:
- web_search (via SerpAPI/Tavily)
- competitor_analysis
- keyword_research
↓
AI Agent: Content Planning
- Outline genereren
- Bronnen compileren
- SEO aanbevelingen
↓
Notion: Update pagina met researchOptimalisatie en Best Practices
1. Prompt Engineering
Do's:
- Wees specifiek over de rol en context
- Geef voorbeelden van gewenst gedrag
- Definieer duidelijke grenzen
- Gebruik structured output waar mogelijk
Don'ts:
- Te lange, onduidelijke prompts
- Tegenstrijdige instructies
- Aannames over voorkennis
- Negeren van edge cases
2. Temperature Tuning
Temperature 0.0-0.3: Consistent, feitelijk
→ Klantenservice, data extractie
Temperature 0.4-0.7: Gebalanceerd
→ Algemene assistenten, Q&A
Temperature 0.8-1.0: Creatief, gevarieerd
→ Content generatie, brainstorming3. Error Handling
Implementeer robuuste error handling:
// In Code node na AI Agent
const response = $json.ai_response;
// Check voor incomplete responses
if (!response || response.length < 10) {
return [{
json: {
success: false,
error: 'empty_response',
fallback: 'Sorry, ik kon je vraag niet verwerken. Probeer het opnieuw.'
}
}];
}
// Check voor hallucinations (optioneel)
const containsForbiddenInfo = response.includes('[HALLUCINATION_CHECK]');
// Rate limiting check
if ($json.error?.includes('rate_limit')) {
// Wacht en retry, of gebruik fallback model
}4. Kosten Optimalisatie
LLM API calls kunnen duur worden. Optimaliseer:
- Model selectie: Gebruik goedkopere modellen voor simpele taken
- Prompt compressie: Verwijder onnodige context
- Caching: Cache veelvoorkomende responses
- Batching: Combineer meerdere requests
// Model routing op basis van complexiteit
const complexity = analyzeComplexity($json.message);
let model;
if (complexity === 'simple') {
model = 'gpt-3.5-turbo'; // Goedkoop
} else if (complexity === 'medium') {
model = 'gpt-4o-mini'; // Balanced
} else {
model = 'gpt-4o'; // Krachtig
}5. Monitoring en Logging
Houd bij hoe je agent presteert:
// Log elke interactie
const logEntry = {
timestamp: new Date().toISOString(),
conversation_id: $json.conversation_id,
user_message: $json.message,
ai_response: $json.ai_response,
tools_used: $json.tool_calls,
model: $json.model,
tokens_used: $json.usage,
response_time_ms: $json.response_time,
was_escalated: $json.escalated,
feedback: null // Later invullen
};
// Naar database
return [{ json: logEntry }];Veelvoorkomende Problemen en Oplossingen
Probleem: Agent hallucineert informatie
Oplossing:
- Gebruik RAG voor feitelijke informatie
- Lagere temperature (0.1-0.3)
- Expliciete instructie: "Als je het niet weet, zeg dat eerlijk"
- Fact-checking tool toevoegen
Probleem: Agent roept verkeerde tools aan
Oplossing:
- Betere tool descriptions schrijven
- Voorbeelden toevoegen aan system prompt
- Gebruik function calling i.p.v. text parsing
- Validatie layer toevoegen
Probleem: Responses zijn te lang/kort
Oplossing:
- Expliciete lengte-instructies in prompt
- "Antwoord in maximaal 3 zinnen"
- Post-processing om te trimmen
- Voorbeeld responses in prompt
Probleem: Rate limits en kosten
Oplossing:
- Implementeer request queuing
- Gebruik caching
- Model routing (goedkoop voor simpel)
- Fallback naar lokale modellen
Conclusie
AI agents in n8n openen een wereld van mogelijkheden voor intelligente automatisering. Door LLMs te combineren met n8n's uitgebreide integraties, kun je agents bouwen die echte werk verrichten - van klantenservice tot content creatie tot data analyse.
De sleutel tot succes is:
- Start simpel met een duidelijke use case
- Investeer tijd in een goede system prompt
- Voeg tools toe die echte waarde toevoegen
- Test uitgebreid en itereer op feedback
- Monitor performance en optimaliseer continu
Met de technieken uit deze tutorial kun je AI agents bouwen die niet alleen praten, maar ook daadwerkelijk handelen. Begin vandaag nog met experimenteren en ontdek wat mogelijk is met AI-powered automatisering in n8n.
Zelf aan de slag met Vibe Coding?
Leer hoe je met AI-tools werkende apps bouwt. Onze praktische cursussen nemen je stap voor stap mee.
Blijf op de hoogte
Ontvang maandelijks de nieuwste tips over vibe coding, AI tools en exclusieve content.
Meer artikelen
Welke ChatGPT versie moet je kiezen?
Free, Plus of Team? Complete vergelijking van alle ChatGPT versies met prijzen en aanbevelingen.
AI tutorial voor beginners: leer AI in 1 uur
Start met AI in 1 uur. Geen technische kennis nodig. Praktische oefeningen en uitleg in jip-en-janneke taal voor iedereen die AI wil leren gebruiken.
Hoe maak je een app van je website? Complete gids 2026
Zet je website om naar een app. PWA, native wrapper of rebuild? Complete gids met voor- en nadelen, stap-voor-stap uitleg en kostenanalyse.