Att kopiera och klistra in Google Maps-listningar i ett kalkylark känns enkelt de första fem raderna. Sedan dyker dubletter upp, telefonnummer saknas och du inser att du just brände en timme på en lista du fortfarande inte litar på.
Den här automationen för Maps-leads slår som hårdast när du gör outreach i stor skala. En marknadschef som försöker hålla pipelinen full känner det. Det gör också en byråägare som bygger leadlistor åt kunder, eller en grundare som säljer mellan möten.
Det här flödet hämtar företagsdata från Google Maps via Bright Data, väntar tills skrapningen faktiskt är klar och lägger sedan till korrekt formaterade rader i Google Sheets. Du får se vad det gör, vad du behöver och vilka resultat du kan förvänta dig.
Så fungerar den här automationen
Hela n8n-workflowet, från trigger till slutligt resultat:
n8n Workflow Template: Bright Data till Google Sheets: strukturerade Maps-leads
flowchart LR
subgraph sg0["Incoming Form Start Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>Incoming Form Start"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Initiate Data Harvest"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Poll Harvest Progress"]
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Harvest Ready", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Delay Before Recheck", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Confirm Records Present", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Retrieve Business Snapshot"]
n7@{ icon: "mdi:database", form: "rounded", label: "Append to Spreadsheet", pos: "b", h: 48 }
n4 --> n2
n5 --> n6
n6 --> n7
n3 --> n5
n3 --> n4
n2 --> n3
n1 --> n2
n0 --> n1
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n3,n5 decision
class n7 database
class n1,n2,n6 api
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n6 customIcon
Problemet: Google Maps-leads är stökiga att samla in
Att bygga en leadlista från Google Maps låter enkelt tills du försöker göra det konsekvent. Du söker, öppnar listningar, kopierar namnet, letar efter telefonnumret, tar adressen, klistrar in i ett ark och upprepar. Halva tiden är webbplatsfältet ett klick bort, och andra halvan är det gömt eller saknas. Efter ett tag blir din “snabba lista” ett kalkylark fullt av luckor, formateringsskillnader och tveksamma poster som du inte känner dig trygg med att mejla.
Friktionen byggs på. Här är var det oftast faller isär.
- Du lägger cirka 5 minuter per företag på att hoppa mellan flikar bara för att få med namn, telefon, adress och Maps-URL.
- Små misstag smyger sig in (fel siffra i telefonnumret, ofullständig adress), vilket leder till bortkastad outreach och obekväma uppföljningar.
- Listkvaliteten beror på vem som kopierade den dagen, så att skala till flera platser eller nischer blir snabbt kaotiskt.
- Även om du använder en skrapa måste du ändå passa den, eftersom du inte vet när datasetet är “klart” och säkert att exportera.
Lösningen: Bright Data → Google Sheets för leadinsamling
Det här workflowet gör leadinsamlingen till en enkel beställ-och-leverera-process. Du skickar in ett kort formulär med plats och nyckelord (till exempel “Austin” + “takläggare”). n8n skickar den begäran till Bright Data:s dataset-API, som startar en Google Maps-skrapning i bakgrunden. Sedan pollar workflowet Bright Data för status, väntar en minut om det inte är klart och kontrollerar igen tills snapshoten är färdig. När det finns poster hämtar det företagsresultaten och lägger till de viktigaste fälten direkt i ditt Google Sheet, så din lista är redo för outreach utan copy-paste-maraton.
Det börjar med en formulärinsändning, inte en krånglig setup. I mitten kör det en “vänta och kontrollera igen”-loop så att du inte hämtar tom data. I slutet blir Google Sheets din korrekta, centraliserade leadlista med telefonnummer, adresser och URL:er i konsekventa kolumner.
Det du får: automation vs. resultat
| Det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du bygger en lista med 50 “HVAC-entreprenörer” i en specifik stad. Manuellt, även om du ligger på cirka 5 minuter per listning för att få med namn, telefon, adress och URL, blir det ungefär 4 timmar fokuserat arbete (och det är sällan fokuserat). Med det här workflowet skickar du in formuläret på ungefär en minut, låter Bright Data köra, och väntar sedan på att snapshoten ska bli klar och att arket fylls på. Du granskar fortfarande arket, men det är oftast en snabb genomgång i stället för en eftermiddag av flikhoppande.
Det du behöver
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Bright Data för skrapning av Google Maps-dataset
- Google Sheets för att lagra leads för outreach
- Bright Data API-nyckel (hämta den i din Bright Data-dashboard)
Svårighetsgrad: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och bekräftar att dina Sheet-kolumner matchar workflowet.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett enkelt formulär sätter igång allt. Du skickar in en plats och ett nyckelord i formuläret “GMB” (workflödet trigger). Den inputen blir exakt den query som Bright Data använder för att starta insamlingen.
Bright Data triggas via API. n8n skickar en POST-begäran till Bright Data:s dataset-endpoint med dataset-ID och de outputfält du bryr dig om, inklusive telefonnummer och Maps-URL.
Det väntar tills snapshoten faktiskt är klar. Workflowet kontrollerar status, och om status inte är “ready” än pausar det i 1 minut och kontrollerar igen. Ärligt talat är det här skillnaden mellan “automation” och “automation du kan lita på”.
Resultaten läggs till i Google Sheets. Om det finns poster hämtar n8n snapshot-JSON och lägger till varje företag i ditt “GMB”-ark med en korrekt mappning för namn, adress, betyg, telefonnummer och URL.
Du kan enkelt justera outputkolumnerna för att fånga extra fält som antal recensioner eller erbjudna tjänster utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera formulärtriggern
Det här arbetsflödet startar när en användare skickar in ett formulär och fångar plats- och sökordsinmatningarna som behövs för skördeförfrågan.
- Lägg till noden Incoming Form Start som din trigger.
- Ställ in Form Title på
GMB. - I Form Fields lägger ni till obligatoriska fält med etiketterna Location och keywords.
- Koppla Incoming Form Start till Initiate Data Harvest.
Steg 2: Koppla Bright Data API-anropen
Dessa HTTP-anrop startar dataset-skörden, pollar status och hämtar den slutliga snapshoten när den är klar.
- Konfigurera Initiate Data Harvest med Method satt till
POSToch URL satt tillhttps://api.brightdata.com/datasets/v3/trigger. - Ställ in JSON Body till det angivna uttrycket och säkerställ att indatafälten refererar till formulärvärdena:
{{ $json.Location }}och{{ $json.keywords }}. - I Initiate Data Harvest ställer ni in query-parametrar:
dataset_id=gd_m8ebnr0q2qlklc02fz,include_errors=true,type=discover_new,discover_by=location,limit_per_input=2. - Ställ in headern Authorization till
Bearer [CONFIGURE_YOUR_TOKEN](ersätt med er Bright Data API-token). - Konfigurera Poll Harvest Progress med URL satt till
=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}och samma Authorization-header. - Konfigurera Retrieve Business Snapshot med URL satt till
=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}och samma Authorization-header. - Koppla Initiate Data Harvest → Poll Harvest Progress → Validate Harvest Ready.
[CONFIGURE_YOUR_TOKEN] i alla tre HTTP-noder.Steg 3: Sätt upp validering av skörd och väntelogik
Dessa IF- och Wait-noder styr polling-loopen tills datasetet är klart och innehåller poster.
- I Validate Harvest Ready ställer ni in villkoret att kontrollera att Left Value
={{ $json.status }}är lika medready. - Koppla utgången true från Validate Harvest Ready till Confirm Records Present.
- Koppla utgången false från Validate Harvest Ready till Delay Before Recheck, och sedan till Poll Harvest Progress (detta skapar omkontroll-loopen).
- I Delay Before Recheck ställer ni in Unit till
minutesoch Amount till1. - I Confirm Records Present ställer ni in villkoret att kontrollera att Left Value
={{ $json.records }}inte är lika med={{ 0 }}. - Koppla Confirm Records Present till Retrieve Business Snapshot.
Steg 4: Konfigurera utdata till Google Sheets
När en snapshot har hämtats lägger arbetsflödet till nyckelfält i ert kalkylark.
- Lägg till noden Append to Spreadsheet och ställ in Operation till
append. - Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter.
- Ställ in Document ID till
[YOUR_ID]och välj bladet som heterGMB. - Mappa kolumner till snapshot-fälten: URL →
={{ $json.url }}, Name →={{ $json.name }}, Rating →={{ $json.rating }}, Address →={{ $json.address }}, Phone Number →={{ $json.phone_number }}. - Koppla Retrieve Business Snapshot → Append to Spreadsheet.
Steg 5: Testa och aktivera ert arbetsflöde
Verifiera datapipelinen från start till mål innan ni slår på den för produktionsanvändning.
- Klicka på Execute Workflow och skicka in formuläret Incoming Form Start med ett verkligt värde för Location och keywords.
- Bekräfta att Initiate Data Harvest returnerar ett
snapshot_idoch att Poll Harvest Progress till slut visarreadyi{{$json.status}}. - Verifiera att Append to Spreadsheet lägger till en ny rad med URL, Name, Rating, Address och Phone Number i ert Google Sheet.
- När allt är bekräftat, slå på arbetsflödet Active för att aktivera kontinuerlig användning.
Vanliga fallgropar
- Bright Data-inloggningsuppgifter kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera din Bright Data API-nyckel i Bright Data-dashboarden och bekräfta att den är aktiv.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Google Sheets-åtkomst fallerar ofta för att fel Google-konto är anslutet eller att fliknamnet inte matchar. Bekräfta att fliken heter “GMB” och autentisera om dina Google Sheets-uppgifter i n8n.
Vanliga frågor
Cirka 30 minuter om du redan har åtkomst till Bright Data och Google Sheets.
Nej. Du klistrar in en API-nyckel, kopplar Google Sheets och väljer rätt flik i arket.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för Bright Data dataset-användning enligt din Bright Data-plan.
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änsat antal körningar men kräver grundläggande serveradministration.
Ja, men du vill göra det på två ställen. Först lägger du till fältet i Bright Data-begärans custom_output_fields (HTTP-begäran “Initiate Data Harvest”). Sedan mappar du det nya fältet i ditt Google Sheets-steg “Append to Spreadsheet” genom att lägga till en kolumn i arket och koppla den i noden. Vanliga anpassningar är reviews_count, open_website och permanently_closed.
Oftast beror det på en ogiltig eller utgången API-nyckel. Uppdatera Authorization-headern i dina Bright Data HTTP Request-noder och kör en testinsändning igen. Om triggern returnerar ett snapshot_id men statuskontrollerna misslyckas, bekräfta att din Bright Data-plan har åtkomst till dataset-ID:t som används i workflowet. Rate limits kan också dyka upp om du kör många sökningar back-to-back.
Många, men den verkliga gränsen är din n8n-körningskvot och dina Bright Data dataset-gränser. På n8n Cloud Starter får du ett månadsvis tak för körningar, medan self-hosting inte har någon fast gräns (det beror på din server). Det här specifika workflowet är som standard konfigurerat med en låg gräns per input, så du höjer den inställningen när du är redo att skala.
För det här use caset är n8n oftast en bättre match eftersom polling-loopar (kontrollera status, vänta, försök igen) är enkla att bygga och inte blir dyra snabbt. Du får också mer kontroll över HTTP-begäran till Bright Data, vilket spelar roll när du behöver headers, dataset-ID:n och anpassade outputfält. Zapier och Make kan fortfarande fungera, men flerstegspolling blir ofta en skör kedja av timers. Om du bara behöver ett enkelt “skicka data till ett ark”-flöde kan de kännas snabbare i början. Prata med en automationsexpert om du vill ha hjälp att välja.
När detta väl rullar slutar leadinsamling vara ett projekt. Det blir en repeterbar input som landar som ett korrekt formaterat ark du faktiskt kan använda.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.