Hoe bouw je AI-leadscoring in n8n?
Als je huidige leadscoring draait op starre puntensystemen of dure enterprisetools, is er een middenweg die het kennen waard is. Met n8n koppel je een lead-trigger, een AI-model en een CRM-write-back in één geautomatiseerde workflow, zonder prijzen per gebruiker of black-boxlogica. Deze gids laat precies zien hoe die workflow wordt opgebouwd, van de triggernode tot de uiteindelijke score in je CRM.
Bijdrage van
SaaS Hackers
Kort antwoord: Je bouwt een AI-leadscoringworkflow in n8n door een trigger (formulier, webhook of CRM-event) te koppelen aan een AI-node die elke lead beoordeelt op basis van jouw criteria. Daarna schrijf je de score en de onderbouwing automatisch terug naar je CRM. De hele workflow draait zonder menselijke tussenkomst en is in minder dan een uur ingesteld.
De meeste leadscoringsystemen zijn te star (vaste puntwaarden die geen rekening houden met context) of te duur (enterprise AI-tools die per gebruiker rekenen). n8n zit daar tussenin: een zelf te hosten automatiseringsplatform waarin je een trigger, een AI-model en een CRM-write-back in één workflow aan elkaar koppelt.
Deze gids laat stap voor stap zien hoe je die workflow bouwt, van het kiezen van je trigger tot het schrijven van de prompt voor de AI en het terugzetten van scores in HubSpot, Salesforce of welk CRM je ook gebruikt.
Wat is AI-leadscoring in n8n?
AI-leadscoring in n8n betekent dat je een LLM-node (large language model) in een n8n-workflow gebruikt om binnenkomende leaddata te beoordelen en een score toe te kennen op basis van criteria die jij bepaalt. Anders dan bij regelgebaseerde scoring (waar "bedrijfsgrootte > 100 = 10 punten" geldt) leest de AI de volledige context van een lead en redeneert hij over de match zoals een goede SDR dat zou doen.
De workflow bestaat uit drie kernonderdelen:
- Trigger: Iets wat afgaat zodra er een nieuwe lead binnenkomt
- AI-scoringsnode: Een LLM die leaddata leest en een score plus onderbouwing teruggeeft
- Write-back: Een CRM-node die het leadrecord bijwerkt met de score
Wat je nodig hebt voordat je begint
Controleer voordat je begint of je het volgende hebt:
- Een n8n-instantie (cloud of zelf gehost, versie 1.0+)
- Een API-sleutel voor een LLM (OpenAI, Google Gemini of Anthropic Claude werken allemaal)
- Een CRM met API-toegang (HubSpot, Salesforce, Pipedrive of vergelijkbaar)
- Een vastgestelde leadbron (Typeform, JotForm, webhook of CRM-trigger)
- Een uitgeschreven scoringsrubriek (je ICP-criteria in gewone taal)
De scoringsrubriek is het onderdeel dat de meeste mensen overslaan. Schrijf hem uit voordat je n8n opent. Hij moet de signalen dekken die voor jouw bedrijf van belang zijn: sector, bedrijfsgrootte, functietitel, budgetindicatoren, fit met je use case en eventuele diskwalificerende factoren.
Stap 1: Stel je triggernode in
De trigger start de workflow. Kies de trigger die past bij de plek waar je leads als eerste binnenkomen.
Optie A: webhooktrigger
Gebruik dit als je leadbron een POST-verzoek kan versturen (de meeste formuliertools kunnen dat). In n8n doe je het volgende:
- Voeg een Webhook-node toe als eerste node
- Stel de methode in op POST
- Kopieer de webhook-URL en plak die in het endpoint voor formulierinzendingen van je formuliertool
- Test het door een dummylead in te sturen en te controleren of de data in n8n aankomt
Optie B: formuliertooltrigger (Typeform of JotForm)
- Voeg een Typeform- of JotForm-node toe
- Log in met je account
- Selecteer het specifieke formulier dat je wilt volgen
- Stel de trigger in op "On Form Submission"
Optie C: CRM-trigger (nieuwe lead in HubSpot)
- Voeg een HubSpot-triggernode toe
- Stel in dat de trigger afgaat bij "Contact Created" of "Deal Created"
- Log in en test
Welke trigger je ook gebruikt, zorg dat de output de velden bevat die je AI-node nodig heeft: bedrijfsnaam, functietitel, bedrijfsgrootte, sector en eventuele vrijetekstvelden zoals "Wat is je grootste uitdaging?"
Stap 2: Verrijk de leaddata (optioneel, maar aanbevolen)
Ruwe formulierdata is vaak mager. Als je formulier alleen naam, e-mailadres en bedrijf vastlegt, heeft de AI weinig signalen om mee te werken.
Voeg een verrijkingsstap toe tussen je trigger en je AI-node:
- Clearbit- of Apollo.io-node: haalt bedrijfsgrootte, sector, techstack en financieringsgegevens op via het e-maildomein
- LinkedIn lookup via een tool als Phantombuster of Clay (gekoppeld via een HTTP Request-node)
- HTTP Request-node naar je eigen databron, als je die hebt
Zet de verrijkte velden samen in één object, zodat de AI-node alles in één nette input ontvangt.
Stap 3: Bouw de AI-scoringsnode
Hier vindt de scoring plaats. n8n ondersteunt OpenAI, Anthropic, Google Gemini en andere LLM's standaard via zijn AI-nodes.
De node instellen
- Voeg een AI Agent-node toe of een eenvoudige OpenAI- / Anthropic-berichtnode
- Koppel je API-inloggegevens
- Kies je model (GPT-4o, Claude 3.5 Sonnet en Gemini 1.5 Pro verwerken gestructureerde output allemaal goed)
De systeemprompt schrijven
De systeemprompt bepaalt de rol van de AI en de scoringslogica. Hier is een werkend template dat je kunt aanpassen:
You are a lead qualification expert for [Company Name].
Your job is to score inbound leads on a scale of 1 to 10 based on how well they match our ideal customer profile (ICP).
ICP criteria:
- Ideal industry: [e.g. B2B SaaS, professional services]
- Ideal company size: [e.g. 50-500 employees]
- Ideal job title: [e.g. Head of Sales, VP Revenue, Founder]
- Budget signal: [e.g. mentions budget, has funding, revenue above $1M]
- Use case fit: [e.g. looking to automate outbound, replace manual processes]
Disqualifiers (score 1-2 regardless of other signals):
- [e.g. student, freelancer with no team, competitor]
Scoring guide:
- 9-10: Strong ICP match, clear budget signal, decision-maker
- 7-8: Good ICP match, some gaps, worth a follow-up
- 5-6: Partial fit, nurture rather than immediate outreach
- 3-4: Weak fit, low priority
- 1-2: Disqualified
Return your response as valid JSON only, in this format:
{
"score": [number 1-10],
"tier": "[Hot / Warm / Cold / Disqualified]",
"reasoning": "[2-3 sentence explanation of the score]",
"recommended_action": "[e.g. Assign to AE immediately / Add to nurture sequence / Disqualify]"
}Het gebruikersbericht schrijven
Verwijs in het veld voor het gebruikersbericht naar de leaddata met n8n-expressies:
Score this lead:
Name: {{ $json.name }}
Email: {{ $json.email }}
Company: {{ $json.company }}
Job Title: {{ $json.job_title }}
Company Size: {{ $json.company_size }}
Industry: {{ $json.industry }}
Message / Use Case: {{ $json.message }}Het JSON-antwoord verwerken
Voeg na de AI-node een Code-node toe om de JSON-string om te zetten in bruikbare velden:
const aiResponse = $input.first().json.message.content;
const parsed = JSON.parse(aiResponse);
return [{
json: {
lead_score: parsed.score,
lead_tier: parsed.tier,
score_reasoning: parsed.reasoning,
recommended_action: parsed.recommended_action
}
}];Als de AI af en toe ongeldige JSON teruggeeft, verpak de parsing dan in een try/catch en stuur mislukte gevallen door naar een Slack-melding of een wachtrij voor handmatige controle.
Stap 4: Routeer leads op basis van score
Voeg voordat je naar je CRM terugschrijft een routeringsstap toe, zodat verschillende niveaus verschillende acties activeren.
- Voeg na de Code-node een IF-node of Switch-node toe
- Stel voorwaarden in op basis van
lead_tier:Hot(score 8-10): direct door naar CRM-update + Slack-melding aan de AEWarm(score 5-7): door naar CRM-update + aanmelden voor e-mailsequenceCold(score 3-4): door naar CRM-update + tag voor nurture met lage prioriteitDisqualified(score 1-2): door naar CRM-update + markeren als closed/lost
Dankzij deze routeringslogica ziet je salesteam alleen de leads die hun tijd waard zijn.
Stap 5: Schrijf de score terug naar je CRM
Deze stap maakt de workflow pas echt nuttig. Een score die in n8n blijft staan, is waardeloos. Hij moet staan in je CRM, waar je team werkt.
Write-back naar HubSpot
- Voeg een HubSpot-node toe
- Stel de bewerking in op Update Contact
- Koppel het contact aan de hand van het e-mailadres uit je triggerdata
- Voeg velden voor aangepaste eigenschappen toe:
ai_lead_score→{{ $json.lead_score }}ai_lead_tier→{{ $json.lead_tier }}ai_score_reasoning→{{ $json.score_reasoning }}ai_recommended_action→{{ $json.recommended_action }}
Deze aangepaste eigenschappen moet je eerst in HubSpot aanmaken. Als je hulp van buiten wilt bij het netjes doorvoeren van CRM-updates en lifecycle-automatisering, is het de moeite waard om gespecialiseerde B2B SaaS marketing ops-bureaus te bekijken.
Write-back naar Salesforce
- Voeg een Salesforce-node toe
- Stel de bewerking in op Update Lead of Update Contact
- Koppel dezelfde velden aan aangepaste velden op het Lead-object
- Gebruik het e-mailadres of het Salesforce-ID van de lead als zoeksleutel
Write-back naar Pipedrive
- Voeg een Pipedrive-node toe
- Stel de bewerking in op Update Person of Update Deal
- Koppel de scorevelden aan aangepaste velden die je in Pipedrive hebt aangemaakt
Stap 6: Breng je team op de hoogte
Een score in het CRM is goed. Een Slack-bericht aan de juiste AE is bij hot leads beter.
Na de HubSpot-write-back op de Hot-tak:
- Voeg een Slack-node toe
- Stel als kanaal het kanaal van je salesteam in, of een direct bericht aan de toegewezen verkoper
- Gebruik een berichttemplate zoals:
🔥 New Hot Lead (Score: {{ $json.lead_score }}/10)
Name: {{ $('Trigger').item.json.name }}
Company: {{ $('Trigger').item.json.company }}
Title: {{ $('Trigger').item.json.job_title }}
AI Reasoning: {{ $json.score_reasoning }}
Recommended Action: {{ $json.recommended_action }}
View in HubSpot: [link]Zo test je je workflow voordat je live gaat
Activeer de workflow niet zonder te testen met echte voorbeeldleads.
- Gebruik de Manual Trigger van n8n om de workflow met statische testdata uit te voeren
- Test minstens vijf leadprofielen: één duidelijke Hot, één duidelijke Disqualified en drie grensgevallen
- Controleer of de AI-output elke keer geldige JSON is (zo niet, scherp de prompt dan aan)
- Bevestig dat de CRM-velden bij elk testcontact correct worden bijgewerkt
- Controleer dat de Slack-melding alleen bij Hot leads afgaat
Als alle vijf de tests slagen, activeer je de workflow. Volg de eerste 20 live leads handmatig om te bevestigen dat de scoring overeenkomt met het oordeel van je team.
Veelvoorkomende problemen en hoe je ze oplost
De AI geeft tekst terug in plaats van JSON: Voeg aan het einde van je systeemprompt toe: "Return valid JSON only, no markdown, no explanation outside the JSON object".
Scores voelen inconsistent: Je rubriek is waarschijnlijk te vaag. Voeg expliciete voorbeelden toe aan de systeemprompt: "A score of 9 means: Head of Sales at a 200-person SaaS company with a stated budget."
De CRM-update mislukt: Controleer of je aangepaste eigenschappen in het CRM bestaan voordat de workflow draait. n8n geeft een foutmelding als het doelveld niet bestaat.
Verrijkingsdata ontbreekt: Bouw een terugvaltak met een IF-node die controleert of de verrijking data heeft opgeleverd. Is dat niet zo, geef dan de ruwe formulierdata aan de AI door, met in de prompt een opmerking dat verrijking niet beschikbaar was.
Veelgestelde vragen
Wat is AI-leadscoring in n8n?
AI-leadscoring in n8n is een workflow waarin binnenkomende leaddata naar een LLM-node gaat. Die beoordeelt de lead aan de hand van je ICP-criteria en geeft een numerieke score plus onderbouwing terug. De score wordt vervolgens automatisch naar je CRM geschreven, zonder handmatige controlestap.
Welk AI-model werkt het best voor leadscoring in n8n?
GPT-4o, Claude 3.5 Sonnet en Gemini 1.5 Pro leveren alle drie betrouwbare gestructureerde JSON-output voor leadscoring. GPT-4o volgt strikte JSON-opmaakinstructies het meest consistent. Claude 3.5 Sonnet schrijft vaak genuanceerdere redeneringen. Beide werken goed voor dit gebruik.
Kan ik AI-leadscoring met n8n gebruiken zonder CRM?
Ja. Heb je geen CRM, dan kun je de scores in plaats daarvan naar een Google Sheet schrijven. Voeg aan het einde van de workflow een Google Sheets-node toe en voeg een nieuwe rij toe met de leadgegevens en de scorevelden. Dat werkt als een lichtgewicht alternatief totdat je een volwaardig CRM gebruikt.
Hoe voorkom ik dat de AI dezelfde lead twee keer scoort?
Voeg vóór de AI-node een deduplicatiecheck toe. Gebruik een lookup in HubSpot of Airtable om te controleren of een contact met dat e-mailadres al een score heeft. Is dat zo, gebruik dan een IF-node om de AI-stap over te slaan en de workflow te beëindigen.
Is deze workflow geschikt voor grote aantallen leads?
n8n verwerkt gelijktijdige uitvoeringen, dus de workflow schaalt mee met je leadvolume. De beperkende factor zijn de rate limits van je LLM-API. Voeg bij volumes boven 500 leads per dag een Wait-node toe of gebruik de queue mode van n8n om rate limits te vermijden. Vergelijk je ook welke tools je het best kunt gebruiken voor technische audits of ondersteuning rond deze opzet? Bekijk dan deze vergelijking van Screamingfrog vs. SEMRush vs. AHREFS.
Bijdrage van
SaaS Hackers


