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

Google Maps till Google Sheets, leadlistor snabbt

Rickard Andersson Partner, Nodenordic.se

Att kopiera företagsuppgifter från Google Maps är den typen av uppgift som ser ”snabb” ut tills du sitter 40 flikar in, saknar hälften av telefonnumren och ditt kalkylark fortfarande inte går att använda.

Den här Maps Sheets leads-automationen träffar marknadschefer och growth-team först, men även byråägare som bygger kundlistor och små lokala företag som gör sin egen outreach känner av det. Du får mer felfria leadlistor, snabbare, utan att behöva kontrollera varje rad igen.

Nedan ser du vad workflowet gör, vad det ersätter och hur du sätter upp det så att du kan öppna ditt ark och börja med outreach.

Så fungerar den här automatiseringen

Se hur detta löser problemet:

n8n Workflow Template: Google Maps till Google Sheets, leadlistor snabbt

Utmaningen: att göra Google Maps till en strukturerad leadlista

Du hittar rätt sökning i Google Maps (som ”Accountants London”), och de första resultaten ser lovande ut. Sedan kommer verkligheten ikapp. Telefonnummer är formaterade på olika sätt, webbplatser saknas och adresser klistras in i fel kolumner. Efter en timme har du inte bara ett rörigt kalkylark. Du har en lista du inte litar på, vilket betyder att du kommer dubbelkolla allt senare (och senare kommer aldrig). Ärligt talat är det inte researchen som tar knäcken på dig. Det är det repetitiva plockandet, formaterandet och rättandet.

Det drar iväg snabbt. Här är var det faller isär.

  • Att manuellt plocka namn, telefon, webbplats och adress tar cirka 2–3 minuter per företag, och tiden multipliceras när listan växer.
  • Google Maps-resultat är inte ”leadlista-klara”, så dina kolumner blir inkonsekventa och outreach försenas.
  • Du missar fält eftersom vissa listningar döljer detaljer bakom extra klick, och det är lätt att hoppa över något när du jobbar snabbt.
  • Skalning blir smärtsamt eftersom nästa plats eller bransch innebär att du upprepar samma process från noll.

Lösningen: Google Places-resultat som läggs till direkt i Google Sheets

Det här workflowet gör en enkel ”Bransch + Plats”-fråga till ett strukturerat Google Sheet som är redo för outreach. Det startar med en formulärinlämning (till exempel ”Accountants London”), anropar sedan Google Places Text Search-endpointen för att hämta första sidan med matchande företag. Om Google returnerar en ”next page”-token väntar workflowet några sekunder (eftersom token behöver tid för att aktiveras), hämtar sedan sida två och valfritt sida tre. Efter det slår det ihop resultaten till en lista, loopar igenom varje place och anropar Place Details för att hämta de specifika fält du faktiskt behöver: företagsnamn, formaterat telefonnummer, webbplats och formaterad adress. Till sist formaterar det resultaten till felfria rader och lägger till dem i ditt Google Sheet.

Workflowet startar när du skickar in en bransch-/platssökning. Därifrån hämtar det upp till tre sidor med Google Places-resultat och berikar sedan varje företag med Place Details. Slutresultatet hamnar i Google Sheets som en rad per företag, mappad till dina kolumner.

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

Praktisk effekt i verkligheten

Säg att du bygger en veckolista för två nischer i två städer (totalt 4 sökningar). Om du samlar 50 företag per sökning och lägger ungefär 2 minuter per företag på att kopiera detaljer blir det cirka 7 timmar repetitivt arbete. Med det här workflowet skickar du in varje fråga i ett formulär (kanske 1 minut), låter det köra medan det hämtar upp till tre sidor och detaljer (ofta under 10 minuter per fråga), och ditt Google Sheet fyller i sig självt. De flesta team får tillbaka en eftermiddag varje vecka, och arket blir mer felfritt också.

Krav

  • n8n-instans (prova n8n Cloud gratis)
  • Självhosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra leadlistan.
  • Google Cloud Places API för att hämta Text Search och Details.
  • Google Places API-nyckel (hämta den i Google Cloud Console).

Kunskapsnivå: Medel. Du klistrar in en API-nyckel, kopplar Google Sheets OAuth och mappar kolumner en gång.

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

Workflow-flödet

En enkel fråga sätter igång allt. Du skickar in en fras ”Bransch + Plats” via den inbyggda formulärtriggern, som blir söktermen för Google Places.

Google Places returnerar resultat i sidor. Workflowet hämtar sida ett, kontrollerar om det finns en next_page_token, väntar några sekunder och hämtar sedan sida två och sida tre när det finns. Väntetiderna finns där av en anledning.

Varje företag berikas. Efter att ha slagit ihop alla sidor loopar workflowet igenom varje place_id och anropar Place Details för att hämta fälten du bryr dig om (namn, telefon, webbplats, adress). Om ett fält inte finns lämnas det tomt i stället för att körningen skapar fel.

Ditt ark uppdateras automatiskt. Resultaten formateras till rader och läggs till i ett Google Sheet med ditt valda dokument-ID och fliknamn, med de kolumner du skapat.

Du kan enkelt ändra vilka Place Details-fält som hämtas (som öppettider) eller öka/minska antalet sidor som hämtas utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera formulärtriggern

Konfigurera intake-formuläret som samlar in sökfrågan som används för Google Places-sökningar.

  1. Lägg till och öppna Form Query Intake.
  2. Ställ in Form Title till Enter your Query.
  3. Ställ in Form Description till Enter Industry + Location.
  4. Säkerställ att formulärfältets etikett är Query med platshållaren Ex. Accountants London och markera det som obligatoriskt.

Steg 2: Konfigurera Google Places Text Search-förfrågningarna

Konfigurera de tre paginerade Places Text Search-anropen för att samla in resultat över flera sidor.

  1. Öppna Initial Text Search och ställ in URL till https://maps.googleapis.com/maps/api/place/textsearch/json.
  2. I Initial Text Search ställer ni in frågeparametern query till {{ $json.Query }} och key till [CONFIGURE_YOUR_API_KEY].
  3. Öppna Second Text Lookup och ställ in URL till https://maps.googleapis.com/maps/api/place/textsearch/json.
  4. I Second Text Lookup ställer ni in pagetoken till {{ $json.next_page_token }} och key till [CONFIGURE_YOUR_API_KEY].
  5. Öppna Third Text Lookup och ställ in URL till https://maps.googleapis.com/maps/api/place/textsearch/json.
  6. I Third Text Lookup ställer ni in pagetoken till {{ $json.next_page_token }} och key till [CONFIGURE_YOUR_API_KEY].

Initial Text Search skickar utdata parallellt till både Next Page Check 2 och Combine Page Results, och Second Text Lookup skickar utdata parallellt till både Next Page Check 3 och Combine Page Results.

⚠️ Vanlig fallgrop: Google Places API returnerar fel om [CONFIGURE_YOUR_API_KEY] inte ersätts med en giltig nyckel eller om Places API inte är aktiverat i ert Google Cloud-projekt.

Steg 3: Konfigurera paginering och sammanslagning av resultat

Hantera pagineringstokens, lägg till fördröjningar för att token ska hinna bli redo och kombinera resultat från alla sidor.

  1. Öppna Next Page Check 2 och bekräfta att villkoret kontrollerar att {{ $json.next_page_token }} finns.
  2. Öppna Pause 5s A och behåll standardinställningarna för väntetid för att fördröja innan nästa sidförfrågan.
  3. Öppna Next Page Check 3 och bekräfta att villkoret kontrollerar att {{ $json.next_page_token }} finns.
  4. Öppna Pause 5s B och behåll standardinställningarna för väntetid för att fördröja innan den tredje sidförfrågan.
  5. Öppna Combine Page Results och ställ in Number of Inputs till 3 för att slå samman resultat från alla sidor.

Steg 4: Expandera items och hämta Place Details

Dela upp resultat-arrayen i enskilda items och begär sedan detaljerad platsdata för varje resultat.

  1. Öppna Expand Result Items och ställ in Field to Split Out till results.
  2. Öppna Retrieve Place Details och ställ in URL till https://maps.googleapis.com/maps/api/place/details/json.
  3. I Retrieve Place Details ställer ni in place_id till {{ $json.place_id }}.
  4. Ställ in fields till name,formatted_phone_number,website,formatted_address och key till [CONFIGURE_YOUR_API_KEY].

Tips: Om ni lägger till fler fält i Retrieve Place Details, uppdatera utdata-mappningen i Prepare Sheet Rows så att den matchar.

Steg 5: Konfigurera radförberedelse och utdata till Google Sheets

Omvandla platsdetaljerna till strukturerad raddata och lägg till den i ert Google Sheet.

  1. Öppna Prepare Sheet Rows och behåll JavaScript-koden som den är för att mappa companyName, number, address och website.
  2. Öppna Append to Sheet och ställ in Operation till append.
  3. Ställ in Document och Sheet Name till era målvärden för kalkylarket (ersätt [YOUR_ID]).
  4. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-credentials i Append to Sheet.

⚠️ Vanlig fallgrop: Säkerställ att ert ark har rubriker som stämmer överens med fälten som skapas av Prepare Sheet Rows, annars kan append skapa kolumner som inte matchar.

Steg 6: Testa och aktivera ert workflow

Kör ett fullständigt test för att bekräfta paginering, hämtning av detaljer och utdata till arket innan ni aktiverar.

  1. Klicka på Execute Workflow och skicka formuläret i Form Query Intake med en sökfråga som Accountants London.
  2. Verifiera att Initial Text Search, Second Text Lookup och Third Text Lookup körs, och att Combine Page Results slår samman tre inputs.
  3. Bekräfta att Retrieve Place Details returnerar fält för telefon, adress och webbplats, och att Append to Sheet lägger till rader i ert Google Sheet.
  4. När testet lyckas, slå på workflowet till Active för produktionsbruk.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Saker att se upp med

  • Google Places API-uppgifter kan löpa ut eller begränsas för hårt. Om något slutar fungera: kontrollera först API-nyckelns restriktioner i Google Cloud Console och att ”Places API” är aktiverat.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på tomma svar.
  • Google Sheets OAuth kan misslyckas utan tydliga fel när det kopplade Google-kontot tappar åtkomst till kalkylarket. Bekräfta att OAuth-användaren kan redigera den specifika filen och fliken du mappade i Google Sheets-noden.

Vanliga frågor

Hur snabbt kan jag implementera den här Maps Sheets leads-automationen?

Cirka 30 minuter om dina Google-konton är redo.

Kan team utan teknisk kompetens implementera den här leadliste-automationen?

Ja. Du kommer inte skriva kod, men du behöver klistra in en API-nyckel och peka Google Sheets-noden mot rätt kalkylark.

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

Ja. n8n har ett gratis alternativ för självhosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna med användning av Google Places API, som beror på hur många sökningar och Place Details-anrop du kör.

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 självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger obegränsade körningar men kräver grundläggande serveradministration.

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

Du kan ändra vad som hämtas genom att redigera Place Details HTTP Request-fälten (till exempel lägga till opening_hours eller address_components) och sedan uppdatera mappningen i kodnoden ”Prepare Sheet Rows”. Om du behöver fler eller färre resultat, justera pagineringslogiken genom att ta bort sida 3 eller lägga till fler sidor (med en extra väntan och ett extra anrop). Vanliga anpassningar är att lägga till en kolumn ”Search Query” för spårbarhet, lägga in en dedupe-kontroll innan du lägger till rader, eller förgrena utdata till ett CRM efter att arket skrivits.

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

Oftast handlar det om OAuth-åtkomst: det kopplade Google-kontot saknar redigeringsbehörighet till målfilen eller så har kalkylarket flyttats. Återanslut Google Sheets-uppgifter i n8n och verifiera sedan att documentId och sheetName matchar en riktig flik. Om kalkylarket ligger i en delad enhet kan behörigheter vara striktare, så dubbelkolla delningen. Och om du testar med ett helt nytt ark: lägg till exakt de kolumnrubriker du ska använda först, så att nya rader inte hamnar fel.

Vilken kapacitet har den här Maps Sheets leads-lösningen?

Den är byggd för att hämta upp till tre sidor per fråga, vilket ofta är runt 60 företag. På n8n Cloud Starter kan du köra ett bra antal körningar per månad för listbyggande; om du självhostar finns ingen körningsgräns, men du begränsas fortfarande av Google Places-kvot och hur aggressivt du anropar Place Details. Om du planerar hög volym: stryp loopen eller lägg in väntetider så att du inte slår i rate limits.

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

För hämtning över flera sidor plus berikning per objekt är n8n oftast en bättre lösning eftersom det hanterar förgrening (sidtokens), loopar och sammanslagning i ett och samma workflow utan att det blir en skör kedja av zaps. Det är också enklare att självhosta om du vill slippa överraskningar med användningsbaserad prissättning. Zapier eller Make kan fortfarande fungera om du håller det enkelt, som en sökning och en enda skrivning till Sheets. Om du ska välja, prata med en automationsexpert så kvalitetssäkrar vi ditt use case.

När detta väl rullar slutar listbyggande att vara ”ett projekt” och blir i stället en snabb inmatning du kan upprepa när du behöver nya leads. Workflowet tar hand om det repetitiva. Du sköter outreach.

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