SSD Nodes Learn
Gidsen Matt ConnorDoor Matt Connor · Bijgewerkt 2026-07-24

Claude koppelen aan n8n op een VPS

Leer Claude integreren in n8n op uw VPS. Ontdek drie AI-workflows, modelselectie per node en hoe u onverwachte kosten door retry loops voorkomt.

Wat u bouwt

Drie werkende AI-workflows op de n8n-instantie die u al draait: een webhook die alles wat u instuurt samenvat, een geplande feed-reader die artikelen omzet in gestructureerde rijen in een spreadsheet, en een AI Agent die zelfstandig een HTTP API aanroept om vragen te beantwoorden. Dit is het no-code tegenhanger van het aanroepen van de Claude API vanuit Python op uw VPS — dezelfde API, dezelfde tokens, dezelfde rekening, maar de orchestratie vindt plaats in n8n nodes in plaats van in een script.

Ik ga ervan uit dat n8n al draait via HTTPS conform de self-hosted n8n on Docker guide. Als dat niet het geval is, doe dat dan eerst — webhooks hebben een echte TLS-endpoint nodig, en de credential store waarin u een API-key gaat plaatsen, vereist de encryption-key backup waar die gids over waarschuwt.

De interessante problemen hier zijn niet het slepen en neerzetten. Het gaat om modelselectie per node, prompt-velden die stilletjes undefined interpoleren, en het feit dat een automatisering onbeheerd draait — een workflow die een halve cent per run kost, is goedkoop totdat een retry loop deze vierduizend keer 's nachts uitvoert. Het grootste deel van deze gids gaat over deze zaken.

Eén credential, versleuteld met de key die u heeft gebackupt

Haal een API-key op via de Anthropic Console op platform.claude.com — Settings, dan API Keys, en maak een key aan met een naam als n8n-vps. Deze wordt slechts één keer getoond. Maak tegoed op de account of stel facturering in; het gebruik van de API is pay-per-token en staat volledig los van een Claude.ai abonnement.

In n8n: Credentials, Create credential, kies Anthropic, plak de key in het API Key veld, opslaan. Elke Claude node in elke workflow verwijst naar deze ene opgeslagen credential — u plakt de key nooit direct in een node.

Twee operationele opmerkingen. Ten eerste versleutelt n8n opgeslagen credentials met N8N_ENCRYPTION_KEY. Als u die env var expliciet instelt in uw compose file volgens de n8n gids, overleeft uw credential het opnieuw opbouwen van de container; als u n8n een key laat genereren en vervolgens het volume verliest, is elke opgeslagen credential — inclusief deze key — onherstelbare ciphertext. Maak de key nu een backup als u dit hebt overgeslagen. Ten tweede: beschouw de n8n credential store als het blast radius: iedereen die workflows kan bewerken op uw instantie, kan verzoeken doen met uw Anthropic key. Stel een spend limit in de Console in onder Settings, zodat een gecompromitteerde of ongecontroleerde instantie een plafond heeft.

Modelkeuze is een beslissing per node

Het model dropdown-menu in de Claude nodes van n8n wordt live opgehaald uit de API, dus het toont wat uw key kan bereiken. Per juli 2026 is het aanbod en de API-prijs per miljoen input/output tokens: Claude Haiku 4.5 (claude-haiku-4-5) voor $1/$5 met een 200K context window, Claude Sonnet 5 (claude-sonnet-5) voor $3/$15 — introductieprijs $2/$10 tot en met 31 augustus 2026 — en Claude Opus 4.8 (claude-opus-4-8) voor $5/$25, beide met 1M-token context windows. Er is ook Claude Fable 5 (claude-fable-5) voor $10/$50 voor het zwaarste rekenwerk; niets in deze gids heeft dit nodig. Gebruik deze exacte IDs — een variant met een datum-suffix die u zich herinnert uit een oude tutorial zal een 404 geven, en prijzen veranderen, dus controleer platform.claude.com voordat u een getal vertrouwt, ook hier.

De gewoonte die u moet opbouwen: kies het model per node, niet per platform. Classificatie, extractie, samenvatting, routing — de basis van automatisering — werkt uitstekend op Haiku voor een derde van de Sonnet list price en een vijfde van Opus. Reserveer Sonnet voor agents en multi-step reasoning, en Opus voor de zeldzame workflow waarbij een foutief antwoord meer kost dan de tokens. Een workflow met vijf Claude nodes kan en moet verschillende modellen mixen.

De twee Claude nodes, en welke u waar gebruikt

n8n levert twee verschillende Anthropic integraties, en het kiezen van de verkeerde is de meest voorkomende fout bij beginners.

De Anthropic node is een reguliere app node: één verzoek in, één antwoord uit. De Text resource heeft een Message a Model operatie, plus operaties voor het analyseren van afbeeldingen en documenten. Gebruik deze wanneer de workflow-logica in n8n zit — trigger, Claude call, volgende node. Workflow 1 en 2 hieronder gebruiken deze of de bijbehorende chain-variant.

De Anthropic Chat Model node is een sub-node — een kleine attachment die het model levert aan een root node zoals de AI Agent of Basic LLM Chain. Deze heeft geen trigger en geen eigen output; deze biedt de model-picker plus sampling opties zoals Maximum Number of Tokens en Sampling Temperature. Eén waarschuwing uit de n8n docs die u moet onthouden: expressies binnen sub-nodes lossen altijd op tegen het eerste input item, niet tegen elk item — plaats per-item expressies in de prompt-velden van de root node, niet in de sub-node.

Workflow 1: webhook in, samenvatting uit

De hello-world van AI-automatisering: alles wat naar een URL wordt gepostet wordt samengevat en komt terecht in Slack of uw inbox.

  1. Webhook node — HTTP Method POST, path summarize. n8n geeft u een test URL en een production URL; de production URL luistert pas zodra de workflow actief is.
  2. Anthropic node — Message a Model, model claude-haiku-4-5, Max Tokens rond de 300.
  3. Slack node (of Send Email) — post de antwoordtekst naar een kanaal.

De prompt is waar n8n expressies en Claude samenkomen. Een POST body komt terecht onder $json.body, dus het user message veld ziet er zo uit:

Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.

{{ $json.body.text }}

Plaats rol- en formaatinstructies in het system prompt veld van de node, niet in het user message veld — de system prompt blijft constant terwijl de payload varieert, wat het gedrag stabiel houdt en de prompt over zes maanden nog leesbaar maakt. Test het vanaf de VPS zelf:

curl -X POST https://n8n.example.com/webhook/summarize \
  -H 'Content-Type: application/json' \
  -d '{"text": "Third support ticket this month about slow disk IO..."}'

Kosten per run op Haiku: een payload van 1.200 tokens plus prompt kost ongeveer $0.0012 aan input, 300 tokens output is $0.0015 — ongeveer een kwart cent. Duizend runs per maand is minder dan $3. Dezelfde node gericht op Opus 4.8 is ongeveer vijf keer zo duur. Die ratio, vermenigvuldigd met elke workflow die u bouwt, is waarom de gewoonte om per node een model te kiezen belangrijk is.

Workflow 2: geplande RSS naar gestructureerde rijen

Nu iets op een klok, met gestructureerde output: lees elk uur een RSS feed, classificeer elk item, voeg rijen toe aan een sheet.

  1. Schedule Trigger — elk uur.
  2. RSS Read — de feed URL. Levert één item per artikel.
  3. Basic LLM Chain — met een Anthropic Chat Model sub-node ingesteld op claude-haiku-4-5, en een Structured Output Parser sub-node met een JSON schema.
  4. Google Sheets (of Postgres) — voeg een rij toe per item.

De Structured Output Parser maakt van "Claude, please return JSON" een contract in plaats van een hoop hoop: het valideert het antwoord van het model tegen uw schema en laat het item hard falen in plaats van vervuilde rijen te schrijven. Een schema zoals:

{
  "type": "object",
  "properties": {
    "category": { "type": "string", "enum": ["release", "security", "tutorial", "other"] },
    "relevance": { "type": "number" },
    "one_line_summary": { "type": "string" }
  },
  "required": ["category", "relevance", "one_line_summary"]
}

En de prompt van de chain verwijst naar het feed item:

Classify this article for a VPS hosting audience.

Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}

De kostenberekening verandert hier: dit is per item, niet per run. Vijftig artikelen per uur, vierentwintig uur per dag, is 36.000 Claude calls per maand — op Haiku misschien $40–$90 afhankelijk van de lengte van het artikel, op Opus ongeveer vijf keer dat. Verwijder duplicaten voordat de LLM node komt (een simpele IF tegen eerder geziene links, of de n8n Remove Duplicates node) en het aantal daalt, omdat de meeste uurlijkse polls niets nieuws bevatten. De goedkoopste token is de call die u nooit maakt.

Workflow 3: een AI Agent die tools gebruikt

De eerste twee workflows zijn pipelines — u bepaalt de stappen. Een AI Agent node draait dit om: u geeft Claude een doel en tools, en het bepaalt welke tools het aanroept, in welke volgorde, totdat het klaar is. n8n vereist een chat model sub-node en minstens één tool sub-node die is gekoppeld.

Een concreet voorbeeld — een ops assistant die "wat ligt er down en waarom" beantwoordt vanuit uw monitoring:

  1. Chat Trigger (of webhook) — de vraag komt binnen.
  2. AI Agent — met een Anthropic Chat Model sub-node ingesteld op claude-sonnet-5. Agents plannen en ketenen tool calls; Haiku kan simpele single-tool agents aansturen, maar Sonnet is de verstandige ondergrens zodra het aantal tools toeneemt.
  3. HTTP Request node gekoppeld als een tool — gericht op uw Uptime Kuma status API of Zabbix endpoint. Een tweede HTTP tool kan alles aanroepen wat een REST API heeft.

Twee instellingen doen het meeste werk. De System Message van de agent definieert de taak: "You are an ops assistant. Use the status tool to check current monitor state before answering. Report only monitors that are down, with duration." En de description van elke tool is geen documentatie voor mensen — het is hoe Claude beslist wanneer hij deze aanroept. "Returns current up/down state for all monitored services as JSON" wordt op de juiste momenten aangeroepen; "status API" wordt genegeerd of verkeerd gebruikt. Wanneer u de HTTP Request node als tool koppelt, activeer dan de Optimize Response optie en selecteer de JSON velden die belangrijk zijn — anders wordt elke uitgebreide API response in de context van het model gegooid als input tokens waar u voor betaalt.

Stel Max Iterations op de agent in (de standaard is 10) op het kleinste aantal dat werkt — het is het verschil tussen "de agent gaf het op na 4 tool calls" en een loop van een dozijn model round-trips. En begrijp de facturering: elke iteratie stuurt de volledige conversatie tot nu toe opnieuw als input tokens — de system message, de vraag, elk vorig tool resultaat. Een agent run van zes iteraties kan gemakkelijk in totaal 20.000 cumulatieve input tokens en 2.000 output kosten: op de introductieprijs van Sonnet 5 ongeveer $0.06, ongeveer $0.09 bij de standaard $3/$15 — dat is twintig keer een simpele samenvattingsrun. Als u merkt dat u veel tools aan één agent koppelt, is dat het punt waarop het draaien van MCP servers op uw VPS een schonere architectuur is.

Kostenbeheersing, omdat niemand meekijkt

Een onbeheerde workflow heeft de controle nodig die een mens achter een toetsenbord impliciet biedt. Vier lagen, van goedkoop naar duur.

Max Tokens op elke Claude node. Dit is een harde output cap. Een samenvatter heeft 300 nodig, een classifier 100. Dit beperkt de dure kant van de balans ($5–$25 per miljoen output tokens versus $1–$5 voor input) en dient als een noodrem — een prompt bug die Claude laat babbelen kost 300 tokens, niet 8.000.

Model per node. Hierboven behandeld; het is een prijshefboom van vijf tot tien keer over het huidige aanbod en kost tien seconden om in te stellen.

Beperk de loops. Max Iterations op agents. Een workflow timeout in de workflow settings zodat een vastgelopen executie stopt in plaats van blijft draaien. En wees voorzichtig met per-node Retry On Fail: het is het juiste middel voor tijdelijke fouten, maar retries vermenigvuldigen de kosten — Max Tries van 3 met Wait Between Tries van 5000 ms betekent dat een aanhoudende fout u tot drie keer per item factureert voordat hij opgeeft. Wikkel nooit een retry rond een node die al duur succesvol is geweest.

Een error workflow als vangnet. Maak een workflow die begint met de Error Trigger node die de naam van de gefaalde workflow en de fout naar Slack post, en stel deze in als de Error Workflow in de instellingen van elke AI workflow. De foutmodus die dit opvangt is de vervelende: een schedule-triggered workflow die bij elke run, elk uur, een week lang een fout geeft — waarbij elke run tokens verbruikt voordat hij stopt. Combineer dit met een maandelijkse spend limit in de Anthropic Console en controleer de usage page van de Console de eerste paar dagen nadat u iets gepland heeft geactiveerd. Als u precies wilt weten waarvoor u wordt gefactureerd, ontleedt de token-usage guide dit.

Foutmodi, met de symptomen die u zult zien

De node faalt direct met "Authorization failed - please check your credentials." De API gaf een 401. De onderliggende body is:

{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}

Een verkeerd geplakte key — afgebroken, spaties aan het einde, of de placeholder uit een tutorial. Maak de n8n credential opnieuw aan en plak hem opnieuw; als het gisteren werkte, controleer dan of de key is ingetrokken in de Console of dat een volume restore is teruggegaan naar een credential die versleuteld is met een andere N8N_ENCRYPTION_KEY.

Executies falen in bursts met een 429 rate_limit_error, met een bericht als "Number of request tokens has exceeded your per-minute rate limit." Rate limits zijn per-minuut buckets, en n8n maakt het erg makkelijk om vijftig webhook of RSS executies tegelijkertijd te starten. Los dit structureel op: verwerk items in volgorde (Loop Over Items) in plaats van parallel, en stel Retry On Fail in met Max Tries 3 en Wait Between Tries op de maximale 5000 ms — n8n limiteert dit veld op 5000 ms. Wanneer u een langere backoff nodig heeft zodat retries in het volgende minuutvenster vallen, plaats dan een Wait node in het error pad of verwerk items één voor één. De response bevat een retry-after header die precies zegt hoe lang u moet wachten — de vaste wait van n8n kan dit niet lezen, dus bouw de langere pauze zelf.

404 not_found_error bij het benoemen van uw model. De body herhaalt de typefout:

{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}

Dots in plaats van hyphens (4.5 voor 4-5), een datum-suffix van een verouderde blogpost, of een ingetrokken model. Herstel de ID aan de hand van de huidige lijst — dit raakt mensen die de model velden als een expressie typen in plaats van te kiezen uit het dropdown-menu.

Claude beantwoordt een vraag die u niet heeft gesteld. Geen fout ergens — de run is groen. Een n8n expressie die verwijst naar een ontbrekend veld, zoals {{ $json.body.text }} wanneer de payload message gebruikte, interpreteert de letterlijke string undefined in uw prompt, en Claude reageert dapper op een prompt over niets. Als de genoemde node helemaal niet is uitgevoerd, krijgt u "Referenced node is unavailable", maar een ontbrekend veld is stilzwijgend. Voer voor activatie altijd één keer uit met echte data en lees de werkelijke gerenderde prompt in het input paneel van de node — de expression editor toont de opgeloste waarde, en undefined staat daar direct als u kijkt.

FAQ

Hoe verbind ik Claude met n8n?

Maak een API-key aan in de Anthropic Console op platform.claude.com, voeg vervolgens in n8n een credential toe van het type Anthropic en plak deze in het API Key veld. Elke Claude node — de Anthropic app node en de Anthropic Chat Model sub-node — verwijst naar die opgeslagen credential. n8n versleutelt deze met N8N_ENCRYPTION_KEY, dus maak een backup van die key of uw credentials zijn verloren met het volume.

Wat kost een AI workflow per run?

Schat de tokens per run, en vermenigvuldig dit met de prijzen van het model per miljoen — per juli 2026 is Haiku 4.5 $1/$5 per miljoen input/output tokens en Sonnet 5 is $3/$15 ($2/$10 introductieprijs tot augustus 2026). Een webhook samenvatting op Haiku kost ongeveer een kwart cent; een agent run op Sonnet met meerdere tool calls komt dichter bij $0.06–$0.10 omdat elke iteratie de hele conversatie opnieuw als input stuurt. Verifieer de run op de usage page in de Console in plaats van te vertrouwen op schattingen.

Welk Claude model moet ik gebruiken voor n8n automatiseringen?

Haiku 4.5 voor classificatie, extractie, samenvatting en routing — werk met hoge volumes waarbij snelheid en prijs domineren. Sonnet 5 voor AI Agent nodes en multi-step reasoning. Opus 4.8 alleen waar een foutief antwoord duur genoeg is om de list price van $5/$25 te rechtvaardigen — vijf keer Haiku, iets minder dan twee keer Sonnet. Stel het model in per node, niet per workflow — één workflow kan alle drie mixen.

Hoe stop ik een n8n workflow met te veel uitgeven aan de Claude API?

Gebruik gelaagde beheersing: een lage Max Tokens op elke Claude node, Max Iterations op agents, een workflow timeout, en conservatieve Retry On Fail instellingen zodat fouten de token spend niet vermenigvuldigen. Voeg daarna een Error Trigger workflow toe die u in Slack waarschuwt wanneer een AI workflow faalt, en stel een maandelijkse spend limit in de Anthropic Console in als het harde plafond waar niets op de VPS tegenop kan.

Kosten AI Agent tool calls extra?

Er is geen aparte tool fee, maar tools zijn niet gratis: elk tool resultaat wordt als input tokens teruggevoerd naar het model, en elke agent iteratie stuurt de volledige conversatie tot nu toe opnieuw. Een praterige API response die ongefilterd wordt doorgegeven, kan uw eigenlijke prompt overschaduwen — activeer Optimize Response op HTTP Request tools en retourneer alleen de velden die de agent nodig heeft.