Du börjar med goda intentioner: ”Jag ska följa upp med alla som kommenterade.” Sedan slår verkligheten till. Flikar överallt, dubbla profiler, inbjudningar du inte minns att du skickat, och ett kalkylark som redan är inaktuellt.
Den här LinkedIn Sheets tracking-automationen träffar marknadschefer och tillväxtfokuserade grundare först, men byråoperatörer känner av den också. Du förvandlar engagemang på inlägg till en felfri, avduplicerad lista med leads, inbjudna kontakter, accepterade kontakter och inbjudningar att följa företagssidan. Loggas automatiskt.
Nedan ser du hur workflowet körs från start till mål, vad du behöver för att sätta upp det och hur mycket tid du får tillbaka när det väl rullar på schema.
Så fungerar den här automationen
Hela n8n-workflowet, från trigger till slutresultat:
n8n Workflow Template: LinkedIn + Google Sheets: spåra inbjudningar och följare
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@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Fetch Posts to Scrape", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Mark Post as scraped", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Scrape comments from Post", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items1", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Check if already collected", pos: "b", h: 48 }
n8@{ icon: "mdi:database", form: "rounded", label: "Collect leads in sheet", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If not in sheet", pos: "b", h: 48 }
n24@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter", pos: "b", h: 48 }
n24 --> n6
n2 --> n24
n9 --> n8
n9 --> n6
n1 --> n5
n6 --> n4
n6 --> n7
n4 --> n1
n3 --> n1
n8 --> n6
n5 --> n2
n7 --> n9
n0 --> n3
end
subgraph sg1["Schedule Flow"]
direction LR
n10@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Fetch Leads that have not be..", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop over leads", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Check if a person is a conne..", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Send a linked in connection ..", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If1", pos: "b", h: 48 }
n17@{ icon: "mdi:database", form: "rounded", label: "Already connected", pos: "b", h: 48 }
n18@{ icon: "mdi:database", form: "rounded", label: "Pending", pos: "b", h: 48 }
n25@{ icon: "mdi:database", form: "rounded", label: "Invite Sent", pos: "b", h: 48 }
n15 --> n14
n15 --> n16
n16 --> n18
n16 --> n17
n18 --> n12
n25 --> n12
n12 --> n13
n10 --> n11
n17 --> n12
n13 --> n15
n14 --> n25
n11 --> n12
end
subgraph sg2["Schedule Flow"]
direction LR
n19@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger1", pos: "b", h: 48 }
n20@{ icon: "mdi:cog", form: "rounded", label: "List your linkedin connections", pos: "b", h: 48 }
n22@{ icon: "mdi:database", form: "rounded", label: "Update connection status", pos: "b", h: 48 }
n26@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split out over connections", pos: "b", h: 48 }
n29["<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 in JavaScript"]
n19 --> n20
n29 --> n22
n26 --> n29
n20 --> n26
end
subgraph sg3["Schedule Flow"]
direction LR
n21@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger2", pos: "b", h: 48 }
n23@{ icon: "mdi:cog", form: "rounded", label: "Invite connections to follow..", pos: "b", h: 48 }
n27@{ icon: "mdi:database", form: "rounded", label: "Get connected leads", pos: "b", h: 48 }
n28@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop over leads2", pos: "b", h: 48 }
n30@{ icon: "mdi:database", form: "rounded", label: "Update invited to page", pos: "b", h: 48 }
n28 --> n23
n21 --> n27
n27 --> n28
n30 --> n28
n23 --> n30
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,n10,n19,n21 trigger
class n9,n24,n15,n16 decision
class n3,n4,n7,n8,n11,n17,n18,n25,n22,n27,n30 database
class n29 code
classDef customIcon fill:none,stroke:none
class n29 customIcon
Problemet: LinkedIn-outreach faller isär efter första dagen
Tillväxt för en LinkedIn-företagssida ser enkelt ut på papper. Publicera innehåll, se engagemanget rulla in, connecta med rätt personer och bjud sedan in nya kontakter att följa din sida. I praktiken är det döden av småuppgifter. Du kopierar profil-URL:er från kommenterare, du glömmer vilket inlägg du redan har skrapat och du skickar inbjudningar två gånger (eller inte alls). Ännu värre: du kan inte se vad som fungerar eftersom ditt ”system” bor i webbläsarhistorik, anteckningar och halvfärdiga kalkylark.
Det blir mycket, snabbt. Här är var det havererar när du försöker göra det konsekvent.
- Manuell insamling av kommenterare och profilkoll tar cirka 1–2 timmar per batch av inlägg, och det är innan du ens skickar en enda inbjudan.
- Utan avduplicering går du tillbaka till samma personer om och om igen, vilket gör att du slösar tid och ser slarvig ut med upprepad outreach.
- Status på inbjudningar är i praktiken osynlig om du inte klickar igenom profiler en och en, så tajming för uppföljning blir gissningar.
- Att bjuda in accepterade kontakter att följa din företagssida är lätt att glömma, och det är hela poängen med att göra detta från början.
Lösningen: automatisk spårning av LinkedIn-engagemang → inbjudningar → följare
Det här workflowet gör LinkedIn-engagemang till en repeterbar tillväxtloop med n8n, Browserflow för LinkedIn-åtgärder och en Google Sheets-dashboard som förblir korrekt. Det börjar med att hämta en lista med LinkedIn-inläggs-URL:er från ett Google Sheet och skrapar sedan personerna som kommenterade (och valfritt gillade) dessa inlägg. Varje profil normaliseras och kontrolleras mot ditt befintliga ark så att du bara lägger till nya leads en gång. Därefter tar schemalagda körningar över: workflowet kontrollerar vilka som ännu inte har blivit inbjudna, skickar kontaktförfrågningar, spårar vilka inbjudningar som är väntande kontra accepterade och bjuder till sist in accepterade kontakter att följa din företagssida. Varje åtgärd uppdaterar samma Google Sheet så att du alltid vet vad som hände och när.
Workflowet startar när du manuellt drar igång en skrapning eller när dina scheman kör. Sedan går det igenom fyra steg: samla engagerade profiler, skicka kontaktinbjudningar, synka accepteringsstatus och skicka inbjudningar att följa företagssidan. Slutresultatet är en felfri lista du kan lita på – inte en hög med skärmdumpar och ”jag tror jag redan skickade den”.
Det du får: automation vs. resultat
| Det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du skrapar engagemang från 10 senaste inlägg varje vecka och vanligtvis hittar 20 riktiga prospekt per inlägg. Manuellt kanske du lägger cirka 2 minuter per profil på att öppna, göra en rimlighetskoll, kopiera URL:en och logga den – vilket blir ungefär 6–7 timmar innan inbjudningar och uppföljningar. Med det här workflowet triggar du skrapningen en gång, och sedan hanterar schemalagda körningar inbjudningar, synk av accepteringar och inbjudningar att följa företagssidan automatiskt. Ditt ”jobb” blir att granska arket några minuter och justera targeting, inte att klicka runt.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Självhostningsalternativ om du föredrar det (Hostinger fungerar bra)
- Google Sheets för lead-logg och kö för inlägg.
- Browserflow för att skrapa engagemang och utföra LinkedIn-åtgärder.
- Browserflow API-nyckel (hämtas i inställningarna i din Browserflow-dashboard).
Svårighetsgrad: Medel. Du kopplar in autentiseringar, installerar en community-node och klistrar in din företagssidas URL.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Skrapning av engagemang startar från ditt ark. Du börjar med ett Google Sheet som innehåller LinkedIn-inläggs-URL:erna du vill använda för att hitta leads, och en manuell trigger kör första skrapningen. När varje inlägg har hanterats flaggar workflowet det som bearbetat så att du inte skrapar samma sak igen.
Profiler struktureras innan de hamnar i din lead-lista. Kommenterare expanderas till enskilda objekt, företagsprofiler filtreras bort och profil-URL:er normaliseras så att dubbletter inte smiter in via små formatvariationer. Sedan kontrollerar workflowet Google Sheets för att verifiera om leadet redan finns.
Kontaktinbjudningar körs på schema. Varje par minuter (eller vilket intervall du väljer) hämtar n8n ”ej inbjudna” leads från Google Sheets, kontrollerar varje persons anslutningsstatus via Browserflow och skickar en inbjudan bara när det är rimligt. Status ”väntande” och ”ansluten” skrivs tillbaka med tidsstämplar, så att arket förblir korrekt.
Accepterade kontakter blir inbjudningar att följa företagssidan. Ett annat schema synkar dina aktuella LinkedIn-kontakter, matchar tillbaka dem mot arket och uppdaterar accepteringsstatus. När någon är markerad som ansluten och ännu inte inbjuden att följa din företagssida, kör Browserflow åtgärden ”Bjud in att följa sida” och loggar även det.
Du kan enkelt justera schemat och lead-filtren för att matcha din outreach-takt. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den manuella triggern
Det här arbetsflödet startar med en manuell körning och innehåller tre schemalagda kontroller för pågående LinkedIn-aktiviteter.
- Öppna Manual Start Trigger för att bekräfta att den används för initial testning och körningar vid behov.
- Öppna Scheduled Lead Check och ställ in intervallregeln till
daysInterval: 2så att den hämtar ej inbjudna leads varannan dag. - Öppna Scheduled Connection Sync och ställ in intervallregeln till
daysInterval: 2för synk av anslutningsstatus. - Öppna Scheduled Page Invites och ställ in intervallregeln till
daysInterval: 2för inbjudningar att följa sidan.
Steg 2: Anslut Google Sheets
Google Sheets driver inläggslistan, leadregister och statusuppdateringar i hela arbetsflödet.
- I Retrieve Posts List ställer ni Document till
[YOUR_ID]och Sheet tillPosts. Säkerställ att filtret inkluderar scraped_at med=. - I Flag Post Processed ställer ni Operation till
updateoch mappar url till{{ $('Batch Iterate Posts').item.json.url }}samt scraped_at till{{$now.toISO()}}. - I Verify Existing Lead filtrerar ni på linkedin_url med
{{ $('Batch Process Profiles').item.json.linkedin_url }}i arketProfiles. - I Append Leads Sheet ställer ni Operation till
appendoch mappar name till{{ $('Batch Process Profiles').item.json.name }}samt linkedin_url till{{ $('Batch Process Profiles').item.json.linkedin_url }}. - Tillämpa samma Google Sheets-dokument och sheet-ID:n på de återstående Sheets-noderna som används för statusuppdateringar och filter (profiler, accepterade leads och inbjudningsflaggor).
- Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter till alla Google Sheets-noder (11 noder hanterar inlägg, profiler och inbjudningsstatusar).
[YOUR_ID]), annars hamnar uppdateringar i fel fil.Steg 3: Konfigurera kommentarskrapning och lead-intag
Den här delen hämtar kommenterare på LinkedIn-inlägg, filtrerar bort företag och sparar nya leads.
- I Batch Iterate Posts behåller ni standardinställningarna för batch för att iterera igenom inläggslistan.
- I Extract Commenters ställer ni Operation till
scrapeProfilesFromPostComments, Post URL till{{ $('Retrieve Posts List').item.json.url }}och behåller commentsLimit på20. - Inloggning krävs: Anslut era browserflowApi-uppgifter till Extract Commenters.
- I Expand Comments ställer ni Field To Split Out till
comments. - I Filter Company Profiles behåller ni villkoret linkedin_url notContains
companyför att exkludera företagssidor. - I Branch If New Lead behåller ni villkoret
{{ $json.linkedin_url }}notExists så att endast nya leads läggs till.
Steg 4: Konfigurera loopen för anslutningsinbjudningar
Den här schemalagda loopen kontrollerar leads som inte har bjudits in, bedömer deras status och skickar anslutningsinbjudningar vid behov.
- I Retrieve Uninvited Leads lämnar ni filtren för invited_as_connection och accepted tomma för att hitta kvalificerade leads.
- I Assess Connection Status ställer ni linkedinUrl till
{{ $json.linkedin_url }}. - I Connection Needed? behåller ni villkoren där is_connection är lika med
falseoch is_pending är lika medfalseså att endast nya inbjudningar skickas. - I Send Connection Invite ställer ni Operation till
sendConnectionInviteoch linkedinUrl till{{ $('Iterate Lead Queue').item.json.linkedin_url }}. - I Record Invite Sent och Mark Pending Invite behåller ni tidsstämpeln för invited_as_connection som
{{$now}}och matchar på linkedin_url. - Inloggning krävs: Anslut era browserflowApi-uppgifter till Assess Connection Status och Send Connection Invite.
{{ $now }} men en extra klammer kan orsaka ett valideringsfel.Steg 5: Synka anslutningar och normalisera URL:er
Den här schemalagda vägen synkar aktuella anslutningar och uppdaterar accepterad-status i lead-arket.
- I List Current Connections behåller ni Operation som
listConnectionsoch limit som20. - I Expand Connection List ställer ni Field To Split Out till
dataså att varje anslutning hanteras individuellt. - I Normalize Profile URLs behåller ni JavaScript-koden som lägger till ett avslutande snedstreck på linkedin_url-värden.
- I Update Accepted Status ställer ni accepted till
✅och matchar på linkedin_url. - Inloggning krävs: Anslut era browserflowApi-uppgifter till List Current Connections.
Steg 6: Konfigurera inbjudningar att följa sidan
När ett lead har accepterats skickar det här flödet en inbjudan att följa er LinkedIn-företagssida.
- I Retrieve Accepted Leads behåller ni filtret där accepted är lika med
✅och invited_to_page är tomt. - I Iterate Page Invites behåller ni standardinställningarna för batch.
- I Send Page Follow Invite ställer ni Operation till
inviteToFollowPage, searchTerm till{{ $('Retrieve Accepted Leads').item.json.name }}och linkedinUrl tillhttps://linkedin.com/company/[YOUR_ID]. - I Update Page Invite Flag ställer ni invited_to_page till
✅och matchar på linkedin_url. - Inloggning krävs: Anslut era browserflowApi-uppgifter till Send Page Follow Invite.
[YOUR_ID] i Send Page Follow Invite med ert faktiska LinkedIn-företags-ID, annars misslyckas inbjudningar utan att det syns.Steg 7: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera hela dataloopen innan ni slår på schemana.
- Klicka på Execute Workflow på Manual Start Trigger för att bekräfta att inlägg läses in och att kommenterare extraheras.
- Kontrollera att Append Leads Sheet lägger till nya profiler och att Flag Post Processed uppdaterar scraped_at med
{{$now.toISO()}}. - Kör Scheduled Lead Check manuellt för att validera inbjudningsloopen och bekräfta uppdateringar i Record Invite Sent, Mark Pending Invite eller Mark Connected.
- När allt är validerat, växla arbetsflödet till Active för att aktivera de schemalagda triggerna.
Vanliga fallgropar
- Autentisering för Google Sheets kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera sidan Credentials i n8n och bekräfta att det anslutna Google-kontot fortfarande har redigeringsåtkomst till arket.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstider. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Browserflow-prompts och standardval är inte ”din” process. Om du ärlig talat inte trimmar vad som räknas som ett giltigt lead (och filtrerar bort företagssidor tidigt) kommer du att rensa skräprader för alltid.
Vanliga frågor
Cirka 45 minuter om du redan har Google Sheet-mallen och ett Browserflow-konto redo.
Nej. Du kopplar främst ihop konton och klistrar in några värden, som din företagssidas URL.
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 Browserflow-kostnader (det har en gratis provperiod, därefter betalplaner).
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 klarar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, men gör det med avsikt. Du kan aktivera skrapning av ”likers” i Browserflow-steget för extrahering och sedan behålla samma avdupliceringskontroll i Google Sheets så att du inte översvämmar din lead-lista. Vanliga anpassningar är att bara skrapa vissa inlägg (via tagg i ditt ark), skärpa filtret för ”företagsprofil” och sänka inbjudningstakten så att kontot håller sig säkert.
Oftast beror det på en utgången API-nyckel eller att autentiseringen pekar på fel Browserflow-workspace. Generera en ny Browserflow API-nyckel, uppdatera den i n8n-credentials och kör om ett enda testobjekt. Om det fortfarande misslyckas, kontrollera att community-noden Browserflow for LinkedIn är installerad och att din LinkedIn-session inne i Browserflow är giltig. Rate limits kan också ge instabilt beteende när du kör stora batchar, så att minska batchstorleken löser det ofta.
Några tusen leads i Google Sheets fungerar för de flesta team, och den verkliga begränsningen är din n8n-körningsbudget och hur aggressivt du schemalägger inbjudningar.
För det här workflowet är n8n oftast en bättre matchning eftersom du behöver loopar, branching och schemalagd synklogik över flera steg (skrapa, bjuda in, acceptera, följ-inbjudan). Zapier och Make kan hantera delar av det, men så fort du lägger till avduplicering, statuskontroller och schemaläggning över flera workflows smyger kostnader och komplexitet in. n8n ger dig också möjligheten att självhosta, vilket spelar roll om du kör frekventa kontroller. Om du bara vill ha en lätt ”ny kommentar → lägg till rad”-automation kan Zapier eller Make gå snabbare att sätta upp. Prata med en automationsexpert om du vill ha hjälp att välja.
När det här väl är live slutar LinkedIn-tillväxt vara en ”när jag får tid”-uppgift. Workflowet hanterar den repetitiva spårningen, och du får en pålitlig pipeline som du faktiskt kan bygga vidare på.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.