Manuell sökning på LinkedIn är en tidstjuv. Du finjusterar filter, öppnar 30 profiler, kopierar länkar till ett dokument och ändå missar du personen du faktiskt ville nå.
Rekryterare känner av det när en roll är akut. Grundare som gör sin egen outbound känner det också. Samma sak för jobbsökande som försöker ta sig förbi ATS:en. Den här LinkedIn-leadautomationen gör om en enkel prompt på vanlig svenska till en strukturerad leadlista i Google Sheets.
Du får se hur workflowet hittar relevanta profiler via Google-sökning, använder OpenAI för att extrahera användbara kontaktuppgifter och sedan berikar resultaten med e-postsökning så att du kan starta outreach snabbare.
Så fungerar den här automatiseringen
Här är hela workflowet du kommer att sätta upp:
n8n Workflow Template: LinkedIn till Google Sheets, leads berikade med OpenAI
flowchart LR
subgraph sg0["When chat message received Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n1@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n2@{ icon: "mdi:database", form: "rounded", label: "Create a new sheet", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Add columns to new sheet", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>set page number for google s.."]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Google Boolean Search"]
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If desired results not reached", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Appends the results to the s..", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Extracts fname, lname, domai.."]
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Extracts all linkedin urls a.."]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Adds 10 to start - Go to nex.."]
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/hunter.png' width='40' height='40' /></div><br/>Hunter"]
n13@{ icon: "mdi:robot", form: "rounded", label: "Generate a Boolean Search St..", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Extract Contact Details", pos: "b", h: 48 }
n15["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Columns to add: linkedin_url.."]
n0 --> n5
n12 --> n7
n2 --> n15
n5 --> n10
n14 --> n9
n3 --> n4
n1 --> n13
n6 --> n0
n7 --> n11
n13 --> n2
n9 --> n12
n4 --> n6
n11 --> n6
n15 --> n3
n10 --> n14
end
subgraph sg1["Flow 2"]
direction LR
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Code"]
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1 trigger
class n13,n14 ai
class n6 decision
class n2,n3,n7 database
class n5 api
class n4,n9,n10,n11,n15,n8 code
classDef customIcon fill:none,stroke:none
class n4,n5,n9,n10,n11,n12,n15,n8 customIcon
Varför det här spelar roll: LinkedIn-research som äter upp din vecka
LinkedIn är grymt för att upptäcka personer, men jobbigt när du ska bygga en användbar leadlista. Grovjobbet tar aldrig slut: du gör en sökning, öppnar profiler en och en, kopierar URL:er till ett kalkylark och försöker sedan komma ihåg varför varje person var relevant. Under tiden försvinner “kontexten” som gjorde en profil intressant så fort du stänger fliken. Och ärligt talat är det värsta den avbrutna mentala belastningen. Du gör research, datainmatning och lite detektivarbete samtidigt, vilket är varför det tar timmar i stället för minuter.
Det drar iväg snabbt. Här är var det fallerar så fort du försöker göra det här i någon större volym.
- Du får ett stökigt kalkylark med länkar och inga riktiga anteckningar om matchning.
- E-postuppslagning blir ett projekt nummer två, så outreach skjuts upp en dag (eller en vecka).
- Manuell copy-paste skapar onödiga fel som fel namn, fel företag eller dubbla rader.
- Du kan inte enkelt upprepa processen för nya nischer eftersom “metoden” sitter i ditt huvud, inte i ett workflow.
Vad du bygger: en prompt-till-leads-pipeline i Google Sheets
Det här workflowet fungerar som en lättviktig LinkedIn-“agent” som startar med ett meddelande du skickar och slutar med ett lead-ark som är redo att användas. Du skriver en beskrivning på vanlig svenska av vem du vill hitta (till exempel “Product managers som jobbar med YouTube Shorts generativa AI-funktioner”) i chatt-triggern. Automatiseringen gör om det till en boolesk fråga, kör autentiserade Google-sökningar och hämtar LinkedIn-profil-URL:er plus utdrag som förklarar varför varje resultat dök upp. Sedan läser OpenAI den kontexten för att extrahera för- och efternamn samt en sannolik domän-/företagsledtråd. Till sist försöker Hunter.io hitta verifierade e-postadresser och workflowet lägger in allt i ett strukturerat Google Sheet som du faktiskt kan använda för outreach.
Workflowet startar från din prompt i n8n-chatten och itererar sedan genom Google-resultat i batchar tills det når en tröskel. OpenAI extraherar kontaktfält från texten runt varje profillänk. Hunter.io berikar med e-post, och Google Sheets blir din slutliga “single source of truth”.
Det här bygger du
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du bygger en riktad lista i veckan med 30 personer som passar bra. Manuellt tar det ofta cirka 2 minuter att öppna varje resultat och fånga en profillänk plus anteckningar, och sedan ytterligare en minut för att försöka hitta en e-postadress. Det är ungefär 90 minuter, och det är lätt att tappa kontexten som var viktig. Med det här workflowet lägger du cirka 5–10 minuter på att skriva prompten och kontrollera det färdiga Google Sheet medan sökning, parsning och berikning körs i bakgrunden.
Innan du börjar
- 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 din leadlista.
- Hunter.io för att hitta och verifiera e-postadresser.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard).
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in API-nycklar och kör några testprompter.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Du skickar en sökbegäran via chatten. Workflowet startas av en n8n chat trigger, så du kan skriva vad du vill på naturligt språk i stället för att bygga filter manuellt.
Workflowet bygger en boolesk fråga och söker på Google. OpenAI genererar en LinkedIn-anpassad boolesk sträng, och sedan kör en HTTP-förfrågan autentiserade Google-sökningar för att hitta relevanta LinkedIn-profiler och utdrag.
Kontext omvandlas till strukturerade leadfält. Kodsteg plockar ut LinkedIn-URL:er och texten runt dem, och sedan extraherar OpenAI förnamn, efternamn och domän-/företagsledtrådar. En loop bearbetar resultaten i batchar så att du kan hämta flera sidor utan att behöva sitta och passa.
E-post berikas och allt hamnar i Google Sheets. Hunter.io försöker slå upp e-postadresser, och workflowet lägger till rader i ett nytt kalkylark med konsekventa kolumner (first_name, last_name, domain_name, email, context) så att du kan starta outreach direkt.
Du kan enkelt justera stilen på sökprompten för att rikta in dig på andra roller, branscher eller platser utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera chattriggern
Starta arbetsflödet med en chattbaserad trigger som initierar processen för prospektidentifiering.
- Lägg till noden Incoming Chat Trigger på arbetsytan.
- Öppna Incoming Chat Trigger och bekräfta att triggern är aktiv för chattbaserade indata.
- Koppla Incoming Chat Trigger till Build Boolean Search String för att starta den AI-drivna genereringen av sökfrågor.
Steg 2: Anslut Google Sheets
Förbered kalkylarket som ska lagra era prospektresultat och processdata.
- Lägg till och öppna Generate New Spreadsheet, Insert Sheet Columns och Append Results to Sheet.
- Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter till Generate New Spreadsheet, Insert Sheet Columns och Append Results to Sheet.
- Säkerställ att Generate New Spreadsheet går vidare till Define Column Headers och därefter till Insert Sheet Columns i exakt den ordningen.
- Koppla Append Results to Sheet efter Hunter Email Lookup för att lagra berikade leads.
Steg 3: Konfigurera AI-noder för bearbetning
Använd AI för att generera den booleska sökfrågan och extrahera kontaktinformation från resultaten.
- Öppna Build Boolean Search String och Extract Contact Information.
- Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter till Build Boolean Search String och Extract Contact Information.
- Bekräfta flödet Build Boolean Search String → Generate New Spreadsheet och Derive LinkedIn Links & Context → Extract Contact Information.
Steg 4: Konfigurera prospektidentifiering och berikning
Kör Google-sökningar, tolka resultaten och berika leads med e-postdata.
- Öppna Google Boolean Query och konfigurera dess request-inställningar för ert sök-API eller er endpoint.
- Om er sökendpoint kräver autentisering, lägg till relevanta inloggningsuppgifter i Google Boolean Query innan ni kör.
- Verifiera sekvensen: Google Boolean Query → Derive LinkedIn Links & Context → Extract Contact Information → Parse Name and Domain.
- Öppna Hunter Email Lookup och ställ in den för att berika den parsade name/domain-datan.
- Inloggningsuppgifter krävs: Anslut era Hunter-inloggningsuppgifter till Hunter Email Lookup.
Steg 5: Lägg till kontrollogik och iterering
Loopa genom söksidor och stoppa när tröskelvärden uppnås.
- Bekräfta att Assign Search Page Index körs efter Insert Sheet Columns.
- Öppna Check Result Threshold och definiera villkoret för att fortsätta eller stoppa bearbetningen.
- Säkerställ att loop-slingan är: Check Result Threshold → Delay Execution Step → Google Boolean Query.
- Säkerställ att itereringsslingan efter att ha skrivit till arket är: Append Results to Sheet → Increment Search Offset → Check Result Threshold.
Steg 6: Testa och aktivera ert arbetsflöde
Validera flödet från start till mål och sätt arbetsflödet i drift.
- Klicka på Execute Workflow och skicka ett testmeddelande till Incoming Chat Trigger.
- Bekräfta att ett nytt kalkylark skapas av Generate New Spreadsheet och att rubriker infogas av Define Column Headers och Insert Sheet Columns.
- Verifiera att Append Results to Sheet tar emot berikad data efter Hunter Email Lookup.
- När allt fungerar som förväntat, växla arbetsflödet till Active för användning i produktion.
Felsökningstips
- Google-inloggning (via HTTP Request) kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först det anslutna Google-kontot och OAuth-scopes i n8n-credentials.
- Om du använder Wait-noder eller extern bearbetning varierar tajming. Öka väntetiden om efterföljande noder fallerar eftersom Google-resultat eller berikningssvar kommer tillbaka tomma.
- OpenAI-prompter som följer med mallar är ofta generiska. Lägg in dina ICP-regler och exakt utdataformat tidigt, annars kommer du att fortsätta rensa “nästan rätt”-rader i Sheets.
Snabba svar
Cirka 10 minuter om dina API-nycklar är redo.
Nej. Du kopplar främst konton och klistrar in API-nycklar och justerar sedan prompten så att den matchar din idealkundprofil.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-kostnader och Hunter.io-användning (de flesta team lägger några dollar under testning).
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 serveradministration.
Ja, och det bör du. Byt målgrupp genom att redigera prompten i OpenAI-noden “Build Boolean Search String” och skärp extraktionsreglerna i OpenAI-noden “Extract Contact Information” (till exempel kräva vissa titlar eller exkludera byråer). Vanliga anpassningar är att ändra antal resultat, begränsa geografi och lägga till extra kolumner som “role”, “seniority” eller “source_query”.
Oftast beror det på en utgången Google OAuth-token eller att arket skapades under ett annat Google-konto än det som är anslutet i n8n. Anslut Google Sheets-credentials på nytt i n8n och kör sedan om stegen “Generate New Spreadsheet” och “Insert Sheet Columns”. Om rader läggs till men kolumnerna ser fel ut, kontrollera logiken i “Define Column Headers” och “Insert Sheet Columns”, eftersom en liten avvikelse kan flytta data till fel fält.
Gott och väl för normal outreach. På n8n Cloud begränsas du främst av din plans månatliga körningar och av rate limits hos Google/Hunter/OpenAI. Self-hosting tar bort taket för antal körningar, men din server måste fortfarande klara batch-looparna. I praktiken kör de flesta det per lista (10–50 leads), granskar arket och kör igen med en förfinad prompt.
Ofta, ja, eftersom det här inte är en enkel två-app-sync. Du har loopar, trösklar, villkorslogik och AI-extraktionssteg, plus möjligheten att self-hosta för hög volym. Zapier och Make kan göra delar av det, men förgreningar i flera steg tenderar att bli dyrt och rörigt när du itererar. n8n gör det också enklare att hålla logiken på ett ställe (frågebyggande, parsning, berikning och slutlig output). Om du bara behöver “formulärinsändning till kalkylark” är Zapier helt okej. Om du vill ha en agentlik pipeline som du kan justera varje vecka är n8n ett bättre val. Prata med en automationsexpert om du vill ha en rekommendation för ditt exakta use case.
När det här väl rullar slutar lead-research vara ett veckovis måste och blir i stället ett repeterbart input-output-system. Workflowet tar hand om det repetitiva, och du kan lägga din tid på målgrupp och budskap.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.