Ditt lead-ark börjar felfritt. Sedan gör du ”bara en snabb scraping”, klistrar in resultat från några källor och plötsligt sitter du med dubbletter, saknade mejladresser och rader som inte matchar. Det blir rörigt, och det bromsar allt.
Säljare märker det när uppföljningar studsar. En marknadschef som bygger en lokal kampanj märker det när listor behöver ”en vända till”. Och driver du en byrå har du sannolikt byggt om samma kalkylbladslogik för tre olika kunder. Den här Perplexity Sheets-automationen håller din lead-lista användbar utan att du behöver vakta den.
Du får se hur workflowet hittar lokala företag, använder AI för att göra rörig text till strukturerade rader och bara lägger till nya leads i Google Sheets (så att din outreach faktiskt kan rulla).
Så fungerar den här automationen
Hela n8n-workflowet, från trigger till slutresultat:
n8n Workflow Template: Perplexity till Google Sheets, rensade leadlistor
flowchart LR
subgraph sg0["Start Workflow Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n2@{ icon: "mdi:play-circle", form: "rounded", label: "Start Workflow", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Location", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Get Current Leads", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Combine Into One", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set as text", pos: "b", h: 48 }
n7["<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/perplexity.dark.svg' width='40' height='40' /></div><br/>Research Leads"]
n8@{ icon: "mdi:robot", form: "rounded", label: "Write JSON", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Companies", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Emails", pos: "b", h: 48 }
n11["<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 Rows"]
n12@{ icon: "mdi:database", form: "rounded", label: "Send Leads to Google Sheets", pos: "b", h: 48 }
n11 --> n12
n8 --> n9
n8 --> n10
n6 --> n7
n3 --> n4
n10 --> n11
n7 --> n8
n2 --> n3
n9 --> n11
n5 --> n6
n4 --> n5
n0 -.-> n8
n1 -.-> n8
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 n2 trigger
class n1,n8 ai
class n0 aiModel
class n4,n12 database
classDef customIcon fill:none,stroke:none
class n7,n11 customIcon
Problemet: lead-listor blir smutsiga snabbt
Lokal prospektering låter enkelt tills du gör det i volym. Du söker efter ”coffee shops in Hershey PA”, kopierar resultat till ett ark och inser att hälften saknar mejladress. Sedan hittar du mejladresser någon annanstans, klistrar in dem, och nu matchar inte företagsnamnet längre med mejlraden. Efter det kommer avdupliceringen. Inte bara en gång, utan varje gång du uppdaterar listan. Den verkliga kostnaden är inte bara tid (även om det ofta blir några timmar i veckan). Det är den mentala belastningen och de tysta felen som sabbar leveransbarhet och gör att outreach känns slumpmässig.
Friktionen växer. Här är var det oftast fallerar.
- Du kopierar råa resultat som ser läsbara ut, men som inte blir till felfria rader utan manuell redigering.
- Dubbletter smyger sig in eftersom du hämtar från samma geografi och nyckelord om och om igen.
- Företagsnamn och mejladresser hamnar ur fas, vilket leder till pinsamma personaliseringsmissar.
- Någon måste ”städa arket” innan outreach ens kan börja.
Lösningen: Perplexity-research + OpenAI-strukturering → Google Sheets
Det här n8n-workflowet automatiserar den tråkiga mittdelen av leadgenerering: delen mellan ”hitta företag” och ”starta outreach”. Du startar det manuellt när du vill ha färska leads. Först sätter det ditt målområde (till exempel Hershey PA) och hämtar sedan ditt nuvarande Google Sheet så att det vet vad du redan har. Därefter frågar det Perplexity efter en batch lokala företag och exkluderar allt som redan finns i ditt ark. Perplexitys svar är användbart, men det är fortfarande ostrukturerad text. Där kliver OpenAI in och omvandlar outputen till konsekventa JSON-arrayer (företagsnamn och mejladresser) som ett kalkylark faktiskt kan använda. Till sist delar workflowet upp, linjerar, slår ihop varje företag med sin mejladress och lägger till de korrekt formaterade raderna i Google Sheets.
Workflowet börjar med en plats du definierar och en snabb ”läsning” av ditt befintliga ark. Sedan gör det research och strukturering i en och samma körning, och avslutar med att bara skriva tillbaka nya, strukturerade rader till Google Sheets. Ingen copy-paste, inget gissande kring ”vilken mejl hör till vilket företag?”.
Det du får: automation vs. resultat
| Vad det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du bygger en lokal lista varje måndag: 20 företag, med ett namn och en mejladress för varje. Manuellt tar research plus strukturering ofta cirka 10 minuter per lead (hitta, verifiera, klistra in, formatera), vilket blir ungefär 3 timmar för en batch på 20. Med det här workflowet startar du körningen, låter Perplexity leverera resultaten och låter OpenAI strukturera dem för ditt ark. Du lägger vanligtvis några minuter på att granska de nya raderna, inte på att bygga om dem.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger funkar bra)
- Google Sheets för att lagra och avduplicera lead-rader
- Perplexity för att hitta lokala företag och mejladresser
- OpenAI API-nyckel (hämta den från OpenAI-plattformens dashboard)
Kunskapsnivå: Nybörjare. Du kopplar in credentials, väljer ditt kalkylark och redigerar målplats och prompttext.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du triggar det när du vill ha nya leads. Det här workflowet använder en manuell start, vilket passar perfekt för veckovisa prospekteringskörningar eller ”jag behöver 20 företag till i den här staden”-lägen.
Ditt målområde sätts. Ett enkelt fält definierar platsen (som Hershey PA), så resten av workflowet är konsekvent även när du byter stad, län eller region.
Ditt befintliga ark används som skyddsräcke. n8n hämtar dina nuvarande leads i Google Sheets, aggregerar dem och förbereder ett ”inkludera inte”-underlag så att Perplexity inte returnerar samma företag igen.
Perplexity gör research, sedan strukturerar OpenAI. Perplexity returnerar ett textsvar, och sedan omvandlar OpenAI Chat Model/AI Agent det till korrekt formaterad JSON som kan delas upp i en företagslista och en mejllista. De listorna slås ihop till radklara poster.
Korrekt formaterade rader hamnar i Google Sheets. Den sista Google Sheets-noden uppdaterar eller lägger till nya leads, så att listan växer utan att bli ett dubbletträsk.
Du kan enkelt ändra sökområdet för att rikta in dig på en annan stad, eller justera fälten för att även få med telefonnummer och webbplatser utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera manuell trigger
Starta arbetsflödet med en manuell körning så att ni kan testa processen för lead-research från början till slut.
- Lägg till och behåll Manual Execution Start som trigger-nod.
- Lämna Manual Execution Start med standardinställningar (inga parametrar krävs).
- (Valfritt) Behåll Flowpast Branding som en visuell notering endast för dokumentation.
Steg 2: Anslut Google Sheets
Konfigurera in- och utdata-noderna för Sheets som laddar befintliga leads och uppdaterar ert kalkylark.
- Öppna Retrieve Existing Leads och ställ in Document till ert Google Sheet (exempelvärde:
[YOUR_ID]) och Sheet tillSheet1(gid=0). - I Retrieve Existing Leads, lägg till ett filter för Area med Lookup Value satt till
{{ $json.Area }}. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Existing Leads.
- Öppna Update Leads Spreadsheet och ställ in Operation till
appendOrUpdate. - I Update Leads Spreadsheet → Columns, mappa fälten till: Area =
{{ $('Map Text Fields').item.json['Search Area'] }}, Email ={{ $json['output.Email'] }}, Company ={{ $json['output.Company'] }}. - Ställ in Matching Columns till
Emailför att undvika dubbletter baserat på e-post. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Update Leads Spreadsheet.
Steg 3: Ställ in lead-kontext och aggregering
Definiera målområdet och förbered befintliga lead-data innan ni skickar den till AI-research.
- Öppna Assign Area Value och ställ in Area till
Hershey PA(ändra detta till ert önskade sökområde). - Bekräfta att Retrieve Existing Leads är kopplad till Aggregate Items för att konsolidera befintliga poster.
- Öppna Aggregate Items och behåll Aggregate inställt på
aggregateAllItemData. - Öppna Map Text Fields och ställ in Search Area till
{{ $('Assign Area Value').item.json.Area }}och data till{{ $json.data }}.
Steg 4: Ställ in AI-research och strukturerad parsning
Kör research-frågan och konvertera AI-svaret till ett strukturerat JSON-format.
- Öppna Discover New Leads och bekräfta att Model är inställd på
sonarmed Simplify aktiverat. - I Discover New Leads → Messages, behåll systemprompten och ställ in användarinnehållet till
Area: {{ $json['Search Area'] }} Already Scraped: {{ $json.data }}. - Inloggning krävs: Anslut era perplexityApi-uppgifter i Discover New Leads.
- Öppna Generate JSON Format och ställ in Text till
{{ $json.message }}. - I Generate JSON Format → System Message, behåll JSON-schema-instruktionerna för att output ska bli
{ "Company": [...], "Email": [...] }. - Säkerställ att OpenAI Chat Engine är ansluten som språkmodell för Generate JSON Format. Inloggning krävs: Anslut era openAiApi-uppgifter i OpenAI Chat Engine.
- Säkerställ att Structured Output Reader är ansluten som output-parser för Generate JSON Format. Lägg till parser-uppgifter i OpenAI Chat Engine om det krävs (lägg inte till dem i Structured Output Reader).
Steg 5: Dela upp, slå ihop och förbered poster för uppdatering
Dela upp JSON-arrayerna till individuella rader och kombinera par av e-post/företag för uppdateringar i kalkylarket.
- Öppna Split Company List och ställ in Field to Split Out till
output.Company. - Öppna Split Email List och ställ in Field to Split Out till
output.Email. - Generate JSON Format skickar output till både Split Company List och Split Email List parallellt.
- Öppna Merge Records och ställ in Mode till
combinemed Combine By inställt påcombineByPosition.
Steg 6: Testa och aktivera ert arbetsflöde
Validera arbetsflödet manuellt och aktivera det sedan för upprepad användning.
- Klicka på Execute Workflow för att köra Manual Execution Start och följ datan genom varje nod.
- Verifiera att Update Leads Spreadsheet lägger till eller uppdaterar rader med värden för Area, Email och Company.
- Om resultat saknas, bekräfta att filtret i Retrieve Existing Leads använder
{{ $json.Area }}och att Map Text Fields outputar en giltig Search Area. - När allt är verifierat, slå på arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Google Sheets-credentials kan gå ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera n8n → Credentials och bekräfta att det anslutna Google-kontot fortfarande har åtkomst till kalkylarket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms noder 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 30 minuter om dina konton är klara.
Nej. Du kopplar främst in credentials och redigerar ett par textfält (plats och research-prompten).
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 API-användning för OpenAI och Perplexity, vilket vanligtvis kostar några dollar för små veckobatcher.
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 dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, men du vill göra det på två ställen. Uppdatera Perplexity-prompten i steget ”Discover New Leads” så att den returnerar de extra fälten, och justera sedan OpenAI-steget ”Generate JSON Format” så att det outputtar de fälten i den strukturerade JSON:en. Efter det lägger du till nya kolumner i ditt Google Sheet och mappar dem i den sista Google Sheets-skrivnoden. Det är okomplicerat när du har sett en lyckad körning.
Oftast beror det på att OAuth-åtkomsten har gått ut eller att Google-kontot har tappat behörighet till kalkylarket. Återanslut Google Sheets-credentialn (OAuth2) i n8n, öppna sedan Google Sheets-noderna och välj om rätt spreadsheet och worksheet. Om det fortfarande misslyckas, kontrollera att arket inte flyttades till en annan Drive eller låstes av en administratör.
I praktiken funkar den bra för allt från dussintals till några hundra leads per körning.
För just det här jobbet är n8n oftast ett mer bekvämt val eftersom workflowet har förgrening, sammanslagning och strukturerad parsning som blir klumpig (och dyr) i enklare automationsverktyg. AI Agent-upplägget och strukturerad output är också lättare att styra i n8n, vilket spelar roll när du bryr dig om korrekt formaterade rader. Zapier eller Make kan fortfarande fungera om du håller det basic, men då landar du ofta i fler ”limsteg” och manuell städning. Ärligt talat: då missar du poängen. Prata med en automationsexpert om du vill ha hjälp att välja.
Felfria lead-listor är en orättvis fördel, helt ärligt. Sätt upp det här en gång, kör det när du behöver nya prospekt och lägg tiden på outreach som faktiskt ger svar.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.