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

Google Maps till Google Sheets: leads att pitcha

Rickard Andersson Partner, Nodenordic.se

Att kopiera företag från Google Maps till ett kalkylark låter enkelt – tills du gör det i en timme och inser att du bara har fångat 20 leads, hälften saknar telefonnummer och du måste fortfarande ta bort dubbletter.

Byråägare känner igen det här när en kund ber om ”bara 200 lokala leads till i morgon”. En säljare som försöker nå dagliga kontaktmål går in i samma vägg. Och om du ansvarar för marknadsföring för ett lokalt tjänsteföretag är automatisering av Google Maps-leads skillnaden mellan ”vi gör outreach i veckan” och ”vi gjorde outreach i dag”.

Det här arbetsflödet skrapar Google Maps med BrowserAct, lägger in strukturerade rader i Google Sheets och pingar dig i Telegram så fort nya leads landar. Du får se hur det fungerar, vad du behöver och vad du ska se upp med innan du kör det i större skala.

Så här fungerar automatiseringen

Hela n8n-arbetsflödet, från trigger till slutresultat:

n8n Workflow Template: Google Maps till Google Sheets: leads att pitcha

Problemet: att skrapa leads från Google Maps är långsamt och rörigt

Manuell prospektering i Google Maps är förvånansvärt dyr. Du börjar med goda intentioner, men snart hoppar du mellan flikar, kopierar företagsnamn, försöker fånga webbplatser, gissar kategorier och klistrar in allt i ett ark som snabbt blir kaos. Sedan kommer dubbletterna, eftersom samma företag dyker upp i flera sökningar – eller så tog du det förra veckan och glömde. Värst av allt: när din lista väl är ”klar” kan konkurrenterna redan ha mejlat de bästa prospekten.

Friktionen byggs på, särskilt när du upprepar det varje vecka.

  • Varje sökpass blir en timmes copy-paste, och du måste fortfarande städa arket efteråt.
  • Dubbletter smyger sig in snabbt, så outreach blir obekvämt (“Mejlade du inte oss i går?”).
  • Det är svårt att jobba konsekvent mellan teammedlemmar, vilket gör att lead-kvaliteten varierar från dag till dag.
  • Du får ingen notis när listan är klar, så skrapningen blir färdig och ingen agerar på den.

Lösningen: skrapa Maps, skriv till Sheets, få en avisering

Det här n8n-arbetsflödet gör Google Maps-sökning till ett repeterbart system för att fånga leads. Du kör det manuellt när du vill ha en ny batch prospekt, anger plats och företagskategori och låter BrowserAct sköta skrapningen. När skrapningen är klar parsar arbetsflödet resultatet till enskilda företag och skriver in dem i Google Sheets. Det matchar också leads mot kolumnen ”Name”, så att du uppdaterar befintliga rader i stället för att skapa dubbletter. Till sist skickar det ett Telegram-meddelande med det nya leadets detaljer, så nästa steg är självklart: öppna arket och starta outreach.

Arbetsflödet börjar med dina sökkriterier (plats, kategori och hur många leads som ska hämtas). Sedan kör BrowserAct och arbetsflödet väntar tills uppgiften är klar. När resultatet har parsats blir Google Sheets din strukturerade källa till sanning och Telegram blir din realtidsavisering om att ”nya leads är klara”.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du behöver 100 takläggare i en specifik förort. Manuellt kan du lägga cirka 2 minuter per företag på att öppna profiler, kopiera namn, webbplats och telefonnummer och klistra in i Sheets – vilket blir ungefär 3 timmar för listan. Med det här arbetsflödet lägger du cirka 5 minuter på att ange plats och kategori, och väntar sedan medan BrowserAct skrapar och n8n skriver allt till Google Sheets. Du får en Telegram-avisering när det är klart, och ditt ”arbete” blir outreach, inte datainmatning.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • BrowserAct för att skrapa sökresultat från Google Maps.
  • Google Sheets för att lagra leads och ta bort dubbletter.
  • Telegram-bottoken (hämta den via BotFather i Telegram).

Kunskapsnivå: Medel. Du kopplar konton, lägger in en API-nyckel och redigerar några fält som plats och kategori.

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 behöver leads. Det här arbetsflödet startas manuellt, vilket är praktiskt när du bygger listor på beställning för en kampanj, en ny kund eller ett nytt område.

BrowserAct kör skrapningen i Google Maps. Du ställer in Location, Bussines_Category och antal leads att hämta i den första BrowserAct-noden. Sedan övervakar en andra BrowserAct-nod jobbet och väntar tills uppgiften är helt klar.

Råutdata städas upp till användbara rader. Ett kodsteg parsar JSON-strängen som kommer tillbaka från skraparen och delar upp den i enskilda objekt, ett per företag, så att Sheets kan hantera det snyggt.

Google Sheets blir din levande lead-databas. Varje företag läggs till eller uppdateras genom matchning på ”Name” för att minska dubbletter. När arket är uppdaterat skickar Telegram ett meddelande med de nya lead-detaljerna.

Du kan enkelt justera sökkriterierna (plats, kategori och volym) för att passa olika nischer eller städer utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.

Steg-för-steg-implementeringsguide

Steg 1: Konfigurera den manuella triggern

Det här arbetsflödet startar med en manuell körning, startar sedan en scraping-uppgift och följer den tills den är klar.

  1. Lägg till och öppna Manual Execution Start för att bekräfta att den är startpunkten.
  2. Koppla Manual Execution Start till Launch Scrape Task så att det matchar körflödet.

Tips: Flowpast Branding är en post-it för enbart dokumentation och påverkar inte körningen.

Steg 2: Anslut BrowserAct och starta scrapingen

Dessa noder startar scraping-jobbet och väntar tills det är klart innan resultaten parsas.

  1. Öppna Launch Scrape Task och ställ in Workflow ID till [YOUR_ID].
  2. I Launch Scrape TaskInput Parameters, behåll eller uppdatera: Location = Brooklyn, Bussines_Category = Baby Care, Extracted_Data = 15.
  3. Autentisering krävs: Anslut era browserActApi-uppgifter i Launch Scrape Task.
  4. Öppna Monitor Task Status och ställ in Task ID till ={{ $json.id }}.
  5. Ställ in Operation till getTask, Max Wait Time till 600, Wait For Finish till true och Polling Interval till 30.
  6. Autentisering krävs: Anslut era browserActApi-uppgifter i Monitor Task Status.

⚠️ Vanlig fallgrop: Om Launch Scrape Task inte returnerar ett id kommer Monitor Task Status att misslyckas eftersom ={{ $json.id }} blir tomt.

Steg 3: Sätt upp datatolkning

Parsningen konverterar scraperns JSON-strängutdata till enskilda objekt för uppdateringar i sheet och aviseringar.

  1. Öppna Parse Scrape Output och klistra in den medföljande JavaScript-koden exakt som den visas i arbetsflödet.
  2. Säkerställ att skriptet läser $input.first().json.output.string och returnerar en array med objekt med return outputItems;.
  3. Bekräfta kopplingen från Monitor Task Status till Parse Scrape Output.

⚠️ Vanlig fallgrop: Om $input.first().json.output.string saknas kastar koden ett fel och stoppar arbetsflödet.

Steg 4: Konfigurera utdataåtgärder

Dessa steg uppdaterar Google Sheets och skickar en Telegram-sammanfattning för varje parsad lead.

  1. Öppna Update Spreadsheet Rows och ställ in Operation till appendOrUpdate.
  2. Ställ in Document till Test For BrowserAct och Sheet till Google Maps Local Lead Finder.
  3. Mappa kolumner i Update Spreadsheet Rows till uttrycken: Url = {{ $json.Url }}, Name = {{ $json.Name }}, Phone = {{ $json.Phone }}, Rating = {{ $json.Rating }}, Address = {{ $json.Address }}, Category = {{ $json.Category}}, LastSummary = {{ $json.LastSummary }}.
  4. Autentisering krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Update Spreadsheet Rows.
  5. Öppna Dispatch Telegram Alert och ställ in Chat ID till [YOUR_ID].
  6. Ställ in Text till flerradsuttrycket: ={{ $('Parse Scrape Output').item.json.Name }} {{ $('Parse Scrape Output').item.json.Address }} {{ $('Parse Scrape Output').item.json.LastSummary }} {{ $('Parse Scrape Output').item.json.Rating }} {{ $('Parse Scrape Output').item.json.Url }} {{ $('Parse Scrape Output').item.json.Category }}.
  7. Autentisering krävs: Anslut era telegramApi-uppgifter i Dispatch Telegram Alert.

Tips: Update Spreadsheet Rows använder Matching ColumnsName, så dubbletter uppdateras i stället för att läggas till.

Steg 5: Testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att bekräfta att stegen för scraping, parsning, sheet-uppdatering och avisering fungerar hela vägen.

  1. Klicka på Execute Workflow i Manual Execution Start för att starta en manuell testkörning.
  2. Verifiera att Monitor Task Status slutförs och att Parse Scrape Output returnerar flera objekt.
  3. Kontrollera Update Spreadsheet Rows för att bekräfta att rader läggs till eller uppdateras i mål-sheetet.
  4. Bekräfta att ett Telegram-meddelande skickas av Dispatch Telegram Alert med lead-detaljer.
  5. När ni är nöjda, växla arbetsflödets status till Active för att använda det i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • BrowserAct-inloggningar kan gå ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först din BrowserAct API-nyckel och åtkomst till arbetsflöde/mall i BrowserAct-dashboarden.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
  • Standardantaganden i parsningen kan vara känsliga när Google Maps-layouten ändras. Om steget ”Parse Scrape Output” börjar ge saknade fält, granska rå JSON-utdata och justera koden så den matchar den nya strukturen.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för Google Maps-leads?

Cirka 30 minuter om dina konton är redo.

Behöver jag kunna koda för att automatisera Google Maps-leads?

Nej. Du kopplar främst BrowserAct, Google Sheets och Telegram och redigerar sedan fälten för plats/kategori.

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

Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in BrowserActs användningskostnader baserat på hur många leads du skrapar.

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

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.

Kan jag anpassa det här arbetsflödet för Google Maps-leads för flera städer?

Ja, men du vill planera det. De flesta duplicerar arbetsflödet och ändrar Location och Bussines_Category i inställningen ”Launch Scrape Task”, och skriver sedan till separata flikar (eller separata Sheets) per stad. Du kan också loopa igenom en kort lista av städer genom att mata items till BrowserActs launch-steg, men börja enkelt först. Om du ändrar logiken för avdubblettering, håll matchkolumnen i ”Update Spreadsheet Rows” konsekvent så att din databas förblir felfri.

Varför misslyckas min BrowserAct-anslutning i det här arbetsflödet?

Oftast är det en utgången eller felaktig API-nyckel, så skapa en ny i BrowserAct och uppdatera autentiseringsuppgiften i n8n. Det kan också vara att du saknar behörighet till mallen ”Google Maps Local Lead Finder”, eller att körningen blockeras för att du har nått BrowserAct-gränser. Om skrapningen startar men aldrig blir klar, kontrollera task-statusutdata i noden ”Monitor Task Status” och bekräfta att den når 100 %.

Hur många leads klarar den här automatiseringen för Google Maps-leads?

I praktiken kan du bekvämt hämta några hundra leads per körning och sedan upprepa körningar vid behov. På n8n Cloud beror din månatliga gräns för körningar på plan (Starter är för lättare volymer, Pro hanterar mer). Om du self-hostar finns ingen körningsgräns, men din server och BrowserActs användningsgränser spelar fortfarande roll. För stabilitet börjar de flesta team med batchar på cirka 100 till 300 leads per skrapning och skalar upp när arkmallen sitter.

Är den här automatiseringen för Google Maps-leads bättre än att använda Zapier eller Make?

För just det här use caset är n8n oftast bättre, eftersom den svåra delen inte är att flytta data från A till B, utan att hantera en skrapningskörning, vänta på att den blir klar, parsa JSON och avdubblettera i Sheets. Zapier och Make kan lösa delar av det, men arbetsflödet blir dyrt och klumpigt när du lägger till förgreningar, batchning och kodbaserad parsning. n8n ger dig också self-hosting-alternativet, vilket är en stor grej när du kör leadgen regelbundet. Om du bara behöver en enkel automatisering som ”ny rad i Sheets till Slack” fungerar Zapier eller Make fint. Prata med en automationsexpert om du vill ha hjälp att välja.

När detta väl rullar blir leadinsamling en knapp du klickar på, inte en syssla du bävar inför. Arbetsflödet tar hand om det repetitiva. Du tar hand om säljet.

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