Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Google Sheets + LinkedIn, berikade leads att kontakta

Rickard Andersson Partner, Nodenordic.se

Du hittar ett lovande företag, öppnar fem flikar, letar efter en kontaktsida, kopierar en e-postadress och börjar sedan jaga LinkedIn-kontext. Sedan gör du det igen. Och igen. Listan växer, men ditt tålamod gör det inte.

Det här är den typen av röra som bromsar growth marketers först, men byråägare och SDR:er känner av det också. Med automatisering för LinkedIn lead enrichment får du ett Google Sheet fyllt med prospekt som faktiskt är redo att pitchas, inte “redo att undersökas.”

Det här arbetsflödet förvandlar en sökfråga till berikade leads med e-post, telefon (när det finns) och LinkedIn-detaljer om företaget. Du får se vad som automatiseras, vilka resultat du kan förvänta dig och vad du behöver för att köra det stabilt.

Så fungerar den här automatiseringen

Hela n8n-flödet, från trigger till slutlig output:

n8n Workflow Template: Google Sheets + LinkedIn, berikade leads att kontakta

Problemet: lead-research är långsam, inkonsekvent och lätt att göra fel

Att bygga en bra outbound-lista är inte svårt för att leads inte finns. Det är svårt för att informationen du behöver är utspridd och rörig. Google-resultat skickar dig till kataloger, döda sidor eller “Kontakt”-formulär utan e-postadress. LinkedIn har kontexten du vill ha (bransch, storlek, plats), men att plocka den manuellt tar tid och hoppas ofta över när du har bråttom. Efter några timmar blir ditt kalkylark en blandning av “riktiga leads” och “kanske senare”, vilket gör att outreach stannar av och pipelinen blir tunnare än den borde.

Det summerar sig snabbt. Här är var det fallerar.

  • Du lägger cirka 10 minuter per företag bara på att avgöra om det är värt att kontakta.
  • Kataloger och aggregator-sajter smyger sig in i resultaten, så hälften av ditt tidiga arbete måste kastas.
  • E-post- och telefonuppgifter är ofta gömda på undersidor, som de flesta aldrig kollar.
  • LinkedIn-kontext kopieras manuellt (om alls), så din pitch blir generisk och svarsfrekvensen förblir låg.

Lösningen: ett “lead gen specialist”-arbetsflöde som berikar varje rad

Det här n8n-arbetsflödet fungerar som en autonom research-assistent. Du anger en sökfråga (till exempel “Marketing agencies in Toronto”), och det hämtar ett strukturerad set med leads från Googles resultat via Serper.dev. Därefter besöker det varje företags webbplats, hämtar HTML från startsidan och låter en AI-agent avgöra var den riktiga kontaktinformationen sannolikt finns (Kontakt, Om oss, Karriär, länkar i sidfoten och ibland sociala profiler). Om en kontaktsida finns, skannar en andra AI-agent den sidan och extraherar e-postadresser och telefonnummer som inte syns på startsidan. Parallellt, om en LinkedIn-företagsprofil hittas, skrapar arbetsflödet den och extraherar firmografiska detaljer som antal anställda, bransch och huvudkontorets plats. Till sist slås allt ihop till en prydlig profil och läggs till i Google Sheets.

Arbetsflödet startar med en manuell trigger i n8n, kör sedan en sökning och rensar resultaten innan det loopar igenom leads i batchar. Varje lead får två berikningspass (webbplats och LinkedIn när det finns), och output hamnar som en rad per företag i ditt kalkylark, plus en valfri e-postnotis via Gmail.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut i praktiken

Säg att du behöver 50 prospekt för en nischad kampanj. Manuellt, om du lägger cirka 10 minuter per lead och hoppar mellan Google, företagets webbplats, LinkedIn och ditt kalkylark, blir det ungefär 8 timmars arbete. Med det här arbetsflödet ställer du in sökfrågan en gång och låter det köra. Eftersom det har en inbyggd fördröjning blir en batch med 50 leads normalt klar på cirka 10–15 minuter, och ditt Sheet är redan fyllt med e-post, telefon (när det finns) och firmografisk data från LinkedIn.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra berikade lead-rader
  • Serper.dev för resultat via Google Search API
  • ScraperAPI för att ta sig förbi bot-detektering på sidor
  • Google Gemini eller OpenAI för att driva AI-agenterna
  • API-nycklar (skapa dem i respektive leverantörs dashboard)

Svårighetsgrad: Medel. Du kopplar upp autentiseringar, klistrar in API-nycklar och matchar dina Sheet-rubriker exakt.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis konsultation på 15 minuter).

Så fungerar det

Du drar igång med en sökfråga. Starta arbetsflödet och ange en nisch-/platsfråga (som “Plumbers in Chicago”) i startfälten så att systemet vet vilken typ av företag det ska hitta.

Sökresultaten rensas innan något annat händer. Arbetsflödet anropar ett sök-API, extraherar de organiska resultaten och normaliserar dem för att ta bort kataloger och lågkvalitativa länkar så att din lista inte förorenas.

Varje lead undersöks i två spår. Det hämtar HTML från företagets webbplats och frågar en AI-agent vilka sidor som är värda att kontrollera. Om det hittar en “Contact”-sida skannar det djupare efter e-postadresser och telefonnummer. Samtidigt, om det finns en LinkedIn-företagsprofil, hämtar och tolkar det centrala företagsdetaljer.

Allt slås ihop till en felfri rad i Google Sheets. Webbplatsfynd, kontaktuppgifter och LinkedIn-berikning kombineras, formateras till läsbar text och läggs till i ditt kalkylark. Du kan också skicka en Gmail-notis till dig själv medan batchen kör.

Du kan enkelt justera sökfrågan och vilka fält som skrivs till sheetet utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera den manuella triggern

Starta arbetsflödet manuellt för att verifiera varje steg i lead-identifiering och berikning.

  1. Lägg till Manual Execution Start som trigger för att köra arbetsflödet vid behov.
  2. Koppla Manual Execution Start till Assign Search Term för att lämna över kontrollen till konfigurationen av sökfrågan.

Steg 2: anslut sök- och leadkällor

Definiera er målsökning och anropa sök-API:t för att generera initiala leadkandidater.

  1. I Assign Search Term ställer ni in search_query till Marketing and Advertising agencies in Canada (eller er målmarknad).
  2. Konfigurera Search Engine Query med URL https://google.serper.dev/search och Method POST.
  3. Ställ in JSON-body i Search Engine Query till ={ "q": "{{ $json.search_query }}", "num": 50 } .
  4. Autentiseringsuppgift krävs: anslut era httpHeaderAuth-uppgifter i Search Engine Query.

⚠️ Vanlig fallgrop: Serper API kräver en giltig API-nyckel i headern. Utan den kommer Search Engine Query att returnera 401-fel.

Steg 3: sätt upp leadbearbetning och batchning

Normalisera resultaten och bearbeta leads i batcher för att kontrollera belastningen vid scraping.

  1. I Extract Search Results och Standardize Lead Data behåller ni JavaScript-blocken som de är för att parsa organiska resultat och filtrera bort skräplistningar.
  2. Använd Iterate Through Leads för att bearbeta leads i batcher; låt den vara kopplad från Standardize Lead Data.
  3. Ställ in Delay Cycle Amount till 1.5 för att lägga in throttling mellan scraping-anrop.

Tips: Det här arbetsflödet använder flera code-noder (totalt 7). Behåll dem som de är om ni inte är bekväma med JavaScript-ändringar.

Steg 4: konfigurera AI-analys och parallell routning

Analysera webbplatser och kontaktsidor med AI och routa sedan resultaten parallellt till LinkedIn-berikning och kontaktutvinning.

  1. I Retrieve Website HTML ställer ni in query-parametrarna så att de inkluderar api_key [CONFIGURE_YOUR_API_KEY], url ={{ $json.website }} och render true.
  2. I Homepage Analysis Agent behåller ni Text som =Analyze the following HTML and extract all contact details: {{ $json.data }}.
  3. Säkerställ att Gemini Chat Engine är ansluten som språkmodell för Homepage Analysis Agent. Autentiseringsuppgift krävs: anslut era googlePalmApi-uppgifter i Gemini Chat Engine.
  4. Parse Agent Output skickar output parallellt till både Route Contact Links och Combine Data Streams.
  5. Route Contact Links skickar output parallellt till både Retrieve Contact Page och Filter LinkedIn Link.
  6. I Retrieve Contact Page behåller ni query-parametern url satt till ={{ $json.Detail }} och ersätter api_key [CONFIGURE_YOUR_API_KEY] med er ScraperAPI-nyckel.
  7. Säkerställ att Gemini Contact Engine är ansluten som språkmodell för Contact Detail Extractor. Autentiseringsuppgift krävs: anslut era googlePalmApi-uppgifter i Gemini Contact Engine.
  8. Från Filter LinkedIn Link behåller ni kedjan Derive LinkedIn IDScrape LinkedIn PageLinkedIn Data AnalystParse LinkedIn Details.
  9. Säkerställ att Gemini LinkedIn Engine är ansluten som språkmodell för LinkedIn Data Analyst. Autentiseringsuppgift krävs: anslut era googlePalmApi-uppgifter i Gemini LinkedIn Engine.

⚠️ Vanlig fallgrop: noder för AI-verktyg (Homepage Analysis Agent, Contact Detail Extractor, LinkedIn Data Analyst) lagrar inte autentiseringsuppgifter direkt—lägg till dem i Gemini Chat Engine, Gemini Contact Engine respektive Gemini LinkedIn Engine.

Steg 5: slå samman resultat och förbered output

Aggregera AI-output och forma data till fält som är redo för kalkylblad.

  1. I Aggregate Contact Results behåller ni JavaScript-koden som slår ihop e-postadresser, telefonnummer och sammanfattningar.
  2. Använd Select Branch Output med Mode chooseBranch och useDataOfInput 2 för att prioritera deep-scan-data när den finns tillgänglig.
  3. Konfigurera Combine Data Streams med Mode combine, combineBy combineByPosition och numberInputs 3.
  4. I Prepare Sheet Fields behåller ni utplattningslogiken som sätter email_string, phone_string och standardvärden för LinkedIn-sammanfattning.

Steg 6: konfigurera åtgärder för output

Skriv resultaten till Google Sheets och skicka en e-postavisering när körningen är klar.

  1. I Append Spreadsheet Row ställer ni in Document till [YOUR_ID] och Sheet till Sheet1 (gid=0).
  2. Mappa kolumner i Append Spreadsheet Row med följande uttryck: Phone ={{ $json.phone_string }}, Emails ={{ $json.email_string }}, Website ={{ $json.website_url }}, industry ={{ $json.industry }}, Company Name ={{ $('Iterate Through Leads').item.json.company_name }}, Linked Summary ={{ $json.linkedin_summary }}, employee count ={{ $json.employee_count }}.
  3. Autentiseringsuppgift krävs: anslut era googleSheetsOAuth2Api-uppgifter i Append Spreadsheet Row.
  4. I Dispatch Email Alert ställer ni in sendTo till er adress och behåller subject Extraction Completed.
  5. Autentiseringsuppgift krävs: anslut era gmailOAuth2-uppgifter i Dispatch Email Alert.

Steg 7: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att verifiera att varje steg ger giltig output och att era integrationer skriver data korrekt.

  1. Klicka på Execute Workflow i Manual Execution Start för att köra arbetsflödet från början till slut.
  2. Bekräfta att Search Engine Query returnerar resultat och att Extract Search Results skickar ut en lista med leads.
  3. Verifiera att Homepage Analysis Agent, Contact Detail Extractor och LinkedIn Data Analyst returnerar giltig JSON som parsas av respektive code-nod.
  4. Kontrollera Google Sheets för att bekräfta att Append Spreadsheet Row lägger till nya rader med förväntade värden.
  5. Säkerställ att Dispatch Email Alert skickar ett klart-meddelande efter att batchen har slutförts.
  6. När ni är nöjda aktiverar ni arbetsflödet för att använda det för lead-research-körningar i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först n8n-skärmen Credentials och delningsinställningarna för det aktuella sheetet.
  • Om du använder Wait-noder eller extern scraping varierar processingtiderna. Öka väntetiden om efterföljande noder failar på tomma svar.
  • ScraperAPI kan returnera “access denied”-HTML när en målsajt är aggressiv. När AI-output plötsligt blir vag, inspektera hämtad HTML i exekveringsdatan och rotera ScraperAPI-inställningar eller headers.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för LinkedIn lead enrichment?

Cirka 45 minuter om du redan har dina API-nycklar och har skapat Google Sheet.

Behöver jag kunna koda för att automatisera LinkedIn lead enrichment?

Nej. Du kopplar konton, klistrar in API-nycklar och kopierar de angivna rubrikerna till ditt Sheet.

Är n8n gratis att använda för det här arbetsflödet för LinkedIn lead enrichment?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på $20/månad för högre volym. Du behöver också räkna in Serper.dev, ScraperAPI och din AI-modellanvändning (Gemini eller OpenAI), vilket vanligtvis ger en liten kostnad per körning.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för LinkedIn lead enrichment för en annan nisch eller region?

Ja, och det är det normala sättet att använda det. Uppdatera search_query i fälten “Assign Search Term” och justera sedan Google Sheets-kolumnerna om du vill ha extra fält som “City” eller “Service line.” Om du föredrar en annan AI-leverantör kan du byta ut Gemini chat model-noderna mot en OpenAI Chat Model-nod och behålla samma agentprompter. Du kan också strama upp filtreringen genom att lägga till fler regler i koden som rensar resultaten, så att du exkluderar vissa sajter eller nyckelord.

Varför misslyckas min Google Sheets-anslutning i det här arbetsflödet?

Oftast handlar det om behörigheter eller att kalkylarket har ändrats. Återanslut Google Sheets-autentiseringen i n8n, bekräfta att målfilen fortfarande är delad med det Google-kontot och säkerställ att dina rubriknamn matchar exakt det arbetsflödet förväntar sig. Om arbetsflödet inte hittar rätt kolumner kan append-steget ge fel även om resten av körningen ser okej ut.

Hur många leads klarar den här automatiseringen för LinkedIn lead enrichment?

I praktiken hanterar den batchar om 50 leads utan problem, och du kan köra fler batchar direkt efter varandra.

Är den här automatiseringen för LinkedIn lead enrichment bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här inte är en enkel “trigger → action”-zap. Du har förgrenad logik (kontaktssida-spår vs. LinkedIn-berikning), batchning med fördröjningar och flera AI-beslut, vilket snabbt blir både krångligt och dyrt i verktyg som prissätter per task. n8n ger dig också möjligheten att self-hosta, så listbyggande i hög volym inte blir en oväntad faktura. Zapier eller Make kan fortfarande vara bra om du bara vill ha ett lätt berikningssteg efter att ett formulär skickats in, men för fler-stegs research över webbplatser och LinkedIn är n8n oftast en bättre matchning. Om du vill ha en second opinion innan du bygger, prata med en automationsexpert.

När det här väl rullar slutar ditt kalkylark att vara en kyrkogård av halvfärdig research. Du får lead-listor som du faktiskt kan göra outreach från.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal