🟡 Gevorderd — beetje technisch ⏱ 90 minuten

Human-in-the-loop AI agent bouwen in n8n: menselijk toezicht op automatisering

Tools: n8nSlackClaude of GPT-5Google Sheets
Human-in-the-loop AI agent bouwen in n8n: menselijk toezicht op automatisering

Wat je leert in deze handleiding

  • Human Review inschakelen per tool in n8n AI Agent
  • Slack-notificaties configureren voor goedkeuringsverzoeken
  • Timeouts en fallback-acties instellen
  • Audit trail opbouwen voor compliance
  • HITL toepassen op CRM-mutaties en uitgaande berichten

Een AI-agent die zelfstandig e-mails verstuurt, CRM-records aanpast of bestellingen plaatst klinkt efficiënt. Totdat hij een fout maakt. In productieomgevingen wil je niet dat een agent zonder check handelingen uitvoert met echte gevolgen. Precies daarvoor heeft n8n begin 2026 de Human-in-the-Loop (HITL) feature uitgebracht: een mechanisme waarmee je per tool in je AI-agent kunt afdwingen dat een mens eerst goedkeurt voordat de actie wordt uitgevoerd.

In deze handleiding bouw je stap voor stap een n8n AI-agent die klantverzoeken verwerkt en een Slack-bericht stuurt. Maar voordat dat bericht de deur uitgaat, moet een medewerker het eerst goedkeuren. Je leert hoe je de HITL-functie inschakelt per tool, hoe je de goedkeuringsmelding configureert, hoe je timeouts instelt en hoe je de audit trail bijhoudt. Daarna zie je hoe je hetzelfde principe toepast op risicovolle acties zoals het aanpassen van CRM-records of het sturen van facturen.

Wat je nodig hebt: een actieve n8n-installatie (versie 1.70 of hoger, aanbevolen 2.x), een Slack workspace met een bot-token, en toegang tot een AI-model zoals Claude of GPT-5. De handleiding gaat uit van n8n Cloud, maar de stappen zijn identiek voor self-hosted.

Wat is Human-in-the-Loop en wanneer heb je het nodig?

Human-in-the-Loop betekent dat een AI-workflow op een bepaald punt pauzeert en wacht op menselijke invoer voordat hij verdergaat. In n8n kun je dit instellen op tool-niveau binnen een AI Agent-node. Elke tool die je aan de agent koppelt, kan individueel worden gemarkeerd als 'vereist menselijke goedkeuring'. Zo ben je precies in controle over welke acties automatisch mogen verlopen en welke altijd een check nodig hebben.

Wanneer gebruik je HITL?

  • Uitgaande communicatie: e-mails of berichten namens je bedrijf sturen
  • Financiële acties: facturen aanmaken, betalingen initiëren, kortingen toekennen
  • Data-mutaties: CRM-records updaten, verwijderen of samenvoegen
  • Externe API-aanroepen met schrijftoegang: voorraadbeheer, ERP-systemen
  • Klantgerichte antwoorden waarbij reputatierisico bestaat
  • Compliance-gevoelige workflows: medische, juridische of HR-gerelateerde acties
  • Lees-acties, samenvattingen en interne notities kun je doorgaans zonder goedkeuring automatiseren. Schrijf-acties met externe gevolgen zijn de categorie waar HITL het verschil maakt tussen een betrouwbaar systeem en een risico.

    Bron: n8n Docs, Human-in-the-loop for AI tool calls (docs.n8n.io/advanced-ai/human-in-the-loop-tools/)

    Stap 1: Maak een nieuwe workflow aan met een AI Agent-node

    Open n8n en klik op 'New Workflow'. Geef hem de naam 'Klantverzoek handler met HITL'. Voeg als eerste node een Manual Trigger toe zodat je de workflow handmatig kunt testen. Later vervang je die door een Webhook of een e-mail trigger.

    Klik op het plusje naast de trigger en zoek naar 'AI Agent'. Voeg de node toe. De AI Agent-node is de kern van je workflow: hij ontvangt input, stuurt die naar een taalmodel en roept tools aan om taken uit te voeren.

    Koppel vervolgens een taalmodel aan de AI Agent-node. Klik op het 'Model' connector-punt aan de onderkant van de node. Voeg een 'Anthropic Chat Model' node toe en selecteer 'claude-opus-4-6' als model. Sla je Anthropic API-key op als credential.

    Stap 2: Voeg een Slack-tool toe aan de agent

    De AI-agent heeft tools nodig om acties uit te voeren. In dit scenario geef je hem een tool om berichten naar Slack te sturen. Klik op het 'Tools' connector-punt onderaan de AI Agent-node en voeg een 'Slack' node toe.

    Let op het gebruik van $fromAI() in het tekstveld. Dit is de n8n-manier om de AI-agent te laten bepalen wat de waarde van een veld wordt op basis van context. De agent vult automatisch in wat hij denkt dat het juiste bericht is, op basis van het klantverzoek.

    Stap 3: Schakel Human Review in voor de Slack-tool

    Dit is de kern van deze handleiding. Klik op de Slack-node die je net als tool hebt toegevoegd. In het rechterpaneel zie je bovenaan de sectie 'Human review'. Klik op de toggle om deze in te schakelen.

    Zodra Human Review is ingeschakeld, zal de workflow automatisch pauzeren op het moment dat de AI-agent de Slack-tool wil gebruiken. De agent toont dan in de workflow-interface welk bericht hij wil sturen en met welke parameters. Een medewerker ziet dit scherm en klikt op 'Approve' of 'Deny'.

    Je kunt ook een notificatiekanaal instellen zodat je team automatisch een bericht krijgt als er iets ter goedkeuring klaarstaat. Gebruik hiervoor de 'Notification channel' optie onder de Human Review toggle. Selecteer bijvoorbeeld een Slack-kanaal '#ai-goedkeuringen'.

    Stap 4: Configureer de timeout en de standaardactie

    Een cruciale instelling die veel gebruikers over het hoofd zien: de timeout. Wat gebeurt er als niemand reageert op het goedkeuringsverzoek? Standaard wacht n8n onbeperkt, wat workflows kan laten hangen. Stel altijd een timeout in.

    Voeg een 'Set' node toe vóór je AI Agent-node om de timeout-configuratie mee te geven, of configureer dit direct in de workflow-instellingen. De aanbevolen instelling voor klantenservice-workflows:

    Voor risicovolle acties zoals het versturen van facturen of het aanpassen van klantgegevens kies je altijd timeout_actie: deny. De actie wordt dan automatisch afgewezen als de deadline verstrijkt. Voor laag-risico interne meldingen kun je timeout_actie: approve gebruiken zodat het proces niet vastloopt als iemand een melding mist.

    Stap 5: Voeg een notificatie-workflow toe voor goedkeuringsverzoeken

    De HITL-functie stuurt standaard een melding via de n8n-interface zelf. Dat werkt prima als je altijd in n8n bent ingelogd, maar voor productiegebruik wil je dat goedkeurings- verzoeken actief naar je team worden gepusht. Hier is hoe je dat instelt met Slack.

    Voeg buiten je hoofdworkflow een tweede workflow toe die luistert naar 'Human Review Required' events. Dit doe je met de 'n8n Trigger' node in combinatie met het event-type 'workflowExecutionData'.

    Met deze configuratie krijgt je team een Slack-bericht met twee knoppen: Goedkeuren en Afwijzen. Ze kunnen direct vanuit Slack reageren zonder naar n8n te hoeven navigeren.

    Stap 6: Voeg een geheugenmodule toe voor context

    Een AI-agent zonder geheugen heeft bij elk goedkeuringsverzoek geen context over wat er eerder in het gesprek is besproken. Voeg een Simple Memory-node toe zodat de agent de volledige gesprekshistorie meestuurt in het goedkeuringsverzoek.

    Klik op het 'Memory' connector-punt van de AI Agent-node en voeg 'Window Buffer Memory' toe. Configureer een window van 10 berichten (k=10). Dit geeft de goedkeurende medewerker de laatste 10 wisselingen als context.

    De sessionKey zorgt ervoor dat gesprekken per sessie worden bijgehouden. Gebruik $json.sessionId als je klantidentificatie meestuurt, anders valt alles terug op het workflow-ID.

    Stap 7: Voeg een tweede tool toe zonder goedkeuring (voor vergelijking)

    Om te laten zien hoe HITL selectief werkt, voeg je een tweede tool toe die geen goedkeuring vereist: een 'HTTP Request' node die klantgegevens ophaalt uit je CRM. Dit is een lees-actie zonder risico en mag automatisch verlopen.

    Let op het verschil: bij deze tool staat humanReview op false. De agent kan klantdata ophalen zonder bevestiging, maar kan pas een Slack-bericht sturen na goedkeuring. Dit is het principe van selectieve controle: alleen de risicovolle stappen worden geblokkeerd.

    Stap 8: Bouw de audit trail in met een logboek-node

    Elke goedkeuring en afwijzing moet worden gelogd. Dit is niet alleen handig voor debugging, maar ook verplicht als je werkt in sectoren met compliance-vereisten zoals de EU AI Act of GDPR. Voeg na de AI Agent-node een 'Google Sheets' of 'Postgres' node toe die elke beslissing vastlegt.

    Met dit logboek bouw je in de loop van de tijd een dataset op van alle beslissingen die je team neemt. Dit geeft inzicht in welke acties de agent correct voorstelt en welke patronen leiden tot afwijzing. Zo kun je de agent-instructies steeds bijstellen en het aantal handmatige goedkeuringen terugdringen.

    Stap 9: Test de volledige workflow

    Voordat je de workflow live zet, test je hem grondig in de n8n-editor. Klik op de Manual Trigger en stuur een testbericht mee via het data-veld:

    De agent verwerkt het verzoek, raadpleegt eventueel het CRM (zonder goedkeuring) en stelt dan een Slack-bericht op. Op dat moment pauzeert de workflow en zie je in de n8n-interface een goedkeuringsscherm met het voorgestelde bericht. Je kunt nu:

  • Het voorgestelde bericht lezen en beoordelen
  • Eventueel de tekst aanpassen (n8n laat je de tool-input editeren voor je goedkeurt)
  • Op 'Approve' klikken om het bericht te laten versturen
  • Op 'Deny' klikken en optioneel een reden opgeven
  • Controleer na goedkeuring of het bericht daadwerkelijk in het Slack-kanaal verschijnt en of het audit log is bijgewerkt in Google Sheets. Controleer ook het scenario waarbij je afwijst: het audit log moet ook in dit geval worden bijgewerkt.

    Stap 10: Activeer de workflow en stel de live trigger in

    Vervang de Manual Trigger door een productie-trigger. Afhankelijk van je use case kies je:

  • Webhook Trigger: voor integraties vanuit een webformulier of externe app
  • Email Trigger (IMAP): voor het automatisch verwerken van inkomende e-mails
  • Schedule Trigger: voor periodieke verwerking van een wachtrij
  • n8n Form Trigger: voor een ingebouwd formulier zonder externe tool
  • Voor het klantverzoekscenario is een Webhook-trigger het meest logisch. Configureer hem als volgt en koppel je klantenservice-tool of webformulier aan het webhook-endpoint:

    Je webhook-URL wordt: https://jouw-n8n-domein.nl/webhook/klantverzoek. Klik op 'Activate' in de rechterbovenhoek van de editor om de workflow live te zetten. Vanaf dit moment worden inkomende verzoeken automatisch verwerkt, maar Slack-berichten worden pas verstuurd na menselijke goedkeuring.

    Stap 11: Uitbreiden naar CRM-mutaties met goedkeuring

    Nu je basispatroon werkt, pas je het toe op een hogere-risico use case: het updaten van klantgegevens in je CRM. Voeg een tweede tool toe aan de agent: een HTTP Request die een PATCH-verzoek stuurt naar je CRM-API. Schakel Human Review in voor deze tool.

    Met deze configuratie kan de agent klantgegevens voorstellen om aan te passen, maar voert hij de wijziging pas door na goedkeuring. De agent toont in het HITL-scherm welk klant-ID hij wil updaten, welke velden hij wil wijzigen en wat de nieuwe waarden zijn. De goedkeurende medewerker ziet precies wat er gaat veranderen.

    Wat gaat er mis en hoe fix je het?

    Probleem 1: Workflow hangt eindeloos op goedkeuring

    Oorzaak: er is geen timeout geconfigureerd. Fix: voeg altijd een timeoutSeconds-waarde toe aan de HITL-configuratie. Controleer ook of je notificatiekanaal correct is ingesteld, want als het team de melding nooit ontvangt, keurt niemand goed.

    Probleem 2: Goedkeuringsverzoek komt niet aan in Slack

    Oorzaak: de Slack bot heeft onvoldoende rechten of het kanaal bestaat niet. Controleer of de bot lid is van het kanaal (#ai-goedkeuringen). Verifieer de bot-scopes: chat:write, channels:read, groups:read zijn minimaal vereist. Test de Slack-connectie los via de Slack-node voordat je hem aan de HITL-notificatie koppelt.

    Probleem 3: Agent slaat HITL over en voert de actie direct uit

    Oorzaak: Human Review staat niet ingeschakeld op de juiste tool-node, of je gebruikt een verouderde n8n-versie (lager dan 1.70). Controleer in de AI Agent-node welke tools zijn gekoppeld en of de Human Review-toggle per tool aan staat. Update naar n8n 2.x voor de meest stabiele HITL-implementatie.

    Probleem 4: Agent vult verkeerde parameters in voor de tool

    Oorzaak: de $fromAI()-beschrijvingen zijn te vaag. De kwaliteit van de AI-invulling staat of valt met de instructies in de tweede parameter van $fromAI(). Slecht: $fromAI('text', 'Tekst'). Goed: $fromAI('messageText', 'Het volledige Slack-bericht inclusief klantnaam, probleem en voorgestelde oplossing, max 500 tekens'). Herschrijf je $fromAI()-beschrijvingen zo specifiek mogelijk.

    Probleem 5: Goedgekeurde actie mislukt alsnog met een API-fout

    Oorzaak: de tool-configuratie klopt maar de API geeft een fout terug (bijv. 401 of 422). Voeg na de AI Agent-node een 'Error Trigger' node toe die fouten afvangt. Log de fout naar je audit trail en stuur een melding naar het team zodat ze weten dat de goedgekeurde actie niet is uitgevoerd. Voeg ook een retry-mechanisme toe met maximaal 3 pogingen en exponential backoff.

    Uitbreidingen: zo maak je je HITL-workflow nog krachtiger

    Nu je basisworkflow staat, zijn er een aantal zinvolle uitbreidingen die de workflow slimmer en efficiënter maken.

  • Conditionele goedkeuring: gebruik een IF-node om hoge-waarde acties (bijv. bedragen boven 500 euro) automatisch door te sturen naar een senior medewerker in plaats van de standaard queue
  • Escalatie na timeout: als niemand reageert binnen 1 uur, stuur een tweede melding naar een manager
  • Batch-goedkeuring: verzamel meerdere verzoeken en stuur ze eenmaal per uur als digest in plaats van individuele meldingen per actie
  • AI-pre-check: voeg een tweede AI-node toe die de voorgestelde actie beoordeelt op risico en alleen escaleeert als het risiconiveau boven een drempel ligt
  • Microsoft Teams integratie: gebruik de Teams-connector in plaats van Slack voor organisaties die Teams als primaire communicatietool gebruiken
  • Meer leren over AI-automatisering in n8n?

    Human-in-the-Loop is een van de meest gevorderde functies in n8n, maar het is geen startpunt. Als je net begint met n8n en AI-agents, raden we aan eerst de basis te leggen. Onze handleiding over het bouwen van een WhatsApp chatbot met n8n en Claude (/handleidingen/whatsapp-chatbot-webshop-n8n-claude) laat zien hoe je een volledige agent bouwt van trigger tot respons.

    Voor wie al ervaring heeft met n8n en naar de volgende stap wil: bekijk onze handleiding over het bouwen van een AI recruitment-assistent voor CV-screening (/handleidingen/ai-recruitment-assistant-cv-screenen-n8n-claude). Die workflow gebruikt vergelijkbare principes van risicogestuurde automatisering en is een goed voorbeeld van hoe je HITL kunt toepassen in een HR-context.

    Wil je weten welk AI-model je het best kunt inzetten als de 'hersenen' van je agent? Bekijk dan onze Gemini 2.5 Pro review (/modellen/gemini-3-1-pro-review-2026) of het overzicht van modellen op artificialanalysis.ai.

    Conclusie: AI-agents met controle zijn betere AI-agents

    Human-in-the-Loop is niet een terugstap in automatisering. Het is de manier waarop je AI-agents vertrouwbaar maakt voor echte bedrijfsprocessen. Door precies te definiëren welke acties een menselijk oog nodig hebben en welke volledig automatisch mogen verlopen, bouw je een systeem dat zowel efficiënt als beheersbaar is.

    Voor Nederlandse MKB'ers is dit een praktisch kader om AI te gebruiken zonder de controle uit handen te geven. Je kunt beginnen met één goedkeuringsstap op je risicovolste actie en uitbreiden naarmate het vertrouwen in de agent groeit. De audit trail die je opbouwt, geeft je de data om dat vertrouwen te onderbouwen.

    Bron: n8n Blog, Human in the loop automation (blog.n8n.io/human-in-the-loop-automation/) | n8n Docs, Human-in-the-loop for AI tool calls (docs.n8n.io/advanced-ai/human-in-the-loop-tools/)

    Nieuwsbrief

    Meer handleidingen en tips?

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

    Gratis aanmelden →