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

Apollo.io + Google Sheets: berika LinkedIn-leads

Rickard Andersson Partner, Nodenordic.se

Du hittar ett bra LinkedIn-inlägg om “ny plats”, kopierar företagsnamnet och hamnar sedan i samma loop: googla webbplatsen, gissa vem som leder teamet, leta efter en e-postadress, klistra in allt i ett kalkylark. Det är långsamt. Det är rörigt. Och det är lätt att tappa bort vad som redan är gjort.

Det här arbetsflödet för Apollo Sheets enrichment träffar först Marketing Ops, men byråteam inom lead gen och grundare som gör sin egen outreach känner av det också. Du får ett strukturerat Google Sheet som redan har domän, beslutsfattare och verifierade e-postadresser, så att din outreach kommer igång snabbare och din lista håller sig strukturerad.

Nedan hittar du automationen, hur den fungerar end-to-end, vad du behöver och vad du ska se upp med när den är live.

Så fungerar den här automationen

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

n8n Workflow Template: Apollo.io + Google Sheets: berika LinkedIn-leads

Problemet: LinkedIn-leads blir inte outreach-klara av sig själva

LinkedIn är fullt av köpsignaler, men att göra ett inlägg till en användbar leadpost är där tempot dör. Du kan ha ett företagsnamn i texten, en plats och postaren/profilen, men det räcker inte för outreach. Så du hoppar mellan flikar för att hitta en domän, sedan Apollo för att hitta personer, sedan enrichment igen för att få e-postadresser och sedan tillbaka till kalkylarket för att hålla allt “organiserat”. Ärligt talat är kalkylarket oftast den enda organiserade delen, och även det skapar fel när du skalar bortom några få inlägg.

Det blir snabbt mycket. Här är var det faller isär i verkligheten:

  • Att hitta rätt företagsdomän för liknande varumärkesnamn kan ta 10 minuter per lead, och fel domän förgiftar allt nedströms.
  • Att plocka fram “rätt” beslutsfattare blir till rollgissning, och du slutar med praktikanter eller irrelevanta titlar i listan.
  • E-postletande är repetitivt och inkonsekvent, vilket gör att teamet slösar tid och ändå får studsande mejl.
  • Statusspårning blir slarvig, så samma lead blir enrichad två gånger medan andra rader står orörda i veckor.

Lösningen: LinkedIn-signal → enrichat sheet → outreach-klart

Det här arbetsflödet gör om rå LinkedIn-inläggsdata till en strukturerad leaddatabas i Google Sheets och enrichar den sedan i steg med Apollo.io. Det startar när LinkedIn-inläggsdata kommer in som JSON via en n8n-webhook (från din scraper, feed eller övervakningsverktyg). En AI-agent extraherar det användbara ur inläggstexten, som företagsnamn och butikens plats, och skriver en korrekt formaterad rad i Google Sheets. Därifrån kör schemalagda kontroller i bakgrunden: först fyller de i saknade företagsdomäner, sedan hämtar de viktiga beslutsfattare kopplade till domänen, och till sist enrichas personposterna med verifierade företagsmejl. Kalkylarket blir din “single source of truth”, inte en dumpningsplats.

Arbetsflödet börjar med en webhook som fångar LinkedIn-inlägget och normaliserar det till konsekventa fält. Därefter enrichar Apollo.io uppgiften i tre pass (domän, personer, e-post), med väntesteg för att undvika rate limits. Till sist uppdateras Google Sheets i varje steg så att listan hålls aktuell utan manuell rensning.

Det du får: automation vs resultat

Exempel: så här ser det ut

Säg att du samlar in 30 LinkedIn-inlägg om butiksöppningar per vecka. Manuellt kanske du lägger cirka 10 minuter på att hitta rätt domän, 15 minuter på att plocka fram en handfull beslutsfattare och ytterligare 10 minuter på att få fram användbara e-postadresser, alltså ungefär 35 minuter per lead (cirka 17 timmar i veckan). Med det här arbetsflödet skickar du JSON:en till webhooken och låter den schemalagda enrichmenten köra; din hands-on-tid hamnar närmare 30 minuter totalt för stickprovskontroll och för att fixa något enstaka udda företagsnamn. Det är i praktiken två arbetsdagar tillbaka.

Det du behöver

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra och uppdatera leaddatabasen.
  • Apollo.io för att enrica domäner, personer och e-post.
  • Apollo.io API-nyckel (hämtas i dina kontoinställningar i Apollo).

Kompetensnivå: Medel. Du kopplar konton, mappar sheet-kolumner och justerar några filter samt API-fält.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Ett LinkedIn-inlägg kommer in som JSON. Arbetsflödet startar med en inkommande webhook-trigger som tar emot inläggstext plus eventuella extra fält som din scraper skickar med (postarens URL, inläggslänk, bild, extraktionstidpunkt).

Den röriga texten blir användbara fält. En LangChain-agent (tillsammans med en Gemini-chatmodell och en strukturerad output-parser) plockar ut företagsnamn och plats så att du slipper förlita dig på inkonsekvent manuell märkning.

Enrichment kör i tre schemalagda pass. n8n kontrollerar ditt Google Sheet efter saknade fält och använder sedan Apollo.io-endpoints via HTTP Request-noder för att hitta företagsdomänen, hämta upp till de 10 viktigaste beslutsfattarna och till sist hitta verifierade e-postadresser.

Ditt sheet hålls uppdaterat automatiskt. Varje steg skriver tillbaka till Google Sheets och markerar status, så att du kan filtrera på “saknar domän”, “saknar KDM:er” eller “saknar e-post” utan att behöva bygga om processen varje vecka.

Du kan enkelt ändra vilka roller du räknar som “viktiga beslutsfattare” så att det matchar din nisch (till exempel byta retail-roller mot SaaS-roller) utifrån dina behov. Se den fullständiga implementationsguiden nedan för alternativ för anpassning.

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

Steg 1: konfigurera webhook-triggern

Det här arbetsflödet tar emot inkommande data och delar upp den i enskilda poster för bearbetning.

  1. Lägg till noden Incoming Webhook Trigger och kopiera webhook-URL:erna för test och produktion till ert källsystem.
  2. Koppla Incoming Webhook Trigger till Distribute Items så att inkommande arrayer delas upp i items.
  3. Koppla Distribute Items till Iterate Records för att bearbeta en post per batch-loop.
Säkerställ att webhook-payloaden innehåller en array av poster; annars kommer Distribute Items inte att skicka vidare items till Iterate Records.

Steg 2: anslut Google Sheets

Sju Google Sheets-noder läser och uppdaterar poster genom flera berikningssteg. Konfigurera dem konsekvent mot samma kalkylbladsstruktur.

  1. Öppna varje Google Sheets-nod: Retrieve Sheet Rows, Retrieve Sheet Rows B, Retrieve Sheet Rows C, Store Values in Sheet, Modify Sheet Row, Modify Sheet Row B och Modify Sheet Row C.
  2. Välj mål-kalkylblad och worksheet för varje nod och håll kolumnmappningarna konsekventa över alla tre pipelines.
  3. Bekräfta att Store Values in Sheet skriver de AI-berikade datafälten som returneras av LinkedIn Data Formatter.
Inloggning krävs: Anslut era Google Sheets-inloggningsuppgifter till alla Google Sheets-noder (7 totalt) innan ni kör arbetsflödet.

Steg 3: konfigurera AI-bearbetning med LinkedIn Data Formatter

AI-pipelinen formaterar LinkedIn-data med en chattmodell och en parser för strukturerad output, och sparar sedan resultaten i Sheets.

  1. Konfigurera LinkedIn Data Formatter så att den tar emot input från Iterate Records och skickar strukturerade fält till Store Values in Sheet.
  2. Säkerställ att Gemini Chat Model är ansluten som språkmodell för LinkedIn Data Formatter.
  3. Säkerställ att Structured Result Parser är ansluten som output-parser för LinkedIn Data Formatter.
Inloggning krävs: Anslut era Google Gemini-inloggningsuppgifter i Gemini Chat Model. Structured Result Parser är en sub-nod—inloggningsuppgifter ska läggas på den överordnade modellnoden, inte på parsern.

Steg 4: konfigurera schemalagda triggers och villkorskontroller

Tre schemalagda pipelines kontrollerar sheets, filtrerar rader och routar data till respektive berikningsflöde.

  1. Ställ in ett schema på Scheduled Trigger och koppla den till Retrieve Sheet RowsConditional Check BIterate Records A.
  2. Ställ in ett schema på Scheduled Trigger B och koppla den till Retrieve Sheet Rows BConditional CheckIterate Records B.
  3. Ställ in ett schema på Scheduled Trigger C och koppla den till Retrieve Sheet Rows CConditional Check CIterate Records C.
Håll filtreringslogiken i varje Conditional Check synkad med statuskolumnerna i ert sheet för att undvika att färdiga rader bearbetas igen.

Steg 5: konfigurera uppslag för företag och personer

Två steg med HTTP-förfrågningar berikar företagsdomäner och persondata och sparar sedan resultaten i Sheets med pacing via wait-noder.

  1. Konfigurera Company Domain Lookup (HTTP Request) så att den använder fälten som skickas från Iterate Records A, och koppla den sedan till Modify Sheet RowPause ExecutionIterate Records A.
  2. Konfigurera People Lookup (HTTP Request) så att den använder fälten som skickas från Iterate Records B, och koppla den sedan till Pause Step BModify Sheet Row BIterate Records B.
⚠️ Vanlig fallgrop: Pause Execution och Pause Step B är wait-noder—säkerställ att de är konfigurerade för att återuppta korrekt (tidsbaserat eller webhook-baserat), annars kommer era batch-loopar att stanna.

Steg 6: konfigurera e-postidentifiering och transformlogik

Den tredje pipelinen gör anpassade transformationer och e-postidentifiering och uppdaterar sedan sheetet.

  1. I Transform Logic formaterar ni posten från Iterate Records C för förfrågan till e-postuppslagningen.
  2. Konfigurera Email Discovery (HTTP Request) och koppla den till Transform Logic BPause Step CModify Sheet Row CIterate Records C.
Använd Transform Logic B för att normalisera svarsfält innan ni skriver till Modify Sheet Row C för konsekventa kolumner.

Steg 7: testa och aktivera ert arbetsflöde

Validera varje flöde med exempelposter innan ni aktiverar scheman och använder webhooken i produktion.

  1. Kör Incoming Webhook Trigger manuellt med en test-payload och bekräfta att data flödar genom Distribute Items, Iterate Records, LinkedIn Data Formatter och Store Values in Sheet.
  2. Kör Scheduled Trigger, Scheduled Trigger B och Scheduled Trigger C manuellt för att verifiera att de tre schemalagda pipelines uppdaterar rader utan fel.
  3. Kontrollera Google Sheets för att bekräfta att rader uppdaterades av Modify Sheet Row, Modify Sheet Row B och Modify Sheet Row C.
  4. När resultaten ser korrekta ut aktiverar ni arbetsflödet och slår på schemana i alla tre noderna för schemalagd trigger.
🔒

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 slutar fungera, börja med att kontrollera n8n-sidan för Credentials och Google-kontots åtkomst till just det kalkylarket.
  • Om du använder Wait-noder eller extern enrichment varierar processtiderna. Öka väntetiden om nedströms HTTP Request-noder misslyckas på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din ton och extraktionsregler tidigt (till exempel “ignorera hashtags, prioritera juridiska företagsnamn”), annars kommer du redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Apollo Sheets enrichment-automationen?

Cirka 45 minuter om ditt Sheet och Apollo-konto är redo.

Behöver jag programmeringskunskaper för att automatisera Apollo Sheets enrichment?

Nej. Du kommer mest koppla konton och mappa fält i Google Sheets. De inkluderade kodstegen är redan skrivna, och du behöver sällan röra dem.

Är n8n gratis att använda för det här Apollo Sheets enrichment-arbetsflödet?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på $20/månad för högre volym. Du behöver också räkna in Apollo.io API-användning utifrån din plan.

Var kan jag hosta n8n för att köra den här Apollo Sheets enrichment-automationen?

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 obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här Apollo Sheets enrichment-arbetsflödet för andra beslutsfattarroller?

Ja, och det bör du. Du kan justera Apollo People Lookup-anropet för att söka efter de roller som är viktiga i din marknad (till exempel “Head of Partnerships” i stället för “Head of Retail”). Vanliga anpassningar är att ändra listan med titlar, begränsa till specifika platser och uppdatera vilka Google Sheets-kolumner du skriver tillbaka till.

Varför misslyckas min Apollo.io-anslutning i det här arbetsflödet?

Oftast beror det på en utgången eller felaktig Apollo API-nyckel i dina n8n HTTP Request-credentials. Det kan också vara att du saknar API-åtkomst (företagssökning vs personsökning) eller rate limiting om du kör stora batchar utan tillräcklig väntetid mellan anropen. Kolla exekveringsloggen för det exakta Apollo-felmeddelandet och bekräfta sedan att din plan inkluderar endpointen du anropar.

Hur många leads kan den här Apollo Sheets enrichment-automationen hantera?

Några hundra per körning är realistiskt för de flesta team, så länge du håller Wait-stegen och batchstorlekarna på en rimlig nivå.

Är den här Apollo Sheets enrichment-automationen bättre än att använda Zapier eller Make?

Det beror på hur hård du är med datakvalitet. Zapier eller Make kan fungera för enkla “lägg till en rad”-automationer, men enrichment i flera steg blir ofta till sköra kedjor och kostnaderna drar iväg när du lägger till steg och filterlogik. n8n hanterar förgrening (IF-kontroller), loopar över rader och väntan för rate limits utan att det känns som att du måste kämpa mot verktyget. En annan praktisk vinst: self-hosting betyder att du inte betalar per litet steg när volymen växer. Om du är osäker, prata med en automationsexpert och beskriv er veckovolym av leads och vilka fält ni behöver.

När det här väl rullar slutar ditt kalkylark vara en att-göra-lista och börjar fungera som en leadmotor. Sätt upp det, låt det enrica i bakgrunden och använd tiden du får tillbaka till outreach som faktiskt konverterar.

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