Du skrapar äntligen en färsk Google Maps-lista … och sedan försvinner de nästa timmarna på att städa den, leta upp e-postadresser och försöka komma ihåg vem du redan har kontaktat.
Den här Apify Airtable leads-automationen träffar marknadsförare först, men säljare och byråoperatörer känner av den lika mycket. Du får en strukturerad prospekttabell i Airtable (namn, adress, webbplats, telefon, e-post) och ett outreach-mejl skickat automatiskt via Gmail.
Nedan ser du exakt vad workflowet gör, vad du behöver för att köra det och hur mycket tid du realistiskt kan få tillbaka varje vecka.
Så här fungerar den här automationen
Hela n8n-workflowet, från trigger till slutresultat:
n8n Workflow Template: Apify till Airtable: rensade Google Maps-leads
flowchart LR
subgraph sg0["Manual Workflow Execution 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Business Data from Goo.."]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Clean Google Maps Data", pos: "b", h: 48 }
n2@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Workflow Execution", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Iterate Through Each Busines..", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract Only Website URLs", pos: "b", h: 48 }
n5["<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/>Fetch Raw HTML Content from .."]
n6@{ icon: "mdi:robot", form: "rounded", label: "Extract Business Email from ..", pos: "b", h: 48 }
n7["<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/airtable.svg' width='40' height='40' /></div><br/>Save Cleaned Lead Data into .."]
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message", pos: "b", h: 48 }
n1 --> n3
n4 --> n5
n2 --> n0
n7 --> n8
n3 --> n4
n0 --> n1
n5 --> n6
n6 --> n7
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 n2 trigger
class n6 ai
class n7 database
class n0,n5 api
classDef customIcon fill:none,stroke:none
class n0,n5,n7 customIcon
Problemet: Google Maps-leads är röriga (och långsamma att använda)
Att skrapa Google Maps är den enkla delen. Det irriterande är det som händer efteråt: hälften av raderna är inkonsekventa, webbplatser saknas eller är trasiga, och det enda fältet du faktiskt behöver (en användbar e-postadress) finns nästan aldrig tillgängligt i korrekt formaterat skick. Så du öppnar 30 flikar, klickar på ”Kontakt”-sidor, scrollar sidfötter, kopierar adresser, klistrar in dem i ett ark och hoppas att du inte råkade plocka en generisk no-reply-adress. Det är repetitivt arbete, men det kräver ändå fokus, vilket gör att det känns ännu mer tidskrävande.
Det eskalerar snabbt. Här är hur det brukar falla isär i verkligheten.
- Du slösar cirka 5 minuter per lead bara på att göra rådata till något som teamet faktiskt kan använda.
- Listor blir ”nästan klara” och blir aldrig kontaktade eftersom städningen blir ett eget miniprojekt.
- E-postgissningar (eller att hoppa över e-post helt) ger låg svarsfrekvens och mer manuell uppföljning senare.
- Utan en strukturerad databas som Airtable är det svårt att undvika dubbletter eller spåra vem som kontaktats.
Lösningen: skrapa, rensa, berika, lagra och mejla (automatiskt)
Det här workflowet tar dig från ”rå Google Maps-skrapning” till ”leads redo att kontakta” utan det vanliga kalkylbladskaoset. Du triggar det i n8n, det anropar Apifys Google Maps-extractor via HTTP för att hämta företagslistningar för ditt sökord och din plats, och normaliserar sedan fälten till ett konsekvent format. Därefter bearbetar det varje företag i batchar, besöker företagets webbplats och använder en OpenAI-chattmodell för att extrahera en relevant kontakt-e-post från HTML:en. Slutligen skapar det en korrekt formaterad post i Airtable med nyckelfälten (titel, adress, webbplats, telefon, e-post, Maps-URL) och skickar ett personligt outreach-mejl via Gmail med hjälp av datan du precis lagrade.
Workflowet startar med en Apify-skrapning för en nisch och en plats (till exempel ”mäklarbyrå” i Paris). Därifrån rensar n8n posterna, loopar igenom webbplatser säkert i batchar och ber AI:t att endast returnera den bästa e-postadressen (eller ”Null” om ingen finns). Airtable blir din sanningskälla och Gmail sköter första kontakten automatiskt.
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 skrapar 50 ”mäklarbyråer i Paris”. Manuellt, om du lägger cirka 3 minuter på att rensa varje rad och ytterligare 5 minuter på att hitta en e-postadress på webbplatsen, är det ungefär 6 till 7 timmar av pill innan du ens kan börja kontakta. Med det här workflowet triggar du körningen en gång och låter den batcha igenom de 50 sajterna och lagra resultaten i Airtable; du lägger mest tid på att granska den slutliga tabellen, kanske 20 minuter, och bara stickprovskolla ”Null”-adresser. Det är nästan en hel arbetsdag tillbaka, på en liten lista.
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 skrapa Google Maps-listningar.
- Airtable för att lagra och hantera leads.
- Gmail för att skicka personliga outreach-mejl via OAuth.
- OpenAI API-nyckel (hämta den från OpenAI-dashboardens sida för API keys).
Kunskapsnivå: Medel. Du kopplar konton, mappar några fält och testkör med små batchar.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du triggar en skrapkörning. I n8n startar du manuellt, vilket sätter igång flödet och skickar en request till Apifys Google Maps-extractor med ditt sökord, din plats och antal resultat.
Rå leaddata rensas. n8n normaliserar output så att varje lead får samma kärnfält (titel, adress, webbplats, telefon, URL), vilket håller Airtable prydligt och förutsägbart.
Webbplatser bearbetas i batchar. Workflowet loopar igenom leads (batchstorleken är konfigurerbar), laddar varje webbplats HTML och ber sedan OpenAI-chattmodellen att endast returnera den bästa kontakt-e-postadressen eller ”Null”. Ärligt talat är det här delen som tar bort mest mental belastning.
Leads lagras och outreach skickas. Varje berikat lead sparas i Airtable och därefter skickar Gmail ett mejl med fält från Airtable så att ämnesrad och brödtext kan inkludera företagsnamn, webbplats, telefon och Maps-länken.
Du kan enkelt ändra Apify-sökningen (bransch, stad, filter) så att den matchar din nisch. 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 startas manuellt så att ni kan testa lead-scraping vid behov.
- Lägg till noden Manual Start Trigger som startpunkt.
- Behåll standardinställningarna, eftersom den inte kräver någon konfiguration.
- Bekräfta att anslutningen går från Manual Start Trigger till Retrieve Maps Leads via Apify.
Steg 2: anslut Apify och normalisera leaddata
Hämta Google Maps-leads och standardisera fält för vidare bearbetning.
- I Retrieve Maps Leads via Apify, ställ in URL till
https://api.apify.com/v2/acts/compass~crawler-google-places/run-sync-get-dataset-items?token=[CONFIGURE_YOUR_TOKEN]. - Ställ in Method till
POSToch Body till JSON med den befintliga payloaden (t.ex."locationQuery": "Paris, France"och"searchStringsArray": ["centre de formation"]). - I Normalize Maps Records, mappa fält med de befintliga uttrycken, till exempel Nom du centre de formation →
{{ $json.title }}och Site internet →{{ $json.website }}. - Bekräfta flödet från Retrieve Maps Leads via Apify → Normalize Maps Records → Batch Process Contacts.
[CONFIGURE_YOUR_TOKEN] med er riktiga token innan ni testar.Steg 3: batcha, extrahera webbplatser och hämta HTML
Bearbeta leads i batcher och hämta varje webbplats HTML för att hitta e-postadresser.
- I Batch Process Contacts, ställ in Batch Size till
10. - I Isolate Website Links, ställ in Site internet till
{{ $json['Site internet'] }}för att isolera URL:en. - I Grab Website HTML, ställ in URL till
{{ $json['Site internet'] }}för att hämta webbplatsens innehåll. - Säkerställ att körvägen Isolate Website Links → Grab Website HTML → Derive Contact Email AI är ansluten.
Steg 4: konfigurera AI-extraktion av e-post
Använd AI-modellen för att extrahera den bästa kontaktadressen från webbplatsens HTML.
- Öppna Derive Contact Email AI och bekräfta att modellen är inställd på
gpt-4.1-mini. - Verifiera att prompten inkluderar HTML via
{{ $json.data }}och instruerar modellen att endast returnera e-postadressen ellerNull. - Credential Required: Anslut era openAiApi-uppgifter.
Steg 5: konfigurera lagring i Airtable och Gmail-utskick
Lagra berikade leads i Airtable och skicka outreach-mejl via Gmail.
- I Store Leads in Airtable, välj er Airtable Base och Table (just nu platshållare
[YOUR_ID]). - Mappa fält med de befintliga uttrycken, till exempel Email →
{{ $json.message.content }}och URL →{{ $('Normalize Maps Records').item.json.URL }}. - Credential Required: Anslut era airtableTokenApi-uppgifter.
- I Dispatch Gmail Outreach, ställ in To till
{{ $json.fields.Email }}och Subject till{{ $json.fields.Title }}. - Bekräfta att Message använder mallen:
Company name: {{ $json.fields.Title }} Website URL: {{ $json.fields.Website }} Phone number: {{ $json.fields["Phone Number"] }} Google Maps: {{ $json.fields.URL }} vbnet email is now **fully personalized** and based on clear, structured information. - Credential Required: Anslut era gmailOAuth2-uppgifter.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera varje steg, och aktivera sedan för produktionsanvändning.
- Klicka på Execute Workflow på Manual Start Trigger för att köra ett test.
- Bekräfta att Retrieve Maps Leads via Apify returnerar poster och att Normalize Maps Records outputar strukturerade fält.
- Kontrollera att Derive Contact Email AI returnerar en enda e-postadress eller
Nulloch att Store Leads in Airtable skapar poster. - Verifiera att Dispatch Gmail Outreach skickar mejl till de extraherade adresserna.
- När ni är nöjda, slå på arbetsflödet till Active för produktionsanvändning.
Vanliga fallgropar
- Apify-credentials kan löpa ut eller så använder du fel API-endpoint. Om det fallerar, börja med att kontrollera dina inställningar för Apify actor run och dataset-endpoint-URL:en du klistrade in i HTTP Request-noden.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att sitta och redigera outputs i all evighet.
Vanliga frågor
Cirka 45 minuter om dina Apify-, Airtable- och Gmail-konton är klara.
Ingen kodning krävs. Du klistrar främst in en Apify-endpoint, kopplar konton och mappar Airtable-fält en gång.
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 volymer. Du behöver också räkna in OpenAI API-användning, vilket normalt landar på några dollar för typiska lead-batchar.
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.
Ja, och det är huvudskälet till att workflowet skalar. Ändra sökord, plats och antal resultat i HTTP Request-payloaden för ”Retrieve Maps Leads via Apify”, och behåll resten som det är. Vanliga justeringar är att filtrera till endast företag med webbplats, sänka batchstorleken när sajter är långsamma och redigera Gmail-malltexten så att den matchar ditt erbjudande.
Oftast handlar det om en ogiltig token eller fel Apify-endpoint. Kopiera URL:en för ”run actor synchronously and get dataset items” på nytt från Apify och bekräfta sedan att din HTTP Request-nod skickar JSON i body. Håll också koll på rate limits eller actor-inställningar som kan ge tomma datasets när filtren är för strikta.
Praktiskt sett fungerar hundratals per körning bra, så länge du batchar. Om du self-hostar n8n beror körvolymen på din server; på n8n Cloud beror taket på din plan. Begränsningen är oftast hämtning av webbplatser och AI-anrop, så börja med 50 och skala upp när prompt och batchning beter sig som de ska.
Ofta, ja, eftersom flödet behöver batchning, loopar och lite villkorslogik. Zapier och Make kan göra delar av det, men kedjan ”besök webbplatsens HTML, extrahera en e-postadress, lagra den och skicka outreach” blir dyr och pillig när volymen växer. n8n ger dig också self-hosting, vilket spelar roll när du vill köra stora skrapningar utan att räkna varje task. Om du bara behöver ”Apify-resultat in i en tabell” fungerar enklare verktyg fint. Om du vill ha hela pipelinen är n8n ett renare val. Prata med en automationsexpert om du vill ha en snabb rekommendation för din exakta setup.
När detta väl rullar slutar din ”leadlista” vara en stökig export och blir ett system du kan lita på. Sätt upp det, kör det när du behöver nya prospekt och gå tillbaka till jobbet som faktiskt stänger affärer.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.