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

Apify till Google Sheets, rensade leads redo

Rickard Andersson Partner, Nodenordic.se

Din leadlista ser “stor” ut tills du försöker använda den. Dubbla e-postadresser, halvt ifyllda namn, märklig företagsformatering och ibland uppenbart fejkade kontakter gör outreach till ett städprojekt.

Den här Apify Google Sheets-automationen träffar growth marketers först, eftersom kampanjer dör av dålig data. Sales ops känner av det också. Och om du driver en liten byrå känner du igen den obekväma stunden när en kund frågar varför du mejlade samma person två gånger.

Det här flödet gör om skrapade leads till ett strukturerat, deduplicerat Google Sheet med Google Gemini som kvalitetsgrind. Du får se hur det fungerar, vad du behöver och vad som förändras när grovjobbet försvinner.

Så fungerar den här automationslösningen

Se hur detta löser problemet:

n8n Workflow Template: Apify till Google Sheets, rensade leads redo

Utmaningen: skrapade leads som inte är redo för outreach

Skrapverktyg kan hämta många kontakter snabbt, men volym är inte samma sak som användbarhet. Du exporterar en dataset, öppnar den i Sheets och ser direkt problemen: saknade förnamn, inkonsekventa företagsnamn, “info@”-adresser bland riktiga prospekt och dubbletter överallt. Sedan börjar du fixa manuellt, rad för rad. Det är långsamt, tråkigt och lätt att missa något som senare blir en bounce, en spam-anmälan eller en bortkastad plats i en sekvens. Ärligt talat är det så här “lead gen” i tysthet blir adminjobb.

Det blir mycket snabbt. Här är var det fallerar i riktiga team.

  • Du lägger ofta cirka 2 timmar per batch på att standardisera namn, företag och uppenbara formateringsproblem.
  • Dubbletter slinker igenom eftersom det är ett hopplöst spel att kontrollera tusentals e-postadresser för hand.
  • Outreach-verktyg matas med stökiga fält, vilket leder till trasig personalisering och pinsamma inledningsrader.
  • Kvalitetsfeedback kommer för sent, efter att en kampanj redan har bränt bra domäner och teamtid.

Lösningen: Apify → AI-validering → deduplicerat Google Sheet

Den här automationslösningen börjar med att trigga en Apify-skrapning (eller Apollo-liknande hämtning), och hämtar sedan hela lead-payloaden till n8n. I stället för att dumpa allt i ett kalkylark och hoppas på det bästa, bearbetar den leads i kontrollerade batcher och kör varje kontakt genom ett AI-valideringslager drivet av Google Gemini. Gemini kontrollerar att kritiska fält finns och är rimliga (namn, företag, e-post), och korrigerar vanliga formateringsproblem så att raderna blir konsekventa i arket. Innan ett lead sparas kontrollerar flödet ditt befintliga Google Sheet via e-post för att förhindra dubbletter. Till sist lägger den bara till felfria, unika leads och skickar en kort Telegram-sammanfattning så att du vet vad som hände utan att öppna en dashboard.

Flödet startar från en extern trigger (som en webhook), använder sedan HTTP-förfrågningar för att starta och hämta skrapresultat. Leads delas upp i batcher om 1000 för stabilitet, valideras och standardiseras av Gemini och skrivs till Google Sheets endast om de går igenom kontrollerna och inte redan finns. En Telegram-uppdatering stänger loopen så att du kan lita på resultatet.

Vad som förändras: före vs. efter

Praktisk effekt i verkligheten

Säg att du skrapar 5 000 leads från Apify varje vecka. Manuellt kan det ta cirka 2 timmar att rensa och deduplicera även en “ganska bra” export, plus ytterligare 30 minuter för att jaga dubbletter och trasiga fält som slank in i outreach. Med det här flödet körs de 5 000 leadsen i 5 batcher om 1 000 med en paus på 30 sekunder mellan batcherna, och du lägger mest tid på att snabbt skumma igenom det färdiga arket och Telegram-sammanfattningen. För de flesta team betyder det flera timmar tillbaka varje vecka, och listan är faktiskt användbar direkt.

Krav

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Apify för att köra skrapningar och komma åt datasets.
  • Google Sheets för att lagra den rensade leadlistan.
  • Google Gemini API-nyckel (hämta den via Google AI Studio / Gemini API i Google Cloud).

Kunskapsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och mappar några fält, men du skriver ingen “riktig kod”.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).

Flödet i workflowet

En webhook eller exekveringstrigger startar körningen. Ditt skrapjobb (eller en dataset-referens) skickas in i n8n så att flödet vet vad som ska hämtas och bearbetas.

Leads hämtas från Apify via HTTP-förfrågningar. Flödet hämtar hela listan och förbereder den för stabil bearbetning i stället för att försöka hantera allt på en gång.

Batchning och AI-validering rensar varje lead. Leads går igenom batcher om 1000, och Google Gemini kontrollerar obligatoriska fält, korrigerar vanlig formatering och flaggar tveksamma poster så att du inte lagrar skräp.

Google Sheets får bara felfria, unika rader. Flödet läser befintliga rader i arket, deduplicerar via e-post, lägger till nya leads och postar en Telegram-sammanfattning som visar hur många som lyckades, varnade eller misslyckades.

Du kan enkelt justera valideringsreglerna och vilka fält du sparar för att matcha din ICP och din outreach-stil. Se hela implementeringsguiden nedan för anpassningsmöjligheter.

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

Steg 1: Konfigurera triggern för körning av arbetsflödet

Det här arbetsflödet startar när det anropas från ett annat arbetsflöde, och skickar indata direkt in i pipelinen.

  1. Lägg till noden Workflow Execution Trigger.
  2. Ställ in Input Sourcepassthrough.
  3. Anslut Workflow Execution Trigger till Apify Post Call.

Steg 2: Koppla Apify-anrop och batchbearbetning

Dessa noder startar Apify-jobbet, väntar på resultat och itererar leads i stora batchar.

  1. Öppna Apify Post Call och ställ in MethodPOST.
  2. Lägg till Apify-endpointens URL och eventuella nödvändiga headers/body för actor-körningen i Apify Post Call.
  3. Konfigurera Batch Iterator med Batch Size satt till 1000.
  4. Anslut Apify Post Call till Batch Iterator.
  5. Ställ in Pause for Apify att vänta Amount 30 sekunder och anslut den sedan till Apify Fetch Call.
  6. Anslut Apify Fetch Call tillbaka till Batch Iterator så att batcharna fortsätter efter att data har hämtats.

Notering om körflöde: Workflow Execution TriggerApify Post CallBatch IteratorLead Processing AgentDispatch Telegram Update, där Batch Iterator loopar genom Pause for ApifyApify Fetch CallBatch Iterator.

Steg 3: Sätt upp Lead Processing Agent

Den här AI-agenten validerar och avduplicerar leads, formaterar rader för Sheets och förbereder en enda Telegram-sammanfattning per batch.

  1. Öppna Lead Processing Agent och behåll prompten i Text som den är för att säkerställa validering, avduplicering och batchsammanfattningar.
  2. Anslut Gemini Chat Engine till Lead Processing Agent som språkmodell.
  3. Inloggning krävs: Anslut era Google Gemini-uppgifter i Gemini Chat Engine.
  4. Konfigurera Context Window Memory med Session Key satt till =memory_{{ $('Telegram Trigger').item.json.message.message_id }} och Context Window Length satt till 20.
  5. Säkerställ att Append Sheet Row och Read Sheet Rows är anslutna till Lead Processing Agent som AI-verktyg.
  6. Inloggning krävs: Anslut era Google Sheets-uppgifter på Lead Processing Agent (används av Append Sheet Row och Read Sheet Rows).
⚠️ Vanlig fallgrop: Context Window Memory refererar till $('Telegram Trigger'), men det finns ingen Telegram Trigger-nod i det här arbetsflödet. Uppdatera uttrycket eller lägg till en Telegram-trigger i det överordnade arbetsflödet som anropar detta.

Steg 4: Anslut Google Sheets

Dessa verktyg gör att agenten kan kontrollera dubbletter och lägga till validerade rader i ert kalkylark.

  1. I Read Sheet Rows väljer ni ert Document och Sheet genom att sätta Document ID till [YOUR_ID] och Sheet Name till [YOUR_ID] (Leads Spreadsheet / Leads Sheet).
  2. I Append Sheet Row ställer ni in Operationappend och väljer samma värden för Document ID och Sheet Name.
  3. Verifiera kolumnmappningar i Append Sheet Row, till exempel Name{{ $fromAI('Name', '', 'string') }}, Email{{ $fromAI('Email', '', 'string') }} och Lead ID{{ $fromAI('Lead__ID', '', 'string') }}.

Steg 5: Konfigurera Telegram-utdata

Den här noden skickar den konsoliderade batchsammanfattningen som agenten producerar.

  1. Öppna Dispatch Telegram Update och ställ in Text{{ $json.output }}.
  2. Ställ in Chat ID{{ $('Telegram Trigger').item.json.message.chat.id }}.
  3. Inloggning krävs: Anslut era Telegram Bot API-uppgifter i Dispatch Telegram Update.
⚠️ Vanlig fallgrop: Noden Dispatch Telegram Update refererar till $('Telegram Trigger'), som inte finns i det här arbetsflödet. Säkerställ att det överordnade arbetsflödet skickar Telegram-kontext eller justera uttrycket till en giltig källa.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att bekräfta att Apify-data bearbetas, att rader läggs till och att Telegram-sammanfattningen levereras.

  1. Klicka på Execute Workflow och ange exempelindata via det anropande arbetsflödet för att trigga Workflow Execution Trigger.
  2. Bekräfta att Apify Post Call körs, att Pause for Apify väntar 30 sekunder och att Apify Fetch Call returnerar resultat till Batch Iterator.
  3. Verifiera att Lead Processing Agent ger ut en enda batchsammanfattning och lägger till giltiga rader via Append Sheet Row.
  4. Kontrollera att Dispatch Telegram Update postar sammanfattningen till er Telegram-chatt.
  5. När allt fungerar växlar ni arbetsflödet till Active för produktionsanvändning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Saker att se upp med

  • Google Sheets-inloggningar kan gå ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först det kopplade Google-kontot i n8n-credentials och bekräfta att arket är korrekt delat.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in ert varumärkesspråk tidigt, annars kommer du att redigera outputen i all evighet.

Vanliga frågor

Hur snabbt kan jag implementera den här Apify Google Sheets-automationen?

Oftast på cirka en timme när dina konton och nycklar är klara.

Kan icke-tekniska team implementera den här automationen för leadrensning?

Ja, men du vill ha någon som är bekväm med att koppla API:er och testa en exempelbatch. Det krävs ingen kodning, men du behöver mappa fält och bekräfta att kolumnerna i ditt Sheet matchar outputen.

Är n8n gratis att använda för det här Apify Google Sheets-flödet?

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 användningen av Google Gemini API, som beror på hur många leads du validerar.

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 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.

Hur anpassar jag den här Apify Google Sheets-lösningen till mina specifika utmaningar?

Du kan justera reglerna i Lead Processing Agent som anropar Gemini Chat Engine, där validering och rensning sker. Vanliga ändringar är att kräva “endast jobbe-post”, avvisa generiska inkorgar som info@, standardisera jobbtitlar och skriva extra kolumner (bransch, plats, förtroendenoteringar) innan steget Append Sheet Row.

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

Oftast är det ett OAuth-behörighetsproblem eller att arket inte är delat med rätt Google-konto. Återanslut Google Sheets-credential i n8n, bekräfta att spreadsheet-ID:t pekar på rätt fil och säkerställ att kontot har redigeringsåtkomst. Om det fungerar i några batcher och sedan misslyckas kan du slå i API-gränser, så väntetiden på 30 sekunder mellan batcher bör ökas.

Vilken kapacitet har den här Apify Google Sheets-lösningen?

Den bearbetar 1 000 leads per batch och kan fortsätta loopa igenom betydligt större datasets.

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

Ofta, ja, eftersom det här flödet kräver batchning, dedupliceringslogik och ett AI-valideringslager som är enklare att styra i n8n. Zapier och Make kan lösa delar av det, men stora skrapningar kan snabbt bli dyra när varje lead blir flera betalda tasks. n8n ger dig också möjligheten att self-hosta för obegränsade körningar, vilket är viktigt om du kör lead gen varje vecka. Nackdelen är setup: du lägger lite mer tid på att få det rätt första dagen. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din volym och dina verktyg.

När ditt ark håller sig strukturerat som standard blir outreach enklare. Flödet hanterar de repetitiva kontrollerna och dedupliceringen så att teamet kan fokusera på att skriva meddelanden som faktiskt får 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.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal