Een LinkedIn lead-agent vindt dagelijks nieuwe potentiele klanten op basis van jouw criteria, verrijkt ze met AI, en zet ze klaar in je CRM, volledig automatisch. Deze handleiding bouwt het systeem stap voor stap op in n8n, met Phantombuster voor scraping en Claude voor personalisatie.
Video tutorial: This n8n workflow scrapes LinkedIn Leads and generates icebreakers (500+ Leads/Day): https://www.youtube.com/watch?v=bWE0maKl_sU
Architectuur van het systeem
Het systeem bestaat uit vier opeenvolgende modules in n8n. Module 1 (Lead Discovery): Phantombuster scrapet dagelijks 25-50 LinkedIn-profielen op basis van jouw zoekcriteria en stuurt ze als webhook naar n8n. Module 2 (Enrichment): n8n verrijkt elk profiel met bedrijfsinformatie en laat Claude een fit-score en samenvatting genereren. Module 3 (Filtering): alleen leads met score 7 of hoger gaan verder. Module 4 (CRM Import): gekwalificeerde leads worden aangemaakt als contactpersoon en deal in je CRM, inclusief het gegenereerde outreach-bericht.
Stap 1: Phantombuster instellen
Maak een account op https://phantombuster.com (gratis tier: 2 uur/dag agent-tijd). Kies de LinkedIn Search Export phantom. Configureer je zoekcriteria: functietitel (bijv. 'Marketing Director'), branche ('B2B Software'), land ('Netherlands'), bedrijfsgrootte ('51-200'). Stel dagelijkse run in op 25 profielen om binnen LinkedIn-limieten te blijven. Ga naar Settings > Webhooks en voer je n8n webhook-URL in (die je in stap 2 aanmaakt). Phantombuster stuurt nu na elke run de resultaten als JSON naar n8n.
# Voorbeeld van Phantombuster output per profiel:
{
"firstName": "Sarah",
"lastName": "de Vries",
"jobTitle": "Marketing Director",
"company": "Acme BV",
"profileUrl": "https://linkedin.com/in/sarahdevries",
"location": "Amsterdam, Netherlands",
"connectionDegree": "2nd"
}
Stap 2: n8n workflow aanmaken met webhook
Open n8n (https://app.n8n.io voor cloud of je eigen installatie). Maak een nieuw workflow aan. Voeg een Webhook node toe als trigger. Kies methode POST en kopieer de Webhook URL. Plak deze URL in Phantombuster (stap 1). Activeer de workflow. n8n ontvangt nu JSON van Phantombuster na elke scraping-run.
Stap 3: AI fit-score en samenvatting via Claude
Voeg een HTTP Request node toe na de webhook. Configureer hem als POST naar https://api.anthropic.com/v1/messages. Headers: x-api-key: JOUW_ANTHROPIC_KEY, anthropic-version: 2023-06-01, content-type: application/json. Gebruik onderstaande prompt-structuur in de body.
// n8n HTTP Request body (JSON):
{
"model": "claude-haiku-4-5",
"max_tokens": 300,
"messages": [{
"role": "user",
"content": "Je bent een B2B sales-assistent voor [JOUW BEDRIJF]. Beoordeel deze LinkedIn-lead:\n\nNaam: {{$json.firstName}} {{$json.lastName}}\nFunctie: {{$json.jobTitle}}\nBedrijf: {{$json.company}}\nLocatie: {{$json.location}}\n\nGeef een JSON-object terug met:\n- score: 1-10 (hoe goed past dit als klant)\n- reden: 1 zin toelichting\n- taal: altijd Nederlands"
}]
}
Stap 4: Filteren op fit-score
Voeg een IF node toe na de Claude-aanroep. Conditie: score groter dan of gelijk aan 7 (gebruik een JSON Parse node eerst om de Claude-response te parsen). Leads met score < 7 gaan naar een Google Sheet voor archivering. Leads met score >= 7 gaan door naar stap 5.
Stap 5: Gepersonaliseerd outreach-bericht genereren
Voor gekwalificeerde leads (score >= 7) roep je Claude opnieuw aan, nu voor een outreach-bericht. Maximum 300 tekens (LinkedIn-limiet voor connectieverzoeken). Het bericht moet specifiek zijn: refereer aan hun functie, bedrijf of locatie. Nooit generiek.
// Prompt voor outreach-bericht:
"Schrijf een LinkedIn connectieverzoek van maximaal 280 tekens voor:
Naam: {{$json.firstName}}
Functie: {{$json.jobTitle}} bij {{$json.company}}
Locatie: {{$json.location}}
Vanuit: [JOUW NAAM], [JOUW FUNCTIE] bij [JOUW BEDRIJF]
Context: [1 zin over wat jij doet en voor wie]
Eisen: Direct, vriendelijk, specifiek, geen generieke zinnen als 'ik vond uw profiel interessant'. Schrijf in het Nederlands."
Stap 6: Lead aanmaken in CRM (HubSpot)
Voeg de HubSpot node toe (of Pipedrive/Notion afhankelijk van je CRM). Kies actie: Create Contact. Map de velden: firstname, lastname, company, jobtitle, linkedin_url. Voeg custom properties toe: ai_fit_score, ai_reden, outreach_bericht, bron: LinkedIn-Agent. Voeg ook een tag toe zodat je deze leads later kunt filteren: type = 'linkedin-agent-2026-03'. HubSpot-documentatie: https://developers.hubspot.com/docs/api/crm/contacts
Veelvoorkomende problemen
Probleem: LinkedIn blokkeert Phantombuster. Oplossing: Verlaag het dagelijks volume naar 15-20 profielen. Voeg een vertraging van 2-5 seconden toe tussen scrapes in Phantombuster-instellingen. Gebruik een residentieel IP-adres (Phantombuster heeft dit als premium optie).
Probleem: Claude geeft geen geldig JSON terug voor fit-score. Oplossing: Voeg 'antwoord ALLEEN met het JSON-object, geen tekst ervoor of erna' toe aan je prompt. Gebruik in n8n een Code node om de response te parsen met een try-catch.
Probleem: Dubbele leads in CRM. Oplossing: Voeg voor de HubSpot-aanroep een search-stap toe die controleert of de LinkedIn URL al bestaat als contact. Gebruik de HubSpot Search Contacts node met filter linkedin_url = huidige URL.
GDPR-aandachtspunten
LinkedIn-scraping voor B2B outreach valt in een grijs gebied. Publieke profieldata mag worden gebruikt voor zakelijk contact, mits je een legitiem zakelijk belang kunt aantonen. Leg in je privacy-policy vast dat je LinkedIn-data gebruikt voor outreach. Verwijder leads die aangeven geen contact te willen onmiddellijk uit je CRM. Verwerk geen gevoelige persoonsgegevens (gezondheid, politiek, etc.) die op profielen staan.
Handige links
Phantombuster: https://phantombuster.com | n8n docs: https://docs.n8n.io | Anthropic API docs: https://docs.anthropic.com | HubSpot CRM API: https://developers.hubspot.com/docs/api/crm/contacts | SerpAPI: https://serpapi.com