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

Apollo + Google Sheets: ordning i LinkedIn-outreach

Rickard Andersson Partner, Nodenordic.se

LinkedIn-outreach blir snabbt rörigt. Leads finns i Apollo, anteckningar hamnar i DM:s och din “single source of truth” är… ett halvt uppdaterat kalkylark som ingen litar på.

Tillväxtmarknadsförare känner det när kampanjer stannar av. Säljare känner det när uppföljningar glider igenom. Byråoperatörer som försöker hålla flera kunder i rörelse känner det också. Den här Apollo Sheets-outreach-automationen samlar allt på ett ställe och gör att dina kontaktförfrågningar känns personliga, inte spammiga.

Du får se hur det här n8n-flödet förvandlar en målgruppsbeskrivning på vanlig svenska till Apollo-leads, skapar AI-icebreakers, loggar varje prospekt i Google Sheets (med en struktur som gör det lätt att undvika dubbletter) och startar sedan PhantomBuster för att skicka inbjudningar.

Så fungerar den här automationen

Hela n8n-workflowet, från trigger till slutresultat:

n8n Workflow Template: Apollo + Google Sheets: ordning i LinkedIn-outreach

Problemet: LinkedIn-outreach blir till kalkylarkskaos

Outreach faller oftast isär på de tråkiga ställena. Du bygger en leadlista, exporterar den, rensar den, klistrar in den i ett ark och skriver sedan om meddelanden ett och ett eftersom generiska inbjudningar ignoreras. Sedan gör du om allt nästa vecka, men nu har du dubbletter, saknade fält och inget pålitligt sätt att se vem som kontaktats, vem som accepterat och vem som behöver en uppföljning. Det värsta är den mentala belastningen. Du lägger dina bästa timmar på att vakta data i stället för att prata med rätt personer.

Friktionen växer. Här är var det brukar brista i praktiken.

  • Lead-exporter från Apollo görs om gång på gång, vilket gör att listkvaliteten glider över tid.
  • Personalisering blir “jag tar det senare”, eftersom det är utmattande att skriva 50 vettiga icebreakers.
  • Dubbletter smyger sig in, så två kollegor kan skriva till samma prospekt och framstå som slarviga.
  • Utan korrekt formaterad statusspårning blir uppföljningstiming en gissningslek och svar missas.

Lösningen: Apollo-leads + AI-icebreakers, spårat i Sheets

Det här flödet ger dig en samlad, repeterbar pipeline för LinkedIn-prospektering. Det börjar med ett enkelt formulär där du beskriver din ideala målgrupp med vanlig svenska (bransch, roll, plats, företagsstorlek, nyckelord). n8n använder OpenAI för att omvandla beskrivningen till en korrekt formaterad Apollo-sök-URL, och därefter triggar ett HTTP-anrop en Apify-scrape som hämtar leaddata i skala. Sedan bearbetas leads i kontrollerade batchar så att du inte överbelastar efterföljande steg eller ditt outreach-verktyg. För varje lead genererar OpenAI en kort, specifik icebreaker baserad på profil- och anställningsdetaljer. Till sist läggs allt till i Google Sheets med konsekventa kolumner, och PhantomBuster triggas för att skicka kontaktförfrågningar med de personliga meddelandena.

Workflowet startar med en formulärinsändning. Sedan gör det om din targeting till en Apollo-fråga, hämtar matchande prospekt via Apify och skapar en icebreaker per person. Google Sheets blir kampanjens loggbok, och PhantomBuster läser från loggboken för att köra dina LinkedIn-inbjudningar utan manuell kopiering.

Vad du får: automation vs. resultat

Exempel: så här ser det ut

Säg att du vill nå 100 nya prospekt i veckan. Manuellt tar det ofta 2 minuter att hitta varje profil, ytterligare en minut att logga den och cirka 2 minuter att skriva en inbjudan som inte känns pinsam, vilket är ungefär 8 timmar av monotont arbete. Med det här flödet lägger du cirka 5 minuter på att beskriva målgruppen i formuläret och låter sedan körningen samla in och berika leads i bakgrunden. Du granskar arket, stickprovar några icebreakers och startar PhantomBuster. De flesta team har veckans lista klar på under en timme.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Apollo för att ta fram riktade leadlistor
  • Google Sheets för att spåra leads och statusar
  • OpenAI API-nyckel (hämta den i OpenAI API-dashboarden)
  • Apify API-token (hämta den i Apify Console-inställningar)
  • PhantomBuster API-nyckel (hämta den i PhantomBuster-kontoinställningar)

Kunskapsnivå: Medel. Du kopplar några konton, mappar fält till ett Sheet och rimlighetskontrollerar API-svar.

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

Så fungerar det

Insändning av målgruppsformulär. Du skriver en beskrivning på vanlig svenska av vilka du vill nå. Tänk “VP Marketing på B2B SaaS i Storbritannien, 50–200 anställda”, plus eventuella nyckelord som är viktiga.

Targeting blir en Apollo-sökning. OpenAI omvandlar din beskrivning till en användbar Apollo-sök-URL, så att du slipper pilla med filter tills något “ser rätt ut”.

Leads samlas in och berikas i batchar. n8n anropar Apify via HTTP Request för att hämta Apollo-leaddata och begränsar sedan hur många objekt som bearbetas samtidigt. Det håller workflowet stabilt när du hämtar hundratals leads.

Icebreakers och spårning sker automatiskt. OpenAI skriver en icebreaker per lead, workflowet lägger till allt i Google Sheets (med konsekventa kolumnrubriker) och PhantomBuster triggas sedan för att skicka kontaktförfrågningar med arket som källa.

Du kan enkelt justera meddelandemallen så att den matchar ert varumärkes ton och erbjudande. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera formulärtriggern

Konfigurera intagsformuläret som startar arbetsflödet och fångar målgruppsbeskrivningen.

  1. Lägg till och öppna Form Intake Trigger.
  2. Ställ in Form Title till LinkedIn Lead Outreach Trigger.
  3. Ställ in Form Description till Insert an audience for your LinkedIn Outreach Campaign here..
  4. I Form Fields behåller ni textfältet märkt Describe your audience in plain English..
  5. Autentiseringsuppgifter krävs: Anslut era httpBasicAuth-uppgifter.

Steg 2: anslut Apify- och PhantomBuster-HTTP-åtgärder

Konfigurera utgående API-anrop som hämtar leads och triggar PhantomBuster.

  1. Öppna Execute Apify Fetch och ställ in URL till https://api.apify.com/v2/acts/jljBwyyQakqrL1wae/run-sync-get-dataset-items.
  2. Ställ in Method till POST och Specify Body till JSON.
  3. Ställ in JSON Body till ={ "getPersonalEmails": true, "getWorkEmails": true, "totalRecords": 500, "url": "{{ $json.message.content.searchUrl }}" }.
  4. I Header Parameters ställer ni in Authorization till Bearer [CONFIGURE_YOUR_TOKEN] och ersätter med er Apify-token.
  5. Öppna Launch PhantomBuster Run och ställ in URL till https://api.phantombuster.com/api/v2/agents/launch.
  6. Ställ in Method till POST och i Header Parameters ställer ni in X-Phantombuster-Key till [CONFIGURE_YOUR_API_KEY].
  7. I Body Parameters ställer ni in id till [YOUR_ID] för PhantomBuster-agenten.

⚠️ Vanlig fallgrop: Noderna för Apify och PhantomBuster har inga autentiseringsuppgifter konfigurerade. Ni måste ersätta platshållartokens i headers med giltiga API-nycklar, annars misslyckas anropen.

Steg 3: konfigurera AI-bearbetningsnoderna

Använd OpenAI för att generera sök-URL:en och personlig icebreaker-text.

  1. Öppna Create Search Link och behåll JSON Output aktiverat.
  2. Säkerställ att användarmeddelandet använder uttrycket {{ $json['Describe your audience in plain English.'] }} för att skicka vidare formulärinmatningen.
  3. Autentiseringsuppgifter krävs: Anslut era openAiApi-uppgifter.
  4. Öppna Craft Icebreaker Text och behåll JSON Output aktiverat.
  5. Verifiera att det sista användarmeddelandet innehåller uttrycket ={"linkedInFields":"{{ $json.first_name }} {{ $json.last_name }}, {{ $json.city }}, {{ $json.title }} at {{ $json.employment_history[0].organization_name }}, previous experience: {{ $json.employment_history[1].title }} at {{ $json.employment_history[1].organization_name }}, {{ $json.employment_history[2].title }} at {{ $json.employment_history[2].organization_name }}"} .
  6. Autentiseringsuppgifter krävs: Anslut era openAiApi-uppgifter.

Om ni lägger till några AI-verktyg eller parser-under-noder senare ska ni koppla autentiseringsuppgifter till föräldernoden, som Create Search Link eller Craft Icebreaker Text, inte till under-noden.

Steg 4: konfigurera utdata och aggregering

Begränsa batchstorleken, skriv leaddata till Google Sheets och aggregera objekt innan PhantomBuster triggas.

  1. Öppna Restrict Batch Size och ställ in Max Items till 3.
  2. Öppna Append Leads to Sheet och ställ in Operation till appendOrUpdate.
  3. Ställ in Document ID till [YOUR_ID] och Sheet Name till gid=[YOUR_ID] baserat på ert Google Sheet.
  4. I Columns mappar ni fält med uttryck som ={{ $('Restrict Batch Size').item.json.id }} och ={{ $json.message.content.icebreaker }}.
  5. Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter.
  6. Öppna Combine Lead Batch och ställ in Aggregate till aggregateAllItemData.

Steg 5: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att validera formulärintaget, AI-utdata och efterföljande API-anrop.

  1. Klicka på Execute Workflow och skicka in ett exempel via Form Intake Trigger.
  2. Bekräfta att Create Search Link returnerar ett JSON-objekt som innehåller searchUrl.
  3. Verifiera att Execute Apify Fetch returnerar lead-objekt och att Restrict Batch Size begränsar till 3 poster.
  4. Kontrollera att Craft Icebreaker Text skriver ut icebreaker i JSON och att Append Leads to Sheet skriver nya rader.
  5. Bekräfta att Launch PhantomBuster Run returnerar ett lyckat svar från API:et.
  6. När allt fungerar växlar ni arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Behörigheter i Google Sheets är den tysta mördaren. Om rader slutar läggas till, kontrollera det anslutna Google-kontot i n8n-credentials och bekräfta att arket är korrekt delat.
  • Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • OpenAI-prompter som är för generiska skapar intetsägande inbjudningar. Lägg in er positionering och några “vad vi gör”-exempel tidigt, annars kommer du redigera utdata i all oändlighet.

Vanliga frågor

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

Cirka 1–2 timmar om dina konton och API-nycklar är klara.

Behöver jag kunna koda för att automatisera Apollo till Google Sheets-outreach?

Nej. Du kopplar främst credentials och mappar fält till ditt Sheet.

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

Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Molnplaner startar på 20 USD/månad för högre volymer. Du behöver också räkna in användning av OpenAI, Apify och PhantomBuster (många team hamnar runt 50 USD/månad totalt för den här stacken).

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

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

Kan jag anpassa det här Apollo Sheets-outreach-workflowet för en annan LinkedIn-meddelandestil?

Ja, och det bör du. Byt prompten i OpenAI-noden “Craft Icebreaker Text” så att den matchar din ton, ditt erbjudande och dina compliance-regler. Vanliga justeringar är att lägga in en strikt teckenbegränsning, tvinga fram ett första meddelande utan pitch eller lägga till en dynamisk rad baserat på jobbtitel (till exempel olika öppningar för sälj vs. marknad). Du kan också ändra kolumnerna i arket så att teamet kan godkänna meddelanden innan PhantomBuster kör.

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

Oftast är det en utgången OAuth-session eller att fel Google-konto är anslutet. Autentisera om Google Sheets-credential i n8n och bekräfta sedan att Sheet ID i noden “Append Leads to Sheet” matchar den faktiska filen. Kontrollera också delningsbehörigheter, särskilt om arket ligger på en delad enhet med striktare åtkomstregler.

Hur många leads klarar den här Apollo Sheets-outreach-automationen?

Hundratals per körning.

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

Ofta ja, eftersom det här flödet drar nytta av batchning, villkorslogik och att kedja flera HTTP-anrop utan att bli en skör labyrint. n8n ger dig också möjligheten till egen hosting, vilket är viktigt när du kör många exekveringar och vill undvika prischocker per uppgift. En annan fördel är transparens: du kan se exakt vilken data som gick in i en icebreaker och vad som skrevs till Google Sheets. Zapier eller Make kan fortfarande fungera bra för ett lättviktigt “lägg till rad i ett ark”-case, men end-to-end-prospektering växer ofta ur enkla zaps. Om du är osäker kan du prata med en automationsexpert och få en rak rekommendation.

När det här väl rullar slutar din LinkedIn-outreach att leva på fem ställen samtidigt. Workflowet tar hand om det repetitiva, så att du kan fokusera på samtal som faktiskt blir pipeline.

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