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

OpenStreetMap till Google Sheets: leadlistor snabbt klara

Rickard Andersson Partner, Nodenordic.se

Att bygga en lokal leadlista låter enkelt tills du sitter djupt nere i flikar, kopierar adresser, letar efter mejladresser och rättar röriga kalkylbladsrader som inte matchar.

OSM lead automation är en livräddare när du är personen som ska få “hitta 500 företag” att faktiskt hända. Marknadschefer känner det vid kampanjlanseringar. Småföretagare känner det när de äntligen har tid att göra outreach. Säljare känner det eftersom felfri data är skillnaden mellan att ringa och att fastna.

Det här flödet hämtar företagsleads från OpenStreetMap (via det kostnadsfria Overpass API), berikar dem genom att skrapa webbplatser efter saknade mejladresser, tar bort dubletter och loggar sedan allt i Google Sheets. Du ser exakt vad som automatiseras, vilka resultat du kan förvänta dig och vad du behöver för att köra det.

Så fungerar den här automatiseringen

Hela n8n-flödet, från trigger till slutligt resultat:

n8n Workflow Template: OpenStreetMap till Google Sheets: leadlistor snabbt klara

Problemet: lokal leadresearch blir snabbt kalkylbladskaos

Om du någon gång har byggt en “enkel” lista med rörmokare, tandläkare, mäklarkontor eller butiker i en stad så vet du hur det brukar gå. Först samlar du namn och webbplatser. Sedan inser du att hälften av posterna saknar mejl, några har tre telefonnummer och en massa är dubletter eftersom du hämtade från flera källor. Nästa steg är städningen: dela upp kolumner, standardisera adresser och försöka att inte klistra in samma företag två gånger. Under tiden väntar outreach, och din lista är fortfarande inte användbar.

Det drar iväg snabbt. Här är var det brukar fallera i verkligheten:

  • Du lägger cirka 2 timmar bara på att samla in de första 100 leads, och listan är ändå ofullständig.
  • Mejladresser saknas, så du öppnar varje webbplats och letar manuellt efter en “Kontakt”-sida.
  • Dubletter smyger sig in när du utökar sökområdet, vilket gör att du slösar tid på att kontakta samma företag två gånger.
  • Arket ser “okej” ut tills du börjar filtrera, och då märker du inkonsekventa fält som skapar fel i sortering och segmentering.

Lösningen: hämta leads från OpenStreetMap och logga dem strukturerat i Sheets

Det här n8n-flödet gör OpenStreetMap till en repeterbar leadkälla som du kan köra när som helst när du behöver prospekt inom en nisch och region. Du börjar med att ange en lista med frågor (tänk “California, Los Angeles, dentist” eller “Texas, Austin, realtor”). Automatiseringen kör frågorna en och en via Overpass API så att du inte får timeouts, och extraherar sedan företagsdetaljer som namn, adresser, telefonnummer, webbplatser, öppettider och sociala konton när det finns. När ett företag har en webbplats men ingen mejladress i datan besöker flödet startsidan, hämtar HTML:en och söker efter mejladresser. Till sist rensar den mejllistan, slår ihop poster, tar bort dubletter och skriver en korrekt formaterad rad i Google Sheets så att din outreach-lista är redo.

Flödet startas manuellt och batchar sedan dina frågor för att hålla det stabilt. Det hämtar resultat från OpenStreetMap, berikar saknade kontaktfält genom att skrapa webbplatser och avslutar med att uppdatera ditt kalkylblad med standardiserade kolumner som du kan filtrera direkt.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du behöver en lista med 300 “tandläkare” i tre närliggande städer. Manuellt kan du lägga cirka 5 minuter per lead på att hitta webbplatsen, kopiera adressen och kontrollera om det finns en mejladress, vilket blir ungefär 25 timmar monotont arbete. Med det här flödet klistrar du in tre frågor, kör det en gång och låter batchning plus skrapning göra grovjobbet. Även om det kör i cirka 30–40 minuter medan du gör något annat får du ändå ett deduplicerat Google Sheet som är redo för outreach samma dag.

Det du behöver

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra och hantera din leadlista.
  • OpenStreetMap Overpass API för kostnadsfri lokal företagsdata.
  • Åtkomst till Google-konto (auktorisera det i Google Sheets-noden)

Kunskapsnivå: Medel. Du klistrar in frågor, kopplar Google Sheets och justerar några filter och skrapmönster.

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

Så fungerar det

Manuell körning med din frågelista. Du startar flödet och anger en lista med kombinationer av nyckelord + plats (yttre område, inre område och nischen du riktar in dig på).

Batchad API-insamling. n8n itererar genom dina frågor i batchar och skickar en HTTP-begäran till Overpass API, och extraherar sedan resultatlistan till en användbar uppsättning objekt.

Berikning när kontaktuppgifter saknas. Om ett lead har en webbplats men ingen mejladress hämtar flödet startsidans HTML, slår tillbaka den i posten, tolkar sannolika mejladresser och rensar listan så att skräpadresser tas bort.

Strukturerat utflöde till Google Sheets. Flödet mappar fält till konsekventa kolumner, slår ihop dubletter, filtrerar bort leads som inte uppfyller dina krav och uppdaterar kalkylbladet med rader som du kan sortera, segmentera och arbeta utifrån.

Du kan enkelt ändra frågeformatet och filtreringsreglerna för att matcha din nisch, eller för att bara behålla leads med specifika fält (som ett telefonnummer plus en mejladress). Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera Triggered by Other Flow Trigger

Det här arbetsflödet kan starta från ett annat arbetsflöde eller köras manuellt för test.

  1. Lägg till och öppna Triggered by Other Flow för att möjliggöra körning från ett uppströms arbetsflöde.
  2. Låt Manual Start Trigger vara ansluten till Batch Iterate A för ad hoc-testning med den fästa exempeldata.
  3. Bekräfta att det initiala flödet går från Triggered by Other FlowPrimary API Request enligt körordningen.

Använd Manual Start Trigger för att testa en liten delmängd innan ni kopplar det här arbetsflödet till ett uppströms produktionsflöde.

Steg 2: Anslut Google Sheets

Leads lagras i ett kalkylark i slutet av flödet.

  1. Öppna Update Spreadsheet och välj målkalkylark och arbetsblad för att lagra resultaten.
  2. Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter.

⚠️ Vanlig fallgrop: Update Spreadsheet har inga inloggningsuppgifter konfigurerade i arbetsflödets JSON. Ni måste lägga till Google Sheets-inloggningsuppgifter innan noden kan skriva data.

Steg 3: Sätt upp primär hämtning av leads och mappning

Dessa noder hämtar lead-data, extraherar resultat och normaliserar fält för efterföljande berikning.

  1. Konfigurera Primary API Request med er endpoint för lead-källan och nödvändiga query-parametrar.
  2. Säkerställ att Extract Result List endast output:ar arrayen med de leads ni vill bearbeta.
  3. Använd Split Items för att dela resultatslistan till enskilda lead-poster.
  4. Mappa fält i Map Output Fields till er föredragna struktur (t.ex. namn, webbplats, telefon, e-post).
  5. Verifiera att Arrange Data Fields standardiserar schemat som senare kontroller och sammanslagningar bygger på.

Steg 4: Konfigurera berikning av webbplats och e-post

Det här segmentet berikar poster genom att hämta och tolka startsidans HTML när e-post- eller webbplatsdata saknas.

  1. Ställ in regler i Check Missing Website för att identifiera leads utan en webbplats-URL.
  2. Ställ in regler i Check Email Presence för att identifiera leads utan e-post.
  3. Konfigurera Batch Iterate B för att styra takten för HTML-hämtning.
  4. Ställ in Fetch Site HTML för att hämta webbplats-URL:en från varje lead.
  5. Använd Combine With HTML för att slå ihop lead-data med det hämtade HTML-innehållet.
  6. Tolka och rensa i Parse Homepage HTML och Sanitize Email List för att extrahera giltiga e-postadresser.

Om ni träffar på rate limits, öka takten i Batch Iterate B eller lägg till en fördröjning i Delay Step.

Steg 5: Konfigurera sammanslagning, underarbetsflöde och filtrering

Dessa noder slår ihop berikningsresultat, anropar ett underarbetsflöde och filtrerar ofullständiga poster före output.

  1. Öppna Run Sub-Workflow (Configure Required) och välj målarbetsflödet som ska köras.
  2. Använd Delay Step för att strypa takten mellan anrop till underarbetsflödet och batchbearbetning.
  3. Bekräfta att Merge No Web/Email och Merge Records slår ihop både berikade och icke-berikade flödesgrenar.
  4. Ställ in villkor i Filter Missing Contacts för att exkludera poster utan viktig kontaktinformation.
  5. Låt Do Nothing Action ligga kvar som en platshållare för framtida logik eller felsökning.

⚠️ Vanlig fallgrop: Run Sub-Workflow (Configure Required) är inte konfigurerad med ett målarbetsflöde. Ni måste välja ett arbetsflöde eller ta bort noden.

Steg 6: Konfigurera output till kalkylark

Slutför output genom att skriva de rensade och filtrerade leads till Google Sheets.

  1. I Update Spreadsheet mappar ni inkommande fält till rätt kolumner.
  2. Bekräfta att inkommande data kommer från Filter Missing Contacts och inte från en tidigare nod.

Steg 7: Testa och aktivera ert arbetsflöde

Validera arbetsflödet end-to-end innan ni aktiverar det i produktion.

  1. Klicka Execute Workflow med Manual Start Trigger för att köra en testbatch.
  2. Bekräfta att Primary API Request returnerar resultat och att Update Spreadsheet skriver nya rader.
  3. Kontrollera att poster som saknar webbplats eller e-post hanteras korrekt av Check Missing Website och Check Email Presence.
  4. När resultaten ser korrekta ut, slå om arbetsflödet till Active för att tillåta körningar via Triggered by Other Flow.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningar kan gå ut eller behöva specifika behörigheter. Om något skapar fel, kontrollera först Google-kopplingen i n8n under fliken Credentials.
  • 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 er tonalitet tidigt, annars kommer du att redigera utdata för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här OSM lead automation-automatiseringen?

Cirka 30 minuter om ditt Google Sheet är förberett.

Behöver jag programmeringskunskaper för att automatisera OSM lead automation?

Nej. Du kopplar Google Sheets och justerar några filter och textmönster.

Är n8n gratis att använda för det här OSM lead automation-flödet?

Ja. n8n har ett gratis alternativ för egen hosting 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å ta hänsyn till Overpass API-kostnader, som är gratis vid typisk användning.

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

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och hanterar n8n bra. Egen hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här OSM lead automation-flödet för att rikta in mig endast på företag med mejl + telefon?

Ja, men du behöver justera filtreringssteget som tar bort ofullständiga poster och finjustera logiken för mejltolkning/rensning. I praktiken anpassar de flesta steget “Filter Missing Contacts” och regex-reglerna som används när startsidans HTML tolkas. Du kan också ändra vad som skrivs till Sheets i steget för fältmappning så att bara kvalificerade leads blir rader. Det är en liten ändring, men den gör att din outreach-lista inte fylls med kanske-leads.

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

Oftast beror det på att auktoriseringen för ditt Google-konto har löpt ut. Koppla om Google Sheets-uppgifterna i n8n och kör sedan en liten testbatch igen för att bekräfta att rader skrivs. Om du skriver till ett skyddat kalkylblad eller en delad enhet med begränsade behörigheter kan det också blockera uppdateringar. En sak till: säkerställ att målbladets/flikens namn matchar exakt, eftersom en minimal avvikelse kan se ut som ett anslutningsproblem.

Hur många leads kan den här OSM lead automation-automatiseringen hantera?

Tusentals, så länge du batchar dina frågor och håller Overpass-förfrågningarna på en rimlig nivå.

Är den här OSM lead automation-automatiseringen bättre än att använda Zapier eller Make?

För det här flödet har n8n några fördelar: mer komplex logik med obegränsad förgrening utan extra kostnad, ett alternativ för egen hosting med obegränsade körningar och inbyggd flexibilitet för kod/sammanslagning vid deduplicering och skrapning. Zapier eller Make kan fungera, men webbscraping plus tung datastädning blir ofta klumpigt (och dyrt) när du skalar. Om du bara behöver ett litet tvåstegsflöde för att “skicka rader till Sheets” kan de verktygen räcka. Om du är osäker, prata med en automationsexpert så pekar vi dig i rätt riktning.

Ärligt talat: när du väl har ett strukturerat, deduplicerat Sheet som fyller sig självt slutar leadresearch vara en veckovis syssla. Du sätter upp det, kör det när du behöver det och lägger tiden på outreach i stället för städning.

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

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal