Din ”prospektlista” ska inte vara ett rörigt kalkylark fullt av halvresearchade bolag, saknade e-postadresser och anteckningar du inte litar på. Men det är precis vad som händer när LinkedIn-research, berikning, poängsättning och utkast till outreach är utspritt över ett dussin webbläsarflikar.
Den här LinkedIn Sheets-automatiseringen slår hårdast mot growth marketers och sales ops. Byråägare som kör outbound åt kunder känner av det också. Målet är enkelt: bygg mer strukturerade prospektlistor automatiskt, så att dina uppföljningar går snabbare och din CRM förblir användbar.
Det här flödet hämtar målbolag från LinkedIn, poängsätter matchning med AI, berikar beslutsfattare, skapar sedan en personaliserad sekvens med 3 mejl och sparar allt i Google Sheets. Du får se vad det gör, varför det fungerar och vad du behöver för att köra det dagligen.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets + LinkedIn: smartare prospektlistor
flowchart LR
subgraph sg0["Scheduled Automation Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Automation Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Combine Settings Data", pos: "b", h: 48 }
n2@{ icon: "mdi:database", form: "rounded", label: "Restore Company List", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Score & Status", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Iterate Company Records", pos: "b", h: 48 }
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/>Retrieve Decision Makers"]
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Profiles Found", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand Profiles List", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Contact Email"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Profile Details"]
n10@{ icon: "mdi:robot", form: "rounded", label: "Build Personalization Brief", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "Draft Email Sequence", pos: "b", h: 48 }
n12@{ icon: "mdi:robot", form: "rounded", label: "Create Email Subjects", pos: "b", h: 48 }
n13["<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/>Extract Key Profile Data"]
n14@{ icon: "mdi:database", form: "rounded", label: "Append Leads to Sheet", pos: "b", h: 48 }
n15@{ icon: "mdi:database", form: "rounded", label: "Mark Leads Enriched", pos: "b", h: 48 }
n16@{ icon: "mdi:cog", form: "rounded", label: "Cap Daily Companies", pos: "b", h: 48 }
n30@{ icon: "mdi:database", form: "rounded", label: "Load Settings Sheet B", pos: "b", h: 48 }
n32@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Settings B", pos: "b", h: 48 }
n33@{ icon: "mdi:location-exit", form: "rounded", label: "Stop: Missing API Settings B", pos: "b", h: 48 }
n35@{ icon: "mdi:database", form: "rounded", label: "Update No Decision Maker", pos: "b", h: 48 }
n32 --> n2
n32 --> n33
n16 --> n4
n1 --> n32
n8 --> n13
n14 --> n15
n30 --> n1
n15 --> n4
n5 --> n6
n7 --> n9
n4 --> n5
n0 --> n30
n2 --> n3
n9 --> n8
n6 --> n7
n6 --> n35
n10 --> n11
n3 --> n16
n35 --> n4
n11 --> n12
n12 --> n14
n13 --> n10
end
subgraph sg1["Manual Execution Start Flow"]
direction LR
n17@{ icon: "mdi:swap-vertical", form: "rounded", label: "Process Company Batch", pos: "b", h: 48 }
n18["<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/>Fetch Company Details"]
n19@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Company Criteria", pos: "b", h: 48 }
n20@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check New Company", pos: "b", h: 48 }
n21["<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/>Search Target Companies"]
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Company Results", pos: "b", h: 48 }
n23@{ icon: "mdi:database", form: "rounded", label: "Lookup Company Existence", pos: "b", h: 48 }
n24@{ icon: "mdi:robot", form: "rounded", label: "AI Company Rating", pos: "b", h: 48 }
n25@{ icon: "mdi:database", form: "rounded", label: "Record Company to CRM", pos: "b", h: 48 }
n26@{ icon: "mdi:cog", form: "rounded", label: "Combine Settings Data A", pos: "b", h: 48 }
n27@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Execution Start", pos: "b", h: 48 }
n28@{ icon: "mdi:robot", form: "rounded", label: "Generate Search Keywords", pos: "b", h: 48 }
n29@{ icon: "mdi:database", form: "rounded", label: "Load Settings Sheet", pos: "b", h: 48 }
n31@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Settings A", pos: "b", h: 48 }
n34@{ icon: "mdi:location-exit", form: "rounded", label: "Stop: Missing API Settings", pos: "b", h: 48 }
n31 --> n28
n31 --> n34
n27 --> n29
n26 --> n31
n29 --> n26
n20 --> n24
n20 --> n17
n18 --> n19
n21 --> n22
n24 --> n25
n25 --> n17
n22 --> n17
n17 --> n18
n19 --> n23
n19 --> n17
n23 --> n20
n28 --> n21
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,n27 trigger
class n10,n11,n12,n24,n28 ai
class n3,n6,n32,n19,n20,n31 decision
class n2,n14,n15,n30,n35,n23,n25,n29 database
class n5,n8,n9,n18,n21 api
class n13 code
classDef customIcon fill:none,stroke:none
class n5,n8,n9,n13,n18,n21 customIcon
Utmaningen: prospektering som aldrig blir ”klar”
Manuell prospektering är inte bara långsam. Den är skör. Du börjar med en LinkedIn-sökning, kopierar ett företagsnamn till ett ark, öppnar en annan flik för webbplatsen och försöker sedan gissa om de passar. Sedan kommer den svårare delen: hitta rätt beslutsfattare, samla tillräckligt med kontext för att personalisera och därefter jaga en e-postadress som ändå kan studsa. När du väl är redo att skicka outreach är listan redan inaktuell, och du har tappat tråden kring varför du valde de kontona från början.
Friktionen byggs på. Här är var det faller isär i verkligheten:
- Du lägger ofta 5–10 minuter per företag bara på att samla grunddata (sajt, storlek, sammanfattning) – innan du ens kvalificerar dem.
- Poängsättning av fit blir en magkänsla, vilket gör att du jagar konton som aldrig skulle ha konverterat.
- Research av beslutsfattare blir inkonsekvent eftersom du förlitar dig på minne och manuella anteckningar över LinkedIn-profiler.
- Outreach-utkast skrivs sent (eller inte alls), så leads blir liggande i Sheets utan nästa steg.
Lösningen: en daglig prospekteringsmotor från LinkedIn till Sheets
Det här n8n-flödet gör prospektering till ett repeterbart system som körs på schema. Det börjar med att läsa in dina targeting-inställningar från Google Sheets (som plats, företagsstorlek och de filter du bryr dig om) och använder sedan Ghost Genius API för att söka på LinkedIn efter matchande bolag. För varje företag berikar det posten med detaljer som webbplats, beskrivning och antal följare, och ber sedan OpenAI att poängsätta matchningen från 0 till 10 utifrån ditt erbjudande. Bara företag som går igenom tröskeln (poäng 7 eller högre) sparas i din Google Sheets-CRM. Därefter hittar det beslutsfattare via LinkedIn Sales Navigator, berikar deras profilkontext, hämtar en verifierad e-post med en ”waterfall”-metod och genererar en personaliserad kall sekvens med 3 mejl inklusive ämnesrader. Slutligen uppdaterar det leadstatus i arket så att du ser exakt vad som bearbetades i dag.
Flödet startar på ett dagligt schema (eller manuellt om du föredrar). Sedan går det igenom tre faser: bolagshämtning och poängsättning, berikning av beslutsfattare samt outreach-utkast plus CRM-uppdateringar. Du avslutar dagen med en lista som är redo att kontaktas, inte en lista som fortfarande behöver research.
Vad som förändras: före vs. efter
| Det här tar bort | Effekten du ser |
|---|---|
|
|
Effekt i verkligheten
Säg att du vill lägga till 20 nya företag i din outbound-lista varje dag. Manuellt kan du lägga cirka 10 minuter per företag på att fånga detaljer och avgöra om de passar, plus ytterligare 10 minuter på att hitta en beslutsfattare och skriva ett första utkast. Det blir ungefär 6–7 timmar för 20 konton. Med det här flödet lägger du kanske 15 minuter på att uppdatera targeting-inställningar i Google Sheets, och låter det sedan köra på schema; när du kommer tillbaka finns kvalificerade företag, kontakter och en sekvens med 3 mejl redan i din CRM-flik.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för CRM-lagring och targeting-inställningar.
- Ghost Genius API för att söka i LinkedIn (utan cookies).
- OpenAI API-nyckel (hämta den i OpenAI API-dashboarden).
Kunskapsnivå: Medel. Du kopplar konton, lägger in API-nycklar och mappar några fält i Sheets.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
Schema-baserad körning med skyddsräcken. Flödet startar på ett dagligt schema (eller via manuell start för test). Det läser direkt in dina inställningar från Google Sheets och stoppar med ett tydligt fel om nödvändiga API-inställningar saknas.
Bolagshämtning, sedan AI-poängsättning. Utifrån dina inställningar genererar det sökord och hämtar matchande företag från LinkedIn via HTTP-anrop. Varje företag berikas med nyckeldetaljer, poängsätts av OpenAI från 0 till 10 och filtreras så att bara starka matchningar (7+) går vidare.
CRM-skrivning + hantering av ”inga dubbletter”. Innan ett företag sparas kontrollerar flödet om det redan finns i din Google Sheets-CRM. Nya företag registreras och flödet bearbetar dem i batchar för att begränsa daglig volym och hålla körningarna stabila.
Beslutsfattare, e-post och outreach-utkast. För kvalificerade företag hämtar det beslutsfattare (Sales Navigator), expanderar profiler, hämtar detaljer och försöker sedan hitta e-post via ett waterfall-steg för berikning. OpenAI använder profilkontexten för att bygga en personaliseringsbrief, skriva en sekvens med 3 mejl och skapa ämnesrader. Därefter läggs allt till i ditt ark och markeras som berikat.
Du kan enkelt justera tröskeln för poängsättning (t.ex. 7/10) så att den passar din pipeline, eller byta vilka jobbtitlar som räknas som ”beslutsfattare” utifrån din ICP. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera schematriggern
Det här arbetsflödet kan köras enligt ett schema eller startas manuellt för test. Konfigurera båda triggers så att ni kan testa och sedan automatisera enligt ett schema.
- Öppna Scheduled Automation Trigger och ställ in den schemaregel ni vill använda för automatisering (arbetsflödet har för närvarande ett tomt intervallobjekt som ska fyllas i).
- Låt Manual Execution Start vara aktiverad för körningar vid behov och test.
- Bekräfta flödet: Manual Execution Start → Load Settings Sheet och Scheduled Automation Trigger → Load Settings Sheet B.
Steg 2: anslut Google Sheets
Flera noder läser och skriver till Google Sheets för inställningar, företags-CRM och lead-output.
- I Load Settings Sheet och Load Settings Sheet B väljer ni bladet Settings från dokumentet
1tRjZTbM10koP6kpXzfIf9LzuuvnDcPAtv7fTTC36SnE. - Credential Required: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Load Settings Sheet och Load Settings Sheet B.
- Anslut samma inloggningsuppgifter i alla Google Sheets-noder som används för CRM- och lead-uppdateringar: Restore Company List, Lookup Company Existence, Record Company to CRM, Append Leads to Sheet, Mark Leads Enriched och Update No Decision Maker.
- Verifiera att Append Leads to Sheet skriver till bladet
Leadsoch att Mark Leads Enriched uppdaterar bladetCompaniesmed LinkedIn som matchande kolumn.
Steg 3: konfigurera aggregering och validering av inställningar
Inställningarna laddas, aggregeras och valideras innan API-anrop görs. Arbetsflödet stoppar tidigt om obligatoriska värden saknas.
- I Combine Settings Data A och Combine Settings Data behåller ni Aggregate inställt på
aggregateAllItemDataoch Destination Field Name inställt påsettings. - I Validate Settings A och Validate Settings B bekräftar ni att obligatoriska fält kontrolleras med uttryck som
{{ $json.settings[6]['Value (edit with your use case)'] }}och{{ $json.settings[2]['Value (edit with your use case)'] }}. - Verifiera att felvägarna är anslutna: Validate Settings A → Stop: Missing API Settings och Validate Settings B → Stop: Missing API Settings B.
Steg 4: konfigurera AI-generering av nyckelord och företagsidentifiering
Den här vägen genererar söknyckelord, hämtar företag, validerar dem och skriver kvalificerade företag till CRM-bladet.
- I Generate Search Keywords behåller ni JSON Output aktiverat och bekräftar att prompten använder
{{ $json.settings[1]['Value (edit with your use case)'] }}. - Credential Required: Anslut era openAiApi-inloggningsuppgifter i Generate Search Keywords.
- I Search Target Companies verifierar ni paginering och frågeparametrar, inklusive keywords satt till
{{ $json.message.content.keywords }}och headers medAuthorization: Bearer {{ $('Combine Settings Data A').item.json.settings[6]['Value (edit with your use case)'] }}. - Bekräfta flödet: Search Target Companies → Split Company Results → Process Company Batch → Fetch Company Details → Validate Company Criteria → Lookup Company Existence → Check New Company → AI Company Rating → Record Company to CRM.
- I Validate Company Criteria behåller ni kontrollerna för
{{ $json.website }}och{{ $json.followers_count }}(måste vara > 200). - Credential Required: Anslut era openAiApi-inloggningsuppgifter i AI Company Rating, och googleSheetsOAuth2Api i Record Company to CRM.
Steg 5: återställ och filtrera befintliga företag för berikning
Den schemalagda vägen återställer CRM-listan över företag, filtrerar kvalificerade poster, begränsar daglig bearbetning och itererar för berikning.
- I Restore Company List bekräftar ni att dokumentet är
1tRjZTbM10koP6kpXzfIf9LzuuvnDcPAtv7fTTC36SnEoch bladetCompanies. - Credential Required: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Restore Company List.
- I Filter Score & Status behåller ni villkoren: Score
{{ $json.Score }}≥7och State{{ $json.State }}är lika medQualified. - I Cap Daily Companies ställer ni in Max Items till
100för att strypa daglig bearbetning. - Bekräfta flödet: Restore Company List → Filter Score & Status → Cap Daily Companies → Iterate Company Records.
Steg 6: konfigurera berikning av beslutsfattare och personalisering
Den här delen hämtar beslutsfattare, berikar profildetaljer och genererar personaliseringsinnehåll och e-postsekvenser.
- I Retrieve Decision Makers behåller ni URL:en
https://api.ghostgenius.fr/v2/private/sales-navigatoroch ställer in query-värden med uttryck som{{ $('Iterate Company Records').item.json.ID }}och{{ $('Combine Settings Data').item.json.settings[2]['Value (edit with your use case)'] }}. - I Validate Profiles Found säkerställer ni att villkoret kontrollerar att
{{ $json.total }}är ≥1och routar till Expand Profiles List eller Update No Decision Maker. - Behåll flödet: Expand Profiles List → Fetch Profile Details → Fetch Contact Email → Extract Key Profile Data.
- I Extract Key Profile Data behåller ni JavaScript-koden som läser fält från
experiences[0]och returnerar ett förenklat objekt. - Credential Required: Anslut era openAiApi-inloggningsuppgifter i Build Personalization Brief, Draft Email Sequence och Create Email Subjects.
experiences[0] finns. Om API:t returnerar tomma experiences, överväg att lägga till null-kontroller eller en fallback i Code-noden.Steg 7: konfigurera output till Leads och statusuppdateringar för företag
När e-post och ämnesrader har genererats skriver arbetsflödet leads till bladet Leads och uppdaterar företagsstatus i bladet Companies.
- I Create Email Subjects behåller ni indatauttryck för sekvensen som
{{ $json.message.content.initial_email }}och output-JSON-fältensubject_1,subject_2,subject_3. - I Append Leads to Sheet bekräftar ni att Operation är
appendoch mappar kolumner med uttryck som{{ $('Fetch Contact Email').item.json.email }}och{{ $('Draft Email Sequence').item.json.message.content.initial_email }}. - I Mark Leads Enriched behåller ni Operation inställt på
appendOrUpdatemed State satt tillEnrichedoch LinkedIn satt till{{ $('Iterate Company Records').item.json.LinkedIn }}. - I Update No Decision Maker bekräftar ni att den uppdaterar State till
No decision maker foundför samma LinkedIn-nyckel.
Steg 8: lägg till felhantering
Det här arbetsflödet använder stop-and-error-noder och continue-on-error-inställningar för att förhindra att dålig data går vidare nedströms.
- Behåll Stop: Missing API Settings och Stop: Missing API Settings B anslutna från Validate Settings A och Validate Settings B för att blockera körningar utan obligatoriska API-värden.
- Notera att Process Company Batch och Fetch Company Details har On Error inställt på
continueRegularOutputför att undvika att hela arbetsflödet fallerar.
Steg 9: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera inställningar, API-anrop, AI-output och uppdateringar i blad innan ni schemalägger automatisering.
- Klicka på Execute Workflow från Manual Execution Start för att testa end-to-end-flödet.
- En lyckad körning ska lägga till en ny företagsrad i Record Company to CRM, skapa nya lead-rader i Append Leads to Sheet och uppdatera företagsstatus i Mark Leads Enriched eller Update No Decision Maker.
- När allt är verifierat aktiverar ni arbetsflödet och bekräftar att Scheduled Automation Trigger är inställd på önskat intervall.
Se upp med
- Ghost Genius API-uppgifter kan löpa ut eller kräva åtkomst via en specifik plan. Om LinkedIn-sökningen plötsligt inte returnerar något, kontrollera din Ghost Genius-dashboard och n8n-referensen som används i HTTP Request-noderna.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Cirka 45 minuter om dina API:er och Sheets är redo.
Ja. Du skriver ingen kod, men du behöver koppla konton och mappa några Google Sheets-kolumner noggrant.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på $20/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader (ofta några cent per företag, beroende på promptstorlek) och eventuell användning av Ghost Genius API.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade exekveringar men kräver grundläggande serverhantering.
Du kan ändra targeting utan att röra flödet genom att redigera Google Sheets-raderna för ”settings” som läses in i början. Om du vill ha striktare kvalificering, höj poängtröskeln i filtreringssteget som behåller poäng på 7 eller högre. För annan outreach uppdaterar du promptarna i OpenAI-noderna ”Build Personalization Brief”, ”Draft Email Sequence” och ”Create Email Subjects”. Du kan också byta kriterier för beslutsfattare genom att justera vad förfrågan ”Retrieve Decision Makers” hämtar från Sales Navigator.
Oftast beror det på utgången Google-auktorisering eller att arket flyttats till en annan plats i Drive. Återanslut Google Sheets i n8n och bekräfta sedan att flödet pekar på rätt kalkylarks-ID och fliknamn. Kontrollera också delningsbehörigheter om arket tillhör ett delat workspace-konto.
Det beror på dina cap-inställningar och API-begränsningar, men att bearbeta 20–50 företag per dag är en vanlig startnivå.
Ofta, ja, eftersom den här typen av flöde kräver batchning, förgrening och flera berikningsanrop per lead, vilket kan bli dyrt och klumpigt i Zapier. n8n är också enklare att styra när du vill ha beteendet ”stoppa om inställningar saknas” och ett dagligt tak på antal företag. En annan praktisk poäng: att ha all logik på ett ställe gör felsökning mindre frustrerande. Med det sagt, om du bara vill ha en enkel ”ny rad i Sheets → skicka mejl”-automatisering kan Zapier eller Make gå snabbare. Prata med en automationsexpert om du vill ha en rekommendation baserad på din volym och din stack.
Prospektering behöver inte vara ett dagligt slit med flikar, kopiering och gissningar. Sätt upp detta en gång, låt det köra varje morgon och använd tiden du får tillbaka till att faktiskt boka möten.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.