Din leadlista växer, men din researchtid växer ännu snabbare. En flik för LinkedIn, en för företagets sajt, en annan för konkurrenter, ett anteckningsdokument någonstans och ett kalkylblad som du lovar att du ska ”uppdatera senare”.
Det är här automatisering av lead-research betalar sig. SDR:er märker det när de försöker personalisera i stor skala. En grundare som kör outbound ensam märker det på kvällarna. Och byråteam fastnar i samma loop när varje kund vill ha ”mer kontext” redan igår.
Det här arbetsflödet gör om rader i Google Sheets till felfria, konsekventa research-briefs i Google Docs. Du får se vad det gör, vad du behöver och hur du undviker fallgroparna som brukar spåra ur ”automatisera [X]”-projekt.
Så fungerar automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Från Google Sheets till Google Docs – leadresearch klar
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n2@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model2", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "check perplexity research", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
n6["<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/merge.svg' width='40' height='40' /></div><br/>Merge"]
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Analyst of prospect", pos: "b", h: 48 }
n11@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n12@{ icon: "mdi:robot", form: "rounded", label: "Generate Report", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Get All Data", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Data", pos: "b", h: 48 }
n15["<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/>Personal LinkedIn Account POST"]
n16["<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/>Personal LinkedIn Account GET"]
n17["<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/>Company LinkedIn Account POST"]
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/>Company LinkedIn Account GET"]
n19@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Results Personal", pos: "b", h: 48 }
n20@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Results 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/>Perplexity Search"]
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set if TRUE", pos: "b", h: 48 }
n23@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set if WRONG", pos: "b", h: 48 }
n24["<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/>Perplexity Competitor Research"]
n25@{ icon: "mdi:cog", form: "rounded", label: "Add report to doc", pos: "b", h: 48 }
n26@{ icon: "mdi:cog", form: "rounded", label: "Create doc", pos: "b", h: 48 }
n27@{ icon: "mdi:database", form: "rounded", label: "Add to sheets", pos: "b", h: 48 }
n7 --> n22
n7 --> n23
n4 --> n16
n6 --> n10
n5 --> n18
n14 --> n1
n26 --> n25
n22 --> n6
n13 --> n14
n23 --> n6
n27 --> n1
n12 --> n26
n1 --> n17
n1 --> n21
n1 --> n15
n25 --> n27
n8 -.-> n10
n21 --> n3
n11 -.-> n12
n2 -.-> n3
n10 --> n24
n20 --> n6
n19 --> n6
n9 -.-> n10
n3 --> n7
n18 --> n20
n17 --> n5
n16 --> n19
n24 --> n12
n15 --> n4
n0 --> n13
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 n3,n9,n10,n12 ai
class n2,n8,n11 aiModel
class n7 decision
class n13,n27 database
class n15,n16,n17,n18,n21,n24 api
classDef customIcon fill:none,stroke:none
class n6,n15,n16,n17,n18,n21,n24 customIcon
Utmaningen: prospect-research som inte skalar
Manuell prospect-research är lömsk. En lead känns hanterbar, sedan har du tio. Sedan har du femtio, och plötsligt blir ”personlig outreach” copy-paste med en förnamnstoken. Det värsta är kontextbytena. Du hoppar mellan Google Sheets, LinkedIn, en företagssajt, något AI-chattfönster och en dokumentmall som aldrig förblir konsekvent. Under tiden stängs fönstret för uppföljning, och teamet får gissa vad som faktiskt spelar roll för varje prospect.
Det summeras snabbt. Här är var det fallerar i verkligheten.
- Du lägger cirka 15 minuter per lead bara på att samla grundinfo, innan du ens skriver en enda rad outreach.
- Anteckningar hamnar utspridda över flikar och personliga dokument, så ingen litar på den ”senaste” versionen.
- Researchkvaliteten beror på vem som gjorde den, vilket gör att ton och detaljnivå varierar kraftigt i en kampanj.
- När kalkylbladet väl är uppdaterat väntar redan nästa batch av leads.
Lösningen: prospect-briefs från Sheets till Docs med AI-verifiering
Det här n8n-arbetsflödet börjar med de leads du redan har i Google Sheets och gör sedan varje rad till ett färdigt research-brief i Google Docs. Det hämtar person- och företagsdata genom att skrapa LinkedIn-sidor (via HTTP-anrop genom en extern skraptjänst), pausar för att invänta resultaten och kontrollerar sedan om researchkvaliteten är tillräckligt bra för att använda. Därefter berikar det leadet med kontextuella insikter (tänk ”vad som händer i företagets värld just nu”) och konkurrentkontext, och använder sedan GPT-4 för att validera, syntetisera och formatera allt till en strukturerad rapport. Till sist skapar det ett nytt Google-dokument per lead, lägger till rapporten och uppdaterar raden i Google Sheets så att teamet kan följa vad som är klart och vad som är nästa steg.
Arbetsflödet startas manuellt (praktiskt när du vill ha kontroll över batcher). Det bearbetar leads i grupper så att du inte överbelastar API:er eller får halvfärdiga dokument. I slutet har du ett konsekvent dokument som du kan dela internt eller använda direkt när du skriver outreach.
Vad som förändras: före vs. efter
| Detta elimineras | Effekten du ser |
|---|---|
|
|
Effekt i praktiken
Säg att du researchar 20 nya leads varje vecka. Manuellt kanske du lägger cirka 10 minuter på personen, 10 minuter på företaget och ytterligare 10 minuter på att plocka fram konkurrentkontext och skriva en användbar sammanfattning, alltså ungefär 30 minuter per lead (cirka 10 timmar i veckan). Med det här arbetsflödet triggar du körningen i n8n, låter LinkedIn-skrapning och AI-bearbetning göra grovjobbet och får Google Docs-briefs plus ett uppdaterat Sheet. Tiden du faktiskt lägger själv sjunker vanligtvis till en snabb granskning, kanske 2 minuter per lead, så du får tillbaka större delen av den dagen.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra leads och spåra status.
- Google Docs för att skapa ett brief per lead.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard).
- Perplexity API-åtkomst för att hämta kontextuella insikter.
- Apify-åtkomst för LinkedIn-skrapningsendpoints.
Svårighetsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och justerar några fält i Sheets så att arbetsflödet mappar korrekt.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Arbetsflödets steg
Du startar det manuellt från n8n. Det är medvetet: prospect-researchkörningar är enklare att styra när du själv väljer vilka rader (och hur många) som ska bearbetas.
Leads hämtas från Google Sheets och förbereds för bearbetning. Arbetsflödet hämtar rader, mappar indatafälten du bryr dig om (namn, företag, LinkedIn-URL, eventuella anteckningar) och bearbetar dem i batcher så att externa tjänster inte timear ut.
LinkedIn- och webbkontext samlas in och valideras. Det skickar HTTP-anrop för person- och företagsdata från LinkedIn, väntar på att skrapjobben blir klara och kör sedan en kvalitetskontroll via ett AI-steg för ”validering” innan det fortsätter i rätt gren.
GPT-4 gör rådata till ett strukturerat outreach-brief. Konkurrentresearch hämtas in, analyskedjan sammanställer resultaten och slutrapporten byggs i ett konsekvent format som teamet faktiskt kan använda.
Ett Google-dokument skapas och Sheet uppdateras. Arbetsflödet skapar ett nytt dokument per lead, lägger till den färdiga rapporten och skriver tillbaka nyckelfält (dokumentlänk, status, sammanfattning) till Google Sheets för uppföljning.
Du kan enkelt ändra rapportmallen så att den matchar din ICP och din outreach-stil utifrån dina behov. 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 manuellt, så ni initierar körningar vid behov innan ni bearbetar poster för prospektundersökning.
- Lägg till och öppna Manual Launch Trigger.
- Lämna standardinställningarna som de är för manuell körning.
- Koppla Manual Launch Trigger till Retrieve Sheet Records.
Steg 2: Anslut Google Sheets
Hämta indatarader för prospekt och uppdatera senare deras status efter att rapporten har genererats.
- Öppna Retrieve Sheet Records och välj ert kalkylark och det blad som innehåller prospektlistan.
- Autentiseringsuppgifter krävs: Anslut era Google Sheets-autentiseringsuppgifter.
- Öppna Update Spreadsheet Row och mappa fält ni vill skriva tillbaka (t.ex. rapportlänk eller status).
- Autentiseringsuppgifter krävs: Anslut era Google Sheets-autentiseringsuppgifter.
- Säkerställ att Retrieve Sheet Records skickar utdata till Map Input Fields och att Update Spreadsheet Row loopar tillbaka till Batch Item Iterator.
Steg 3: Förbered batchbearbetning och fältmappning
Det här steget strukturerar data och delar upp rader till individuella undersökningskörningar.
- Öppna Map Input Fields och mappa kalkylarkskolumner till konsekventa fält som krävs längre fram i flödet.
- Öppna Batch Item Iterator och ställ in batchstorlek baserat på hur många prospekt ni vill bearbeta per körning.
- Bekräfta att Map Input Fields skickar utdata till Batch Item Iterator.
- Batch Item Iterator skickar utdata till Company LinkedIn POST, Perplexity Search Request och Personal LinkedIn POST parallellt.
Steg 4: Konfigurera externa research-anrop (LinkedIn + Perplexity)
Dessa noder hämtar LinkedIn-data för person/företag samt extern research-kontekst.
- Konfigurera Personal LinkedIn POST med API-endpointen och request body som behövs för att initiera en profilhämtning.
- Ställ in Pause Personal Request för att låta den asynkrona personliga begäran bli klar och koppla sedan till Personal LinkedIn GET.
- Konfigurera Personal LinkedIn GET för att hämta resultaten för den personliga profilen.
- Upprepa samma mönster för företagsdata: Company LinkedIn POST → Pause Company Request → Company LinkedIn GET.
- Öppna Perplexity Search Request och konfigurera API-begärans parametrar; behåll retryOnFail aktiverat och waitBetweenTries inställt på
5000.
Steg 5: Sätt upp villkorsstyrd routning och datakonsolidering
Den här logiken validerar research-utdata, routar godkända/underkända fall och slår ihop alla resultat för analys.
- Konfigurera Validate Perplexity Study för att kontrollera kvaliteten på utdata från Perplexity Search Request.
- Anslut OpenAI Chat Core B som språkmodell för Validate Perplexity Study.
- Definiera villkoret i Conditional Branch Check och ruta utdata till Set When True och Set When False.
- Öppna Assign Personal Results och Assign Company Results för att mappa normaliserade LinkedIn-fält.
- Bekräfta att Set When True, Set When False, Assign Personal Results och Assign Company Results alla flödar in i Combine Result Streams.
Steg 6: Konfigurera AI-analys och rapportsammanställning
Dessa noder använder LLM:er för att analysera prospekt och sammanställa den slutliga rapporten.
- Öppna Prospect Analysis Chain och definiera prompt-/chain-logiken för att analysera konsoliderad research-data.
- Autentiseringsuppgifter krävs: Anslut era OpenAI-autentiseringsuppgifter i OpenAI Chat Core A, som är språkmodellen för Prospect Analysis Chain.
- Koppla Structured Output Reader som output-parser för Prospect Analysis Chain. Lägg till autentiseringsuppgifter i OpenAI Chat Core A, inte i parsern.
- Öppna Compile Prospect Report och strukturera prompten för slutrapporten.
- Autentiseringsuppgifter krävs: Anslut era OpenAI-autentiseringsuppgifter i OpenAI Chat Core C, som är språkmodellen för Compile Prospect Report.
- Säkerställ körordningen: Combine Result Streams → Prospect Analysis Chain → Competitor Research Call → Compile Prospect Report.
Steg 7: Konfigurera utdata till Google Docs
Skapa ett nytt dokument och lägg till den sammanställda rapporten för varje prospekt.
- Öppna Create New Document och ange formatet för dokumenttiteln för varje prospektsrapport.
- Autentiseringsuppgifter krävs: Anslut era Google Docs-autentiseringsuppgifter.
- Öppna Append Report to Doc och mappa den sammanställda rapportens innehåll till dokumentets brödtext.
- Autentiseringsuppgifter krävs: Anslut era Google Docs-autentiseringsuppgifter.
- Bekräfta flödet: Compile Prospect Report → Create New Document → Append Report to Doc → Update Spreadsheet Row.
Steg 8: Testa och aktivera ert arbetsflöde
Validera varje steg från början till slut innan ni slår på produktionskörningar.
- Klicka på Execute Workflow på Manual Launch Trigger för att köra ett test.
- Verifiera att Retrieve Sheet Records skickar ut rader och att Batch Item Iterator bearbetar dem.
- Bekräfta att resultat från LinkedIn och Perplexity passerar genom Conditional Branch Check och slås ihop i Combine Result Streams.
- Kontrollera att Compile Prospect Report skapar innehåll, att Create New Document skapar en fil och att Append Report to Doc infogar rapporten.
- Verifiera att Update Spreadsheet Row skriver tillbaka rapportlänken eller status.
- När allt är validerat, växla arbetsflödet till Active för produktionsanvändning.
Se upp för
- Inloggningar för Google Sheets och Google Docs kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera, börja med att kontrollera det anslutna Google-kontot på sidan Credentials i n8n.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in ert varumärkesspråk tidigt, annars kommer du redigera outputen för alltid.
Vanliga frågor
Cirka en timme om dina API:er och din Google-åtkomst är på plats.
Ja, men någon behöver vara bekväm med API-nycklar och att testa några exempel-leads. Ingen kodning krävs, och det mesta av uppsättningen är att koppla konton och matcha fält.
Ja. n8n har ett gratis self-hosted-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 kostnader för OpenAI- och Perplexity-API-användning, plus eventuella avgifter för skraptjänster.
Två alternativ: n8n Cloud (hanterat, enklast uppsättning) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Du kan styra vad som hamnar i briefet genom att ändra steget ”Map Input Fields” och prompttexten i OpenAI-/chain-noderna som bygger rapporten. Vanliga justeringar är att lägga till dina ICP-kriterier (finansieringsrunda, tech stack, geografi), ändra output-sektionerna (smärtpunkter, triggers, föreslagen vinkel) och skriva tillbaka extra kolumner till Google Sheets som ”bästa persona-match” eller ”rekommenderad sekvens”. Om teamet använder en annan datakälla än LinkedIn kan du byta ut HTTP Request-skrapanropen mot en annan enrichment-leverantör och behålla resten av arbetsflödet intakt.
Oftast beror det på en utgången Google-token eller att det anslutna kontot har tappat åtkomst till kalkylbladet. Återanslut Google Sheets-credential i n8n och bekräfta sedan att filen är delad med samma Google-användare. Om det bara misslyckas vid uppdateringar, kontrollera att arbetsflödet skriver till rätt bladflik och att din mapping för ”Update Spreadsheet Row” matchar arkets nuvarande kolumner.
Om du self-hostar finns ingen hård körningsgräns (det beror på din server och API:ernas rate limits). På n8n Cloud beror kapaciteten på din plan, men arbetsflödet är byggt för att bearbeta leads i batcher, vilket håller det stabilt även när du kör större listor.
Ofta, ja, eftersom det här inte är ett enkelt tvåstegsflöde för ”automatisera [X]”. Du har grenlogik, batchbearbetning, väntan på externa skrapjobb och flera AI-steg som kräver strukturerade outputar. n8n hanterar den typen av komplexitet utan att bli skört, och self-hosting är en stor fördel när du kör research i volym. Zapier eller Make kan fortfarande fungera om du förenklar processen kraftigt och accepterar ett mer generiskt brief. Prata med en automationsexpert om du vill ha en snabb rekommendation utifrån din leadvolym och din verktygsstack.
När detta väl rullar slutar ditt Google Sheet att vara en att-göra-lista och blir en trigger. Arbetsflödet tar hand om den repetitiva researchen så att du kan fokusera på tajming, budskap och affärer.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.