Leadgenerering låter enkelt tills du sitter med en rörig lista, halva telefonnumren saknas och teamet fortfarande copy-pastar in i en dialer. Då blir den “snabba outreach-sprinten” en vecka av tråkjobb och inkonsekvent uppföljning.
Den här Sheets Vapi-automationen träffar säljteam först, men byråoperatörer och lokala serviceföretag känner av den också. Du får samtalsklara leads hämtade från Google Maps, utgående AI-samtal som triggas automatiskt och en snygg Google Sheets-logg som du faktiskt kan jobba ifrån.
Nedan ser du hur workflowet körs, vad det ersätter och vad du kan justera så att samtalen matchar din pitch i stället för att låta generiska.
Så fungerar den här automationen
Se hur det här löser problemet:
n8n Workflow Template: Google Sheets + Vapi: samtalsklara leads, loggade
flowchart LR
subgraph sg0["Start Workflow Manually Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Start Workflow Manually", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Get Search Keywords from Goo..", pos: "b", h: 48 }
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/>Scrape Google Map Businesses.."]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Each Business Result", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract Business Name, Phone..", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Valid Phone Numbers O..", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Format Phone Number for Call..", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Initiate Vapi AI Call to Bus.."]
n8@{ icon: "mdi:database", form: "rounded", label: "Log Called Business Info to ..", pos: "b", h: 48 }
n0 --> n1
n3 --> n4
n5 --> n6
n6 --> n7
n7 --> n8
n1 --> n2
n4 --> n5
n2 --> n3
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 n5 decision
class n1,n8 database
class n2,n7 api
classDef customIcon fill:none,stroke:none
class n2,n7 customIcon
Utmaningen: att omvandla skrapade leads till riktig outreach
Att skrapa Google Maps-listningar är enkelt. Att göra den råa datan till outreach du kan lita på är delen som i tysthet äter upp din vecka. En person hämtar en lista, någon annan försöker rensa den, sedan börjar en säljare ringa och inser att halva numren är fel formaterade eller saknas. Samtidigt kan ingen svara på den grundläggande frågan: “Vem kontaktade vi, och vad hände?” Den mentala belastningen är värre än själva knappandet. Du hoppar mellan flikar, försöker förhindra dubbla samtal och jagar anteckningar som borde ha loggats automatiskt.
Det blir snabbt mycket. Här är var det oftast faller isär när du försöker köra det här i volym.
- Du får “leads” utan telefonnummer, vilket innebär bortkastad tid och falska förhoppningar.
- Telefonformat varierar kraftigt, så uppringningen misslyckas eller så behöver säljare rätta nummer manuellt för varje samtal.
- Outreach sker i ett verktyg och uppföljning i ett annat, så uppföljning blir gissningslek.
- Så fort du försöker skala bortom en liten batch börjar rate limits och inkonsekvent loggning skapa luckor.
Lösningen: Google Maps-leads → Vapi-samtal → Sheets-spårning
Det här workflowet gör en enkel Google Sheet med sökfraser (som “plumbers in Austin”) till samtalsklara leads och utgående outreach, med varje samtal snyggt loggat. Du startar det manuellt när du vill köra en batch. n8n hämtar dina sökfrågor från Google Sheets, skickar varje fråga till Dumpling AI:s endpoint för Google Maps-skrapning och delar sedan upp svaret i enskilda företag. Därifrån extraherar den användbara fält (företagsnamn, webbplats, telefonnummer), filtrerar bort ofullständiga poster och normaliserar telefonnumret så att Vapi kan ringa det pålitligt. Till sist triggar workflowet ett utgående Vapi AI-samtal för varje giltigt lead och lägger till företagsuppgifterna i en loggflik i Google Sheets för spårning och uppföljning.
Workflowet börjar med sökfraser lagrade i Google Sheets. Dumpling AI returnerar Google Maps-listningsdata, som blir rensad och validerad i n8n. När telefonnumret är formaterat (inklusive +1 för uppringning i USA) genomför Vapi samtalet och Google Sheets blir din single source of truth för vad som kontaktats.
Vad som förändras: före vs. efter
| Det här eliminerar | Effekt du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du kör 10 sökfraser och att varje fras ger cirka 20 företag. Manuellt skulle du lägga kanske 5 minuter per företag på att kopiera detaljer, rätta telefonnummer och förbereda en ringlista, vilket blir ungefär 15 timmar tråkjobb för en batch på 200 leads. Med det här workflowet startar du körningen, väntar på att Dumpling AI ska returnera listningar och låter Vapi hantera samtalen medan n8n loggar resultat till Sheets. Din “hands-on”-tid sjunker till cirka 30 minuter, plus den tid du lägger på att granska sheeten och göra uppföljning.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för sökfraser och samtalsloggning.
- Dumpling AI för att skrapa Google Maps företagslistningar.
- Vapi för att ringa AI-drivna utgående samtal.
- Dumpling AI API-nyckel (hämta den från din Dumpling AI-dashboard).
- Vapi API-nyckel + assistantId + phoneNumberId (hämta dem från dina Vapi-kontoinställningar och assistent-setup).
Svårighetsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och redigerar en JSON-payload för Vapi-samtalet.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Workflow-flödet
En manuell start kickar igång batchen. Du klickar på kör när du är redo, vilket är praktiskt för kontrollerade tester eller “kör varje fredag”-hämtningar av leads innan du schemalägger något.
Google Sheets står för målgruppsstyrningen. n8n läser dina sökfraser från en flik i Sheet (tänk: bransch + stad) och skickar sedan varje fras till Dumpling AI via en HTTP-request.
Dumpling AI returnerar listningar och n8n rensar dem. Resultaten delas upp i enskilda företag, nyckeldetaljer extraheras, telefonnummer valideras och uppringningsformatet normaliseras för Vapi (det här workflowet antar USA-nummer med +1).
Vapi sköter outreach och Sheets blir loggen. Varje giltigt lead triggar ett utgående AI-samtal via Vapi, och sedan lägger workflowet till företagsnamn, telefonnummer och webbplats i din “leads”-flik så att teamet har en strukturerad uppföljningslista.
Du kan enkelt ändra sökfraserna och filterlogiken för att rikta in dig på smalare nischer, eller för att hoppa över kategorier du inte vill ha. 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 startar vid behov så att ni kan testa och köra outreach-batcher manuellt.
- Lägg till och öppna Manual Launch Trigger.
- Behåll standardinställningarna för att köra arbetsflödet manuellt från editorn.
Steg 2: Anslut Google Sheets
Sökfraser och samtalsloggar lagras i Google Sheets.
- Öppna Retrieve Search Phrases och välj arket med era söktermer.
- Ställ in Document på mål-kalkylarket (t.ex. det cachade namnet
leads) och Sheet påSheet1om det är där era URL:er/frågor finns. - Autentisering krävs: Anslut era
googleSheetsOAuth2Api-credentials i Retrieve Search Phrases. - Öppna Append Call Log Sheet och ställ in Document och Sheet till målet för er samtalslogg (ersätt
[YOUR_ID]med ert faktiska sheet-ID). - Säkerställ att mappningen för Columns matchar rubrikerna i arket:
company name,phone numberochwebsite. - Autentisering krävs: Anslut era
googleSheetsOAuth2Api-credentials i Append Call Log Sheet.
Steg 3: Sätt upp noderna för API-hämtning och mappning
Dessa noder hämtar kartlistningar från Dumpling AI, delar upp resultaten och mappar företagsfält.
- Öppna Fetch Map Listings via API och ställ in URL till
https://app.dumplingai.com/api/v1/search-mapsmed Method somPOST. - Ställ in JSON Body till
={ "query":"{{ $json.URLs }}", "language": "en" }. - Autentisering krävs: Anslut era
httpHeaderAuth-credentials i Fetch Map Listings via API. - I Divide Listing Results ställer ni in Field to Split Out till
places. - Öppna Map Business Details och mappa fälten med uttryck: website →
{{ $json.website }}, phoneNumber →{{ $json.phoneNumber }}och title →{{ $json.title }}.
Steg 4: Konfigurera validering och normalisering av telefonnummer
Det här steget filtrerar bort poster utan telefonnummer och formaterar numren för uppringning.
- Öppna Validate Phone Records och behåll villkoret: phoneNumber
existsmed{{ $json.phoneNumber }}. - I Normalize Dial Numbers ställer ni in formattedPhone till
{{ '+1' + $json["phoneNumber"].replace(/\D/g, '') }}för att säkerställa ett amerikanskt uppringningsformat.
'+1' i Normalize Dial Numbers så att det matchar er landskod.Steg 5: Konfigurera outreach-samtalet och loggningen
Arbetsflödet startar AI-samtalet och lägger till varje samtal i ert loggark.
- Öppna Start AI Call Outreach och behåll URL inställd på
https://api.vapi.ai/callmed MethodPOST. - Ställ in JSON Body till
={ "customers": [ { "number": "{{ $json.formattedPhone}}", "name": "" } ], "assistantId": "", "phoneNumberId": "", "assistantOverrides": { "variableValues": { "Name": "{{ $('Validate Phone Records').item.json.title }}", } } }och fyll i assistantId och phoneNumberId med era Vapi-ID:n. - Autentisering krävs: Anslut era
httpHeaderAuth-credentials i Start AI Call Outreach. - I Append Call Log Sheet bekräftar ni att fältmappningarna använder:
{{ $('Map Business Details').item.json.website }},{{ $('Map Business Details').item.json.title }}och{{ $('Normalize Dial Numbers').item.json.formattedPhone }}.
Steg 6: Lägg till felhantering
Det här arbetsflödet fortsätter även om samtals-API:t misslyckas så att efterföljande loggning kan genomföras.
- Öppna Start AI Call Outreach och bekräfta att On Error är inställt på att fortsätta (det är konfigurerat med
continueErrorOutput). - Lägg vid behov till en separat loggningsgren senare om ni vill fånga upp misslyckade samtal i ett annat ark.
Steg 7: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera dataflödet från sökfraser till samtalsloggar.
- Klicka på Execute Workflow från Manual Launch Trigger för att testa en körning.
- Bekräfta att Fetch Map Listings via API returnerar data och att Divide Listing Results matar ut enskilda platser.
- Verifiera att Append Call Log Sheet lägger till en rad med webbplats, företagsnamn och formaterat telefonnummer.
- När allt är validerat, slå på arbetsflödet till Active för användning i produktion.
Se upp med
- Google Sheets-åtkomst kan fallera om det anslutna Google-kontot tappar behörigheter eller om fliknamnet ändras. Om rader plötsligt slutar laddas eller läggas till, kontrollera först credential-kopplingen och exakt sheet-/fliknamn.
- Om du använder batching eller externa API:er under belastning varierar processtider. Höj väntetider och/eller batchstorlek om efterföljande steg kör innan Dumpling AI-svaren är fullt tillgängliga.
- Vapi-samtal låter “okej” direkt, men generiska. Ärligt talat vill du uppdatera assistentens manus tidigt så att det matchar ditt erbjudande, dina compliance-krav och den ton din marknad svarar på.
Vanliga frågor
Cirka en timme om dina API-nycklar och Sheets är redo.
Ja, men någon behöver vara bekväm med att klistra in API-nycklar och redigera ett par fält. När allt är kopplat handlar körningen i princip om att klicka på “execute” och granska loggen.
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 volym. Du behöver också räkna in Dumpling AI- och Vapi-kostnader baserat på hur många sökningar och samtal du kör.
Två alternativ: n8n Cloud (hanterat, enklast setup) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Du kan byta sökfraserna i Google Sheets-steget “Retrieve Search Phrases” för att rikta in dig på andra nischer och platser, och sedan skärpa filtreringen i “Validate Phone Records” så att bara de leads du vill ha blir uppringda. Om du ringer utanför USA, uppdatera steget “Normalize Dial Numbers” så att det inte automatiskt lägger till +1. De flesta team anpassar också Vapi request-payloaden i “Start AI Call Outreach” så att den matchar deras assistantId, phoneNumberId och exakt den öppningsreplik de vill använda.
Oftast beror det på en utgången API-nyckel eller fel assistantId/phoneNumberId i payloaden för utgående samtal. Dubbelkolla Vapi-credentials i n8n och bekräfta sedan att ID:n i din Vapi-dashboard matchar det du klistrade in. Om du trycker ut stora batcher kan rate limits också orsaka intermittenta fel, så testa mindre splits eller långsammare körningar.
Om du kör n8n self-hosted finns inget hårt tak för antal körningar; din server och Dumpling AI/Vapi-gränserna blir de verkliga flaskhalsarna.
För det här användningsfallet brukar n8n passa bättre eftersom du gör bearbetning i flera steg, filtrering, batching och HTTP-requests i ett och samma workflow utan att betala extra för förgreningar. Steget för telefonrensning och lead-validering är också lättare att styra när du inte är låst i en rigid “zap”-struktur. Zapier eller Make kan fortfarande fungera om flödet är litet, men du kommer sannolikt känna friktion när du lägger till lead-filtrering och strukturerad loggning. Om du vill ha hjälp att välja, prata med en automationsexpert så kan du sanity-checka din setup innan du investerar tid.
När detta väl rullar börjar din outreach med en strukturerad lista och slutar med en strukturerad logg. Workflowet tar hand om de repetitiva delarna så att teamet kan fokusera på samtalen och uppföljningen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.