Domänutskick låter enkelt tills du faktiskt gör det. Du slutar med att jaga mejladresser, kopiera anteckningar till ett kalkylark, skriva ”personliga” meddelanden som inte är särskilt personliga och sedan tappa bort vilka du redan kontaktat.
Det är här automatisering av Sheets Gmail outreach lönar sig. Det slår hårdast mot domäninvesterare, men marknadsförare som kör nischade erbjudanden och konsulter som säljer en-till-många-tjänster hamnar i samma slit. Du försöker skicka rätt mejl till rätt person utan att lägga hela eftermiddagen på det.
Det här arbetsflödet tar en domän du vill sälja och gör om den till en leadlista, berikning, mejlutkast, utskick och en strukturerad logg i Google Sheets. Du får se vad som automatiseras, vad du behöver för att köra det och vad du ska se upp med.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + Gmail: domänoutreach åt dig
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:database", form: "rounded", label: "Google Sheets", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Remove Duplicates", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Remove Duplicates2", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", 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/>HTTP Request1"]
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items1", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
n9@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items4", pos: "b", h: 48 }
n11["<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/>get website with Jina.ai"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If1", pos: "b", h: 48 }
n13@{ icon: "mdi:message-outline", form: "rounded", label: "Gmail1", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Generate Email content", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Wait2", pos: "b", h: 48 }
n16["<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/code.svg' width='40' height='40' /></div><br/>Code6"]
n17@{ icon: "mdi:robot", form: "rounded", label: "Generate queries", pos: "b", h: 48 }
n18["<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/code.svg' width='40' height='40' /></div><br/>fomate queries"]
n19@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over queries", pos: "b", h: 48 }
n20["<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/>Gmail search"]
n21["<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/code.svg' width='40' height='40' /></div><br/>Extract Urls"]
n22@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter urls", pos: "b", h: 48 }
n23@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If url is not empty", pos: "b", h: 48 }
n24["<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/code.svg' width='40' height='40' /></div><br/>Extract Domain Name"]
n25["<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/code.svg' width='40' height='40' /></div><br/>Extract Emails"]
n26["<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/code.svg' width='40' height='40' /></div><br/>Limit Markdown"]
n12 --> n10
n12 --> n26
n16 --> n15
n8 --> n20
n15 --> n10
n13 --> n0
n4 --> n3
n3 --> n2
n22 --> n23
n21 --> n22
n20 --> n21
n0 --> n16
n6 --> n5
n25 --> n7
n26 --> n14
n18 --> n19
n5 --> n7
n5 --> n6
n17 --> n18
n7 --> n4
n7 --> n25
n10 --> n19
n10 --> n24
n19 --> n8
n1 --> n5
n2 --> n10
n24 --> n11
n23 --> n1
n23 --> n19
n14 --> n13
n11 --> n12
n9 --> n17
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 n9 trigger
class n14,n17 ai
class n12,n22,n23 decision
class n0 database
class n6,n11,n20 api
class n16,n18,n21,n24,n25,n26 code
classDef customIcon fill:none,stroke:none
class n6,n11,n16,n18,n20,n21,n24,n25,n26 customIcon
Problemet: domänutskick blir ett oändligt adminjobb
När du säljer en domän (eller pitchar ett nischerbjudande kopplat till en domän) behöver du volym och relevans samtidigt. Det är fällan. Du kan skrapa fram en massa slumpmässiga mejladresser snabbt, visst, men då spammar du och bränner ditt rykte. Eller så gör du det ”på riktigt” manuellt: leta efter sannolika köpare, besöka sajter, hitta kontaktpersoner, skriva anpassade mejl och spåra allt. Den noggranna vägen äter lätt upp flera timmar per domän och är tröttande på ett sätt som gör att kvaliteten faller redan vid mejl nummer 15.
Det skenar snabbt. Här är var det oftast går snett.
- Lead-research studsar mellan Google Maps, webbplatser, LinkedIn och kalkylark, vilket gör att du tappar sammanhang varje gång du byter flik.
- Mejlutvinning är inkonsekvent eftersom olika sajter gömmer kontaktinfo på olika ställen (och ”info@” är inte alltid rätt person).
- Personalisering blir oftast ”Hej {FirstName}”, eftersom att göra riktig research för 50–100 prospekt är mycket jobb.
- Spårning av skickade mejl och uppföljningar blir rörig, så du skickar dubbelt eller missar varma leads helt.
Lösningen: förvandla en domän till leads, mejl och en utskickslogg
Det här n8n-flödet (kallat en ”Domain Outbound Machine”) börjar med en enda input: domänen du vill sälja. Därifrån genererar det en stor uppsättning Google Maps-sökfrågor som matchar domänens nisch, och går sedan igenom frågorna för att samla in relevanta URL:er. Det hämtar innehållet från dessa sajter, extraherar mejladresser och filtrerar bort dubbletter så att du inte fortsätter kontakta samma prospekt. Därefter berikar det det som hittats med publikt tillgängliga signaler (sajt-innehåll och annan data hämtad via requests), och använder sedan AI för att skriva ett meddelande som matchar leadet och positionerar domänen som relevant för deras verksamhet. Till sist skickar Gmail mejlet och Google Sheets uppdaterar din spårningslogg, så att du har en strukturerad historik för uppföljningar.
Flödet startar med en manuell trigger (du kör det när du är redo). Sedan går det igenom skapande av sökfrågor, insamling av URL:er, hämtning och parsning av webbplatser, extrahering av mejl och AI-skrivna utskick. Gmail skickar och Google Sheets blir din källa till sanningen.
Det du får: automatisering vs. resultat
| Det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du vill sälja en domän och siktar på 100 outreach-mejl. Manuellt kanske du lägger cirka 5 minuter på att hitta ett bra lead och ytterligare 5 minuter på att hitta en kontakt och skriva ett ”anpassat” meddelande, alltså runt 15 timmar totalt innan du ens trycker på skicka. Med det här flödet matar du in domänen, låter det generera 100 Google Maps-frågor, skrapa och extrahera mejl, och sedan skickar Gmail medan Google Sheets loggar allt. Du granskar fortfarande resultat, men det blir närmare en timmes övervakning plus körtid som sker i bakgrunden.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för leadlistan och utskicksloggen
- Gmail för att skicka outreach och uppföljningar
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard)
Svårighetsnivå: Medel. Du kopplar konton, sätter upp credentials och redigerar prompts och kalkylarkskolumner utan problem.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du kör det med en domän som input. Flödet startar från en manuell trigger, så att du kan dra i gång en kampanj när du har en domän redo att pitcha.
AI skapar din sökprofil. Med en OpenAI-nod genererar det en stor uppsättning Google Maps-liknande sökfrågor baserat på domänens nisch och formaterar sedan listan så att n8n kan loopa igenom den i batcher.
Det hittar sajter och plockar sedan kontaktmejl. HTTP-requests samlar in URL-resultat, och flödet filtrerar och deduplicerar dem. Därefter hämtar det webbplatsinnehåll (via Jina-hämtning) och kör kodsteg som extraherar mejladresser, rensar upp dem och tar bort upprepningar.
Personligt anpassade utskick skickas och loggas. En annan OpenAI-nod skriver ett mejl baserat på lead-kontexten, Gmail skickar det och Google Sheets uppdaterar ditt kalkylark så att du vet exakt vad som hände och när.
Du kan enkelt ändra mejlvinkeln och filtreringsreglerna för att matcha din nisch, så att du inte fastnar i att pitcha varje domän på samma sätt. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera den manuella triggern
Det här arbetsflödet startar manuellt, så att ni kan validera resultat innan ni kör det i produktion.
- Lägg till triggern Manual Execution Start på er canvas.
- Koppla Manual Execution Start till Create Search Queries för att starta pipeline-flödet.
- Klicka på Execute Workflow under testning för att generera initialt query-resultat.
Steg 2: Anslut Google Sheets
Resultaten skrivs tillbaka till ett kalkylark efter att e-postmeddelanden har skickats.
- Lägg till noden Update Spreadsheet för den slutliga uppdateringen av utdata.
- Inloggning krävs: Anslut era Google Sheets-inloggningsuppgifter i Update Spreadsheet.
- Verifiera att Update Spreadsheet är kopplad efter Send Gmail Message och före Transform Script.
⚠️ Vanlig fallgrop: Om Google Sheets-inloggningen saknas i Update Spreadsheet kommer arbetsflödet att misslyckas när det försöker skriva tillbaka resultaten till arket.
Steg 3: Konfigurera AI-bearbetning
Två OpenAI-noder genererar sökfrågor och den slutliga e-posttexten.
- Öppna Create Search Queries och konfigurera den för att skapa era sökprompter.
- Öppna Generate Email Text och konfigurera den för att generera text för outreach-mejl.
- Inloggning krävs: Anslut era OpenAI-inloggningsuppgifter i Create Search Queries.
- Inloggning krävs: Anslut era OpenAI-inloggningsuppgifter i Generate Email Text.
Håll prompterna konsekventa i både Create Search Queries och Generate Email Text för att bibehålla tonläget i all outreach.
Steg 4: Konfigurera datainsamling och batchning
Det här steget bygger sökfrågor, hämtar URL:er och batchar innehåll för extraktion.
- Säkerställ att Create Search Queries flödar in i Format Query List och därefter in i Iterate Query Batches.
- Bekräfta att Iterate Query Batches använder sin loop för att trigga Delay Step, sedan Gmail Search Request, och fortsätter till Parse URL List.
- Ställ in filtreringsvägen: Parse URL List → Filter URL Records → Check URL Presence → Deduplicate Records.
- Notera batchbeteendet: Batch Iterator matar ut till både Batch Iterator 2 och External API Request parallellt.
- Bekräfta ytterligare parallell batchning: Batch Iterator 2 matar ut till både Aggregate Data och Extract Email Addresses parallellt.
- Säkerställ att domänberikning följer Derive Domain Name → Fetch Site via Jina → Conditional Branch, och att Conditional Branch routar antingen till Trim Markdown Content eller tillbaka till Batch Iterator 3.
- Eftersom det finns flera code-noder (totalt 6), granska Format Query List, Parse URL List, Derive Domain Name, Extract Email Addresses, Trim Markdown Content och Transform Script tillsammans för att validera datatransformationer från start till mål.
⚠️ Vanlig fallgrop: Om Iterate Query Batches inte loopas korrekt kan arbetsflödet stanna efter första batchen. Verifiera att den är kopplad till Delay Step på den andra utgången.
Steg 5: Konfigurera e-postutskick och uppdateringar
När innehållet har trimmats och e-posttexten har genererats skickar arbetsflödet meddelanden och uppdaterar ert ark.
- Säkerställ att Trim Markdown Content matar in i Generate Email Text och därefter i Send Gmail Message.
- Inloggning krävs: Anslut era Gmail-inloggningsuppgifter i Send Gmail Message.
- Bekräfta att Send Gmail Message matar ut till Update Spreadsheet och därefter till Transform Script och Delay Step 2.
- Verifiera att arbetsflödesloopen fortsätter via Delay Step 2 → Batch Iterator 3 för nästa batch av outreach.
Steg 6: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta skapande av sökfrågor, URL-tolkning, e-postgenerering och uppdateringar i kalkylarket.
- Klicka på Execute Workflow och granska utdata från Create Search Queries och Format Query List.
- Verifiera att Gmail Search Request och Parse URL List producerar en giltig URL-lista och att Check URL Presence routar korrekt.
- Bekräfta att Generate Email Text matar ut ett färdigt meddelande och att Send Gmail Message skickar utan fel.
- Kontrollera ert kalkylark för uppdateringar som skrivits av Update Spreadsheet efter ett utskick.
- När allt är validerat, växla arbetsflödet till Active för att köra i produktion.
Vanliga fallgropar
- Google Sheets-credentials kan gå ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera n8n-skärmen Credentials och bekräfta först att kalkylarket är delat med det anslutna Google-kontot.
- 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 redigera output i all oändlighet.
Vanliga frågor
Räkna med cirka en timme om dina Google- och OpenAI-credentials är klara.
Nej. Du kopplar främst konton och redigerar några få prompter och fält. Flödet innehåller redan färdiga kodsteg; du förväntas inte skriva dem från grunden.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod i n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-användning, vilket oftast är några cent per batch beroende på hur mycket text du genererar.
Två alternativ: n8n Cloud (hanterat, enklast att komma i gång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och klarar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är ärligt talat ett av de bästa användningsområdena för den här setupen. Du behåller delarna för lead-upptäckt och extrahering och justerar sedan prompten för ”Create Search Queries” och prompten för ”Generate Email Text” så att de matchar ditt erbjudande. Vanliga justeringar är att byta nischnyckelord, skärpa URL-filtren så att du bara riktar dig mot vissa typer av företag och uppdatera kalkylarkskolumnerna för att spåra pipeline-steg (svarat, intresserad, bokat samtal).
Oftast beror det på utgången Google-autentisering i n8n eller att Gmail-scope inte har beviljats. Anslut om Gmail-credentialen och bekräfta sedan att avsändarkontot är det du tänkt använda för outreach. Om det fortfarande fallerar, kontrollera sändgränser på Gmail-kontot (nyare konton når gränser snabbare) och sänk batch-tempo med de befintliga Wait-noderna.
Många, men dina verkliga begränsningar är mejlets sändtak och hur aggressiv din batchning är.
För just det här flödet passar n8n bättre eftersom det är byggt för flerstegslogik: batchning, deduplicering, villkorsgrenar och att blanda HTTP-skrapning med AI-generering i en och samma körning. Zapier och Make kan göra delar av det, men när du lägger till loopar över 100 sökfrågor, URL-filtrering och beteendet ”vänta och fortsätt” blir det dyrt eller klumpigt. En annan praktisk punkt: self-hosted n8n låter dig köra hög volym utan att betala per task. Nackdelen är uppsättningsarbete. Om du bara vill ha ”skicka ett mejl när en rad läggs till” funkar Zapier eller Make. Om du vill ha hela maskinen, håll dig till n8n, eller prata med en automationsexpert för att välja snabbt.
När detta väl rullar slutar outreach att vara ett projekt. Det blir ett repeterbart system du kan starta när du har en domän att sälja (eller en lista du vill bygga).
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.