Din leadlista ser “klar” ut i Google Sheets. Sedan börjar du outreach och inser att hälften av raderna saknar sammanhang, hälften av LinkedIn-URL:erna är inaktuella och personalisering betyder att öppna 30 flikar och låtsas att du har tid.
Det här arbetsflödet för LinkedIn-lead enrichment träffar säljoperations och growth marketers först. Men byråägare som driver kundkampanjer känner av det också, eftersom varje “snabb” icebreaker blir till research, omskrivningar och velande.
Den här automatiseringen hämtar “oberikade” rader från Sheets, skrapar varje LinkedIn-profil via Apify och använder sedan GPT för att skriva en korrekt formaterad, specifik icebreaker och sparar allt tillbaka i dina kalkylark. Du får se vad den gör, vad du behöver och hur den beter sig i verkligheten.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Apify + Google Sheets: berika LinkedIn-leads snabbt
flowchart LR
subgraph sg0["When clicking ‘Execute workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Execute workf..", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n2["<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/>Call Apify LinkedIn API"]
n3@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Generate Personalized Icebre..", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Append Enriched Icebreaker", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Update Un-enriched List", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "hasEmail?", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Simplify Fields for AI Agent", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Get Raw Un-enriched Leads", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Apify Tokens", pos: "b", h: 48 }
n3 --> n8
n7 --> n1
n1 --> n10
n10 --> n2
n2 --> n3
n6 --> n1
n9 --> n7
n5 --> n6
n8 --> n4
n4 --> n5
n0 --> n9
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 n0 trigger
class n4 ai
class n7 decision
class n5,n6,n9 database
class n2 api
classDef customIcon fill:none,stroke:none
class n2 customIcon
Utmaningen: personalisering som inte skalar
Personlig outreach ska vara din fördel. I praktiken är det slit. Du börjar med en spreadsheet-export från Apollo, sedan hoppar du mellan LinkedIn, företagswebbplatser, kanske en nyhetssökning och till sist ditt e-postverktyg. Efter de första 15 leads blir hjärnan seg och du faller tillbaka på generiska rader. Ännu värre: du kan inte se vilka rader du redan “gjort”, så du dubbelkollar samma personer eller råkar hoppa över bra leads. Det är utmattande, och det är ärligt talat där många kampanjer tyst dör.
Det summeras snabbt. Här är var det vanligtvis faller isär.
- Du lägger cirka 5–10 minuter per lead bara på att hitta något verkligt att nämna.
- Att copy-pasta profildetaljer bjuder in små fel, och små fel skapar obekväma introduktioner.
- Leads utan en giltig e-postadress slinker igenom och slösar ändå din tid för skrapning och skrivande.
- Ingen statustracking gör att du återbearbetar samma rader eller tappar bort dig mitt i kampanjen.
Lösningen: berika leads i Sheets och generera icebreakers automatiskt
Det här n8n-flödet gör ditt Google Sheet till en enkel enrichment-pipeline. Du taggar rader som “oberikade”, kör flödet och det hämtar endast de leads som ska processas. Det kontrollerar först varje post för en riktig jobbmejl, så att du inte bränner API-anrop på skräp. För varje giltigt lead skickar det LinkedIn-URL:en till Apifys LinkedIn Profile Scraper, kombinerar sedan den skrapade profildatan med dina befintliga fält i arket. Till sist genererar GPT en kort, mänskligt klingande icebreaker i ett strukturerat format, lägger till resultatet i ett “Enriched”-ark och uppdaterar originalradens status till “enriched” så att den inte rörs igen.
Arbetsflödet startar med en manuell körning i n8n (så att du styr när batchar körs). Sedan går det vidare genom validering, enrichment via Apify och skapande av icebreaker via OpenAI. Resultatet landar tillbaka i Google Sheets, redo för ditt cold email- eller LinkedIn DM-verktyg.
Vad som förändras: före vs. efter
| Det här eliminerar | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du berikar 50 nya leads varje vecka. Manuellt kanske du lägger cirka 8 minuter per lead på att hoppa mellan LinkedIn, anteckningar och ditt ark, vilket är ungefär 6 timmar ren kontextinsamling. Med det här flödet lägger du kanske 10 minuter på att sätta batchen till “oberikad” och klicka på kör, och väntar sedan på att Apify och GPT processar i bakgrunden. Du granskar och finjusterar fortfarande de bästa prospekten, men du gör det med en ifylld profilöversikt och en öppningsrad som är redo att använda.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Självhosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra leads och skriva tillbaka resultat
- Apify för att skrapa LinkedIn-profildata i skala
- OpenAI API-nyckel (hämta den i OpenAI API-dashboarden)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in två tokens (Apify-nyckel + actor ID) och redigerar en prompt noggrant.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Arbetsflödet, steg för steg
En manuell körning startar allt. Du klickar på kör när du är redo att berika en batch, vilket är praktiskt om du vill kontrollera kostnader och tempo.
Google Sheets är kön. Flödet hämtar rader från ditt “Raw Leads”-ark där statuskolumnen är satt till “un-enriched”, och filtrerar sedan bort poster som saknar en giltig e-postadress.
Apify sköter profil-enrichmenten. n8n loopar igenom varje lead, skickar LinkedIn-URL:en till Apifys LinkedIn Profile Scraper via ett HTTP-anrop och aggregerar de returnerade profilfälten så att de blir konsekventa.
OpenAI skriver icebreakern, och Sheets lagrar den. Flödet mappar den skrapade datan till en strukturerad prompt, genererar en kort öppnare med GPT-4.1 Mini, lägger till en ny rad i ett “Enriched”-ark och markerar till sist originalleadet som “enriched” så att det inte processas igen.
Du kan enkelt ändra icebreaker-prompten så att den matchar din nisch och tonalitet utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera manuell trigger
Det här arbetsflödet startar manuellt så att ni kan styra när lead enrichment körs.
- Lägg till eller öppna Manual Run Trigger som startnod.
- Koppla Manual Run Trigger till Retrieve Unenriched Leads.
Steg 2: Anslut Google Sheets för intake av leads
Hämta de ej berikade leads från ert kalkylark och filtrera fram giltiga jobbmejladresser.
- Öppna Retrieve Unenriched Leads och ställ in Document till
[YOUR_ID](USA_Dental) och Sheet till100 Leads. - I Retrieve Unenriched Leads, bekräfta filtret där status är lika med
un-enriched. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Unenriched Leads.
- Öppna Validate Work Email och ställ in villkoret till email notEmpty med
{{ $json.email }}. - Koppla Retrieve Unenriched Leads → Validate Work Email → Iterate Lead Records.
- I Iterate Lead Records, låt Batch Size vara standard om ni inte behöver strypa antal förfrågningar.
- Öppna Assign Apify Credentials och ställ in apifyAPIKey och apifyActorID till era Apify-värden.
- I Apify LinkedIn API Request, ställ in URL till
=https://api.apify.com/v2/acts/{{ $json.apifyActorID }}/run-sync-get-dataset-itemsoch Method tillPOST. - Ställ in JSON Body i Apify LinkedIn API Request till
={ "profileUrls": [ "{{ $('Iterate Lead Records').item.json.linkedin_url }}" ] }. - Ställ in Authorization-headern i Apify LinkedIn API Request till
=Bearer {{ $json.apifyAPIKey }}. - Koppla Assign Apify Credentials → Apify LinkedIn API Request → Combine Lead Data.
- I Combine Lead Data, ställ in Aggregate till
aggregateAllItemData. - Öppna Map Fields for AI och säkerställ att tilldelningar mappar till uttryck som
{{ $json.data[0].firstName }},{{ $json.data[0].lastName }}och{{ $('Iterate Lead Records').item.json.organization_name }}. - Bekräfta att fälten för stad och delstat använder
{{ $('Iterate Lead Records').item.json.organization_city }}och{{ $('Iterate Lead Records').item.json.organization_state }}. - Öppna Craft Icebreaker Text och låt Model vara satt till
gpt-4.1-mini. - Låt JSON Output vara aktiverat i Craft Icebreaker Text för att returnera strukturerat innehåll.
- Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i Craft Icebreaker Text.
- Koppla Map Fields for AI → Craft Icebreaker Text.
- Öppna Append Icebreaker Row och ställ in Operation till
append. - Ställ in Document till
[YOUR_ID](USA_Dental) och Sheet tillEnriched. - Säkerställ att kolumner mappar till uttryck som
{{ $('Iterate Lead Records').item.json.id }},{{ $('Map Fields for AI').item.json.headline }}och{{ $json.message.content.icebreaker }}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Append Icebreaker Row.
- Öppna Mark Lead Enriched och ställ in Operation till
update. - I Mark Lead Enriched, mappa id till
{{ $('Validate Work Email').item.json.id }}och ställ in status tillenriched. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Mark Lead Enriched.
- Koppla Craft Icebreaker Text → Append Icebreaker Row → Mark Lead Enriched.
- Klicka på Execute Workflow med start från Manual Run Trigger.
- Bekräfta att Retrieve Unenriched Leads returnerar rader där
statusär satt tillun-enriched. - Verifiera att Craft Icebreaker Text returnerar ett JSON-objekt som innehåller
icebreaker. - Kontrollera Append Icebreaker Row för en ny rad i arket
Enrichedmed icebreaker-texten. - Säkerställ att Mark Lead Enriched uppdaterar den ursprungliga radens status till
enriched. - När detta är verifierat, aktivera arbetsflödet för att använda det i produktionskörningar.
Steg 3: Konfigurera Apify-berikning och dataaggregering
Berika varje lead med LinkedIn-data via Apify och konsolidera sedan fälten för AI-prompten.
Steg 4: Sätt upp AI-berikning med Craft Icebreaker Text
Mappa de berikade fälten till en ren AI-prompt och generera den personliga icebreakern.
Steg 5: Konfigurera utdata till Google Sheets
Skriv den genererade icebreakern till ert berikade ark och markera leadet som bearbetat.
Steg 6: Testa och aktivera ert arbetsflöde
Kör ett manuellt test och verifiera att berikade icebreakers skrivs tillbaka till rätt ark.
Se upp för
- Behörigheter i Google Sheets kan vara den tysta kampanjdödaren. Om rader inte uppdateras: kontrollera vilket Google-konto som är kopplat i n8n-credentials och bekräfta att det har redigeringsåtkomst till både Raw- och Enriched-arken.
- Om du använder Wait-beteende implicit (eftersom Apify-körningar kan ta tid) varierar processtiderna. Öka väntetiden eller lägg till en polling-kontroll om efterföljande noder fallerar på tomma svar.
- OpenAI-utdata kan driva iväg om du redigerar prompten slarvigt. Behåll JSON-formatet exakt som flödet förväntar sig och lägg in er varumärkesröst tidigt, annars får du städa svar vid varje körning.
Vanliga frågor
Cirka 30 minuter om dina konton för Sheets, Apify och OpenAI är redo.
Ja. Du kommer främst att koppla konton och kopiera en API-nyckel till steget “Set Apify Tokens”.
Ja. n8n har ett gratis självhostat 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 in OpenAI API-användning (ofta några cent per lead) och Apify-körningar beroende på din actor och volym.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Det kan du. De flesta anpassningar sker i prompten “Craft Icebreaker Text” och mappningen “Map Fields for AI”, eftersom det är där din nisch, ditt erbjudande och din tonalitet ska styras. Vissa team lägger till en striktare e-postvalideringsregel i “Validate Work Email” för att undvika privata domäner. Andra ändrar utkolumnerna i “Append Icebreaker Row” så att det matchar deras exakta outreach-mall.
Oftast är det en utgången eller felaktig Apify API-nyckel, eller att actor ID kopierades fel från Apify Console-URL:en. Uppdatera båda värdena i noden “Assign Apify Credentials”. Kontrollera också att dina LinkedIn-URL:er är giltiga och inte tomma, eftersom Apify ofta returnerar ett tomt resultat som skapar fel i nästa mappningssteg.
Om du självhostar n8n finns ingen hård gräns för körningar; dina begränsningar är främst Apify- och OpenAI-throughput plus din server. På n8n Cloud beror kapaciteten på din plan, men de flesta små team kör utan problem veckobatchar på några hundra leads. För stora listor: processa i mindre batchar så att du inte slår i rate limits.
Ofta ja, eftersom det här flödet kräver loopar, förgrening (hoppa över saknade e-postadresser) och hantering av strukturerad AI-utdata, vilket lätt blir klumpigt och dyrt i många verktyg som tar betalt “per steg”. n8n är också enklare att självhosta om du vill ha obegränsade körningar. Zapier eller Make kan fortfarande vara bra om du bara berikar en pytteliten lista och vill ha det enklaste gränssnittet. Den verkliga avgörande faktorn är hur mycket logik du behöver och hur ofta du kör det. Prata med en automationsexpert om du vill ha en snabb rekommendation.
När detta väl är uppsatt slutar ditt kalkylark att vara en att-göra-lista och blir ett system. Flödet hanterar den repetitiva researchen och formateringen så att du kan fokusera på targeting, budskap och svar.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.