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

Du kör en scraper, laddar ner en fil, öppnar den, fixar kolumnerna, rensar telefonnumren, normaliserar e-postadresserna … och ändå litar du inte på listan. Det är segt. Ännu värre: det är lätt att missa en liten formateringsdetalj som sabbar din outreach senare.

Det här är vad säljare känner precis innan en prospekteringsspurt. En marknadschef som bygger en ny lista känner det också. Det gör även en byråoperatör som försöker leverera ”felfria leads” till en kund. Den här Apify Sheets-automationen tar skrapade resultat och lägger in dem i Google Sheets redan rensade, så att du kan börja med outreach i stället för att vakta exporter.

Nedan ser du hur workflowet körs, vad det fixar automatiskt och vad ”redo att använda” faktiskt betyder i en verklig veckorutin för lead generation.

Så fungerar den här automatiseringen

Hela n8n-workflowet, från trigger till slutligt resultat:

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

Problemet: skrapade leads är aldrig ”klara”

Att skrapa leads är den enkla delen. Den jobbiga delen är allt efteråt. Du får telefonnummer med mellanslag, parenteser, landskoder i slumpmässiga format eller till och med text blandat i. E-postadresser kommer in med konstig versalisering, avslutande blanksteg och dubbletter du inte upptäcker förrän din bounce rate sticker iväg. Och så har vi klassikern i Google Sheets: kolumner flyttar sig, fält matchar inte din outreach-mall och någon i teamet ”fixar snabbt” på ett sätt som ingen kan upprepa nästa gång. Ärligt talat: det är inte jobbet du kommer ihåg att tidrapportera, men det kostar riktiga timmar.

Friktionen byggs på. Här är var det brukar fallera.

  • Export från Apify, uppladdning igen och mappning av kolumner bränner cirka 30 minuter per scrape.
  • Inkonsekvent formatering av telefon och e-post skapar onödiga bounces och misslyckade uppringningsförsök.
  • Du tappar momentum eftersom outreach inte kan börja förrän någon ”rensar arket”.
  • Varje manuell städning blir lite olika, vilket gör listkvaliteten oförutsägbar vecka för vecka.

Lösningen: kör Apify, normalisera datan, lägg till i Sheets

Det här workflowet gör om ”skrapad dataset” till ett konsekvent Google Sheet som du faktiskt kan använda. Du triggar det i n8n, det laddar dina Apify-uppgifter (token och task-ID), och startar sedan Apify-tasken via en HTTP-request. När resultaten kommer tillbaka normaliserar workflowet fälten du bryr dig om för outreach. Telefonnummer strippas ner till enbart siffror så att de fungerar i dialers och CRM. E-post trimmas och görs till gemener, vilket minskar dubbletter och förebygger onödiga copy/paste-missar senare. Till sist läggs de rensade raderna till i ditt Google Sheet, med förutsägbara kolumner som företagsnamn, telefon och adress.

Workflowet startar med en manuell körning, så att du kan köra det på beställning när du behöver färska leads. Därifrån sköter Apify skrapningen, n8n rensar outputen och Google Sheets blir din enda sanningskälla. Inga extra nedladdningar. Inga ”vilken version av CSV:n är det här?”-diskussioner.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du skrapar 300 leads varje måndag och torsdag. Manuellt kanske du lägger cirka 30 minuter på att exportera och omformatera filen, och ytterligare 30 minuter på att rensa telefon, e-post och kolumnnamn – så räkna med 2 timmar i veckan. Med det här workflowet klickar du på kör, väntar på att Apify blir klar (ofta runt 10 minuter), och ditt Google Sheet uppdateras automatiskt. Det är ungefär 90 minuter tillbaka varje vecka, plus färre misstag när du lämnar listan vidare till någon annan.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Apify för att köra din lead-scraping-task
  • Google Sheets för att lagra och dela rensade leadrader
  • Apify API-token (hämta den i Apify Console → Settings → Integrations)

Kunskapsnivå: Nybörjare. Du klistrar in uppgifter, väljer ditt kalkylark och kör en test-scrape.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Manuell start från n8n. Du triggar workflowet när du vill ha färska leads, vilket är praktiskt om du skrapar på vissa dagar eller bara när en kampanj behöver det.

Inloggning och task-detaljer laddas. n8n läser din APIFY_TOKEN och APIFY_TASK_ID från variabelsteget så att workflowet kan köra rätt Apify-scraper utan att du behöver konfigurera om något.

Apify kör och returnerar datasetet. En HTTP-request startar skrapningen och hämtar tillbaka resultaten till n8n, så att du kan bearbeta datan innan den ens hamnar i ditt ark.

Leaddata normaliseras och läggs till. Städlogiken standardiserar telefoner och e-post, och sedan lägger Google Sheets-steget till nya rader i ditt valda kalkylark i en konsekvent kolumnordning.

Du kan enkelt justera städreglerna så att de matchar kraven i ditt CRM 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å att ni kan testa Apify-skrapningen och tillägget i kalkylbladet vid behov.

  1. Lägg till noden Manual Launch Trigger som arbetsflödets trigger.
  2. Lämna standardinställningarna som de är, eftersom den här noden inte kräver någon konfiguration.
  3. Koppla Manual Launch Trigger till Assign Workflow Vars för att följa exekveringsflödet.

Steg 2: anslut Apify-begäran

Ange era Apify-inloggningsuppgifter som variabler och bygg API-begärans URL dynamiskt.

  1. Öppna Assign Workflow Vars och ställ in APIFY_TOKEN till [CONFIGURE_YOUR_API_KEY].
  2. Ställ in APIFY_TASK_ID till [YOUR_ID].
  3. I Execute Apify Scrape, ställ in URL till {{ 'https://api.apify.com/v2/actor-tasks/' + $json.APIFY_TASK_ID + '/run-sync-get-dataset-items?token=' +$json.APIFY_TOKEN}}.
  4. I Execute Apify Scrape aktiverar ni Options → Split Into Items så att varje dataset-rad blir ett enskilt item.
  5. Koppla Assign Workflow VarsExecute Apify Scrape.

⚠️ Vanlig fallgrop: Om APIFY_TOKEN eller APIFY_TASK_ID fortfarande är platshållare kommer HTTP-begäran att misslyckas. Ersätt dem med giltiga Apify-värden innan ni testar.

Steg 3: konfigurera normalisering av lead-data

Kodsteget rensar telefonnummer och normaliserar e-postadresser innan lead-datan sparas.

  1. Lägg till noden Normalize Lead Data efter Execute Apify Scrape.
  2. Klistra in JavaScript i Normalize Lead Data exakt som visat: // Clean scraped data before LLM processing return $input.all().map(item => ({ ...item.json, phone: item.json.phone?.replace(/[^\d+]/g, '') || '', email: item.json.email?.toLowerCase().trim() || '' }));
  3. Koppla Execute Apify ScrapeNormalize Lead Data.

Steg 4: konfigurera utdatadestinationen

Lägg till den normaliserade lead-datan i Google Sheets med definierade kolumnmappningar.

  1. Lägg till noden Append to Sheets och koppla den till Normalize Lead Data.
  2. Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter i Append to Sheets.
  3. Ställ in Operation till append.
  4. Ställ in Document ID till [YOUR_ID].
  5. Ställ in Sheet Name till Sheet1.
  6. Mappa kolumner i Columns → Define Below:
    • phone{{ $json.phone }}
    • Address{{ $json.address }}
    • company name{{ $json.title }}

Tips: Säkerställ att arket innehåller kolumner med namnen phone, Address och company name för att undvika mappningsfel.

Steg 5: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att verifiera skrapningen och tilläggsbeteendet, och aktivera sedan arbetsflödet för användning.

  1. Klicka på Execute Workflow för att köra Manual Launch Trigger.
  2. Bekräfta att Execute Apify Scrape returnerar items och att Normalize Lead Data matar ut rensade fält för phone och email.
  3. Verifiera att nya rader visas i målarket i Google Sheet från Append to Sheets.
  4. När allt fungerar, slå på arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Apify-uppgifter kan löpa ut eller så kan din token tappa behörigheter. Om det skapar fel, kontrollera tokenstatus i Apify Console och bekräfta att task-ID:t fortfarande finns.
  • 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 er tonalitet tidigt, annars kommer du att redigera output i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Apify Sheets-automationen?

Cirka 20 minuter om du redan har en Apify-task och ett Google Sheet klart.

Behöver jag kunna koda för att automatisera Apify Sheets-automation?

Nej. Du klistrar in din Apify-token och ditt task-ID och väljer sedan målarket i Google Sheets. Datarensningen är redan inbyggd i workflowet.

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

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 Apify-kostnader baserat på hur ofta din task körs.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast setup) 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.

Kan jag anpassa det här Apify Sheets-automation-workflowet för andra kolumner i mitt CRM?

Ja, men gör det med en tydlig plan. Du kan justera fältmappningen i steget ”Append to Sheets” så att det matchar dina kolumnnamn i CRM, och du kan tweaka städreglerna i ”Normalize Lead Data” för att hantera landskoder, obligatoriska prefix eller extra fält som webbplats och kategori. Vanliga anpassningar är att lägga till en kolumn för ”source”, dela upp adresser i stad/län och att hoppa över rader som saknar en giltig e-postadress.

Varför misslyckas min Apify-anslutning i det här workflowet?

Oftast är det ett token-problem eller så är task-ID:t fel. Skapa en ny APIFY_TOKEN i Apify, bekräfta att APIFY_TASK_ID matchar tasken du förväntar dig och uppdatera sedan variablerna i n8n. Om det bara misslyckas vid stora scrapes kan du också slå i rate limits, eller så returnerar du ett dataset som tar längre tid att generera än vad din request förväntar sig.

Hur många leads kan den här Apify Sheets-automationen hantera?

Hundratals per körning är normalt, och tusentals fungerar bra om din Apify-task kan producera dem pålitligt.

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

Ofta, ja, eftersom scraping-output brukar behöva riktig städlogik innan den blir användbar. n8n gör den typen av databehandling enklare att förvalta, och self-hosting innebär att du inte betalar extra varje gång du kör en större batch. Zapier och Make kan fortfarande fungera om du gör ett enkelt ”skicka data till ett ark”-flöde, men de blir klumpiga när du behöver villkorliga regler och repeterbar normalisering. Om ditt workflow kommer att växa är n8n oftast det lugnare valet. Prata med en automationsexpert om du vill ha en snabb rekommendation för din setup.

Att få rensade leads direkt i Sheets utan städrutinen ändrar tempot i veckan. Sätt upp det en gång, kör det när du behöver det och håll din outreach i rörelse.

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