Din outreach-process är förmodligen inte “svår”. Den är bara irriterande skör. En dålig export, en rörig CSV-kolumn, en stressad personalisering – och plötsligt sitter du med studsade mejl, arga svar och ett kalkylark fullt av halvbrukbara leads.
Den här Apify Gmail outreach-setupen riktar sig till byråägare som kör kampanjer åt kunder, men founders och marknadsansvariga som prospekterar själva känner igen sig också. Du samlar in riktade leads, rensar och strukturerar dem automatiskt och skickar sedan personaliserade mejl i ett kontrollerat tempo som inte ser ut som spam.
Nedan är den exakta workflow-logiken, vad den automatiserar och vilka resultat du kan förvänta dig när den kör i n8n.
Så fungerar automatiseringen
Hela n8n-workflowet, från trigger till slutresultat:
n8n Workflow Template: Apify till Google Sheets: rensade leads för Gmail
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0@{ icon: "mdi:database", form: "rounded", label: "Add to Google Sheet", pos: "b", h: 48 }
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/form.svg' width='40' height='40' /></div><br/>On form submission"]
n2@{ icon: "mdi:robot", form: "rounded", label: "Apollo URL Generator", pos: "b", h: 48 }
n3["<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/>Run Apify"]
n4@{ icon: "mdi:cog", form: "rounded", label: "Limit", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Parse Lead Data", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items1", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "No Operation, do nothing", pos: "b", h: 48 }
n11@{ icon: "mdi:message-outline", form: "rounded", label: "message confirming end of work", pos: "b", h: 48 }
n12@{ icon: "mdi:message-outline", form: "rounded", label: "Sending cold email", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Creating a email", pos: "b", h: 48 }
n15@{ icon: "mdi:database", form: "rounded", label: "Leads without email", pos: "b", h: 48 }
n16@{ icon: "mdi:brain", form: "rounded", label: "Parse Data module", pos: "b", h: 48 }
n17@{ icon: "mdi:brain", form: "rounded", label: "LINK PASER", pos: "b", h: 48 }
n7 --> n15
n7 --> n0
n9 --> n8
n4 --> n6
n3 --> n4
n17 -.-> n2
n6 --> n7
n14 --> n8
n8 --> n11
n8 --> n12
n16 -.-> n6
n1 --> n2
n12 --> n9
n0 --> n14
n2 --> n3
n5 -.-> n6
n11 --> n10
end
subgraph sg1["Flow 2"]
direction LR
n13@{ icon: "mdi:message-outline", form: "rounded", label: "Sending cold email Gmail", pos: "b", h: 48 }
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 n1 trigger
class n2,n5,n6,n14 ai
class n16,n17 aiModel
class n7 decision
class n0,n15 database
class n3 api
classDef customIcon fill:none,stroke:none
class n1,n3 customIcon
Problemet: leadlistor är röriga och outreach är riskfyllt
Leadgen-verktyg kan hitta namn hela dagen. Problemet är allt som händer efteråt. Du drar ut en lista och lägger sedan en timme på att städa kolumner, jaga saknade mejladresser och försöka förstå vem som faktiskt är värd att kontakta. Sen kommer den värsta delen: att skriva “personliga” mejl som ändå låter som mallar eftersom du har bråttom. Skickar du för snabbt får leveransbarheten en smäll. Går du för långsamt torkar pipelinen ut. Det är en konstant avvägning – och ärligt talat blir man less.
Friktionen växer, särskilt när du försöker skala bortom en liten batch.
- Exporterade leads kommer sällan i den struktur som ditt CRM eller kalkylark behöver, så du får göra städjobbet för hand.
- Vissa kontakter saknar mejladress, och att blanda dem i din “sändlista” skapar kaos senare.
- Personalisering blir copy-paste-teater, vilket innebär fler ändringar och mer tvekan.
- Att skicka för många mejl för snabbt kan trigga spamfilter och skada din domäns rykte.
Lösningen: Apify hittar leads, Sheets organiserar, AI personaliserar, Gmail skickar säkert
Det här workflowet gör lead sourcing och outreach till ett repeterbart system. Det börjar med ett enkelt formulär där du definierar vem du vill nå: jobbtitel, företagsstorlek, nyckelord och plats. Utifrån det genererar OpenAI en korrekt formaterad Apollo-sök-URL och en Apify Actor hämtar matchande kontakter och bolag. Workflowet begränsar antalet poster per körning (så du inte råkar bränna igenom en enorm lista), och använder sedan AI igen för att tolka rå lead-data till konsekventa fält som namn, titel, LinkedIn, företag och mejl. Leads med mejladresser hamnar i ditt primära Google Sheet och i flödet för mejlutkast, medan leads utan mejladress skrivs till ett separat sheet för enrichment senare.
Därefter skapar OpenAI en personaliserad version av din fasta mejlmall för varje lead. Till sist skickar n8n mejlen en och en via en loop med en Wait-fördröjning mellan varje, och skickar sedan en “kampanj klar”-bekräftelse när batchen är färdig.
Det du får: automatisering vs. resultat
| Det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du vill kontakta 5 nya leads per körning (workflowets inbyggda tak) och att du kör det var 10:e minut under ett prospekteringsblock. Manuellt kan det lätt ta runt 45 minuter att hitta 5 leads, rensa fält, dela upp kontakter utan mejl och skriva 5 vettiga mejl. Med det här workflowet lägger du ungefär 2 minuter på att fylla i formuläret, och väntar sedan på Apify + AI-bearbetningen och utskicket i kontrollerat tempo. Hands-on-arbetet sjunker till några minuter, och du behåller fortfarande säkerheten i att “skicka långsamt” som skyddar leveransbarheten.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Apify för att hämta riktade leads via en Actor
- Google Sheets för lead-lagring och routing
- OpenAI API-nyckel (hämta den från OpenAI-dashboarden)
Kunskapsnivå: Medel. Du kopplar credentials, väljer rätt Sheets och justerar gränser och väntetider på ett säkert sätt.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så funkar det
Formulärintaget startar körningen. Du fyller i dina targeting-detaljer (jobbtitel, företagsstorlek, nyckelord, plats), vilket gör att listbyggandet blir konsekvent i teamet.
AI gör din intention till en riktig sökning. Workflowet använder en OpenAI-modell för att generera en Apollo-sök-URL från formulärinput, och använder sedan en HTTP-request för att köra en Apify Actor mot det målet.
Leads rensas och struktureras. Ytterligare ett AI-steg tolkar resultaten till användbara fält (namn, mejl, titel, LinkedIn, företag, länkar) och skapar även en kort sammanfattning så att du ser varför leadet är relevant.
Sheets och utskick routas automatiskt. Leads med mejladresser läggs till i ditt primära Google Sheet, blir till personaliserad outreach-text och skickas sedan via Gmail (eller SMTP) med en loop och en Wait-fördröjning mellan utskick. Leads utan mejl går till ett separat sheet för enrichment senare.
Du kan enkelt ändra taket för antal poster och fördröjningen mellan utskick utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera formulärtriggern
Starta arbetsflödet genom att fånga upp nya leaddetaljer från det inbäddade formuläret.
- Lägg till och öppna Form Intake Trigger.
- Definiera formulärfälten som er uppsökande process behöver (t.ex. namn, företag, webbplats, e-post).
- Kopiera formulär-URL:en som genereras av Form Intake Trigger och bädda in den där leads ska skicka in data.
- Koppla Form Intake Trigger till Apollo Link Builder.
Steg 2: Anslut Google Sheets
Lagra och triagera leaddata med de två Sheets-noderna som fångar upp poster med lyckad e-post och poster där e-post saknas.
- Öppna Append to Sheets och välj mål-kalkylarket och fliken i arket för giltiga leadposter.
- Mappa fält från inkommande leaddata till de kolumner ni vill lagra.
- Öppna Leads Missing Email och välj kalkylark/flik där ni loggar leads utan e-post.
- Koppla Conditional Gate till båda Sheets-noderna enligt arbetsflödet.
- Credential Required: Anslut era Google Sheets-inloggningsuppgifter i både Append to Sheets och Leads Missing Email.
Steg 3: Sätt upp AI-bearbetning och lead-berikning
Konfigurera AI- och berikningskedjan som bygger Apollo-länkar, skrapar data, tolkar resultat och skriver utkast till uppsökande text.
- Öppna Apollo Link Builder och konfigurera prompten så att den genererar rätt Apollo-söklänk eller fråga för leadet.
- Öppna Link Parsing Model och välj den OpenAI-modell ni vill använda för länk-generering och parsning.
- Koppla Link Parsing Model till Apollo Link Builder som dess språkmodell (redan kopplat i arbetsflödet).
- Öppna Execute Apify Request och ställ in Apify-endpoint, HTTP-metod och auktoriseringsheaders som krävs av er Apify-actor.
- Öppna Cap Record Count och ange en maximal postgräns för att styra hur många leads som behandlas per körning.
- Öppna Interpret Lead Details och verifiera att den använder Chat Data Parser som språkmodell och Structured Result Parser som output-parser.
- Öppna Draft Outreach Email och konfigurera prompten och meddelandeformatet för det slutliga uppsökande e-postmeddelandet.
- Credential Required: Anslut era OpenAI-inloggningsuppgifter i Link Parsing Model, Chat Data Parser och Draft Outreach Email.
Steg 4: Konfigurera utdata och e-postleverans
Routa leads genom den villkorliga grindnoden, skicka uppsökande e-post i batchar och skicka färdignotiser.
- Öppna Conditional Gate och definiera regeln som avgör om ett lead saknar en e-postadress.
- Bekräfta att grenen där leads med saknad e-post går till Leads Missing Email, och att giltiga leads går till Append to Sheets.
- Verifiera att Append to Sheets matar vidare till Draft Outreach Email så att varje lagrat lead får ett e-postutkast.
- Öppna Batch Iterator och ange batchstorleken för att styra genomströmningen i utskicken.
- Batch Iterator matar ut till både Completion Notice Email och Dispatch Outreach Email parallellt.
- Öppna Dispatch Outreach Email och konfigurera mottagare, ämne och meddelandetext med hjälp av innehållet i e-postutkastet.
- Öppna Completion Notice Email och ställ in mottagaren för notisen när körningen är klar.
- Credential Required: Anslut era Gmail-inloggningsuppgifter i Completion Notice Email och Utility: Gmail Send.
- Credential Required: Anslut era SMTP-inloggningsuppgifter i Dispatch Outreach Email.
Steg 5: Konfigurera timing och loopkontroll
Begränsa takten i utskicken för att undvika rate limits och hålla loopen stabil.
- Öppna Pause Timer och ställ in önskad väntetid mellan utskick.
- Bekräfta att Dispatch Outreach Email matar vidare till Pause Timer för att upprätthålla fördröjningar.
- Säkerställ att Pause Timer matar tillbaka till Batch Iterator för att fortsätta batchningen.
- Lämna Idle Pass-Through som den är; den fungerar som en slutnod efter färdignotisen.
Steg 6: Testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att verifiera dataflödet från formulärinmatning till leverans av uppsökande e-post.
- Klicka på Execute Workflow och skicka in en testpost via formuläret i Form Intake Trigger.
- Bekräfta att Execute Apify Request returnerar leaddata och att Cap Record Count begränsar utdata som förväntat.
- Kontrollera Append to Sheets och Leads Missing Email för att säkerställa att den villkorliga routningen fungerar.
- Verifiera att Draft Outreach Email skapar ett utkast och att Dispatch Outreach Email skickar ett meddelande.
- Bekräfta att ett färdigmeddelande skickas av Completion Notice Email när batcharna är klara.
- När ni är nöjda, slå på arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Google-credentials kan löpa ut eller kräva specifika behörigheter. Om saker skapar fel, kontrollera statusen för Google-anslutningen i n8n Credentials och bekräfta att Sheets-scope är tillåtet.
- Om du använder Wait-noder eller extern bearbetning varierar exekveringstiderna. Öka väntetiden om efterföljande mejlsteg misslyckas eftersom de kör innan loopen är redo.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet i varumärket i prompten för “Draft Outreach Email” tidigt, annars kommer du ändå sitta och redigera varje meddelande.
Vanliga frågor
Cirka 30 minuter när dina nycklar och konton är klara.
Nej. Du kopplar främst credentials, väljer rätt Sheets och justerar postgränsen och Wait-fördröjningen.
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 OpenAI API-användning och din Apify-plan.
Två alternativ: n8n Cloud (managed, 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 exekveringar men kräver grundläggande serveradministration.
Ja, men du byter ut sändsteget. Ersätt den Gmail-baserade sändaren med en SMTP/Outlook-mejlnod i delen “Dispatch Outreach Email” i workflowet, och behåll sedan samma Loop- och Wait-logik. Vanliga justeringar är att byta avsändaridentitet, justera paustiden och routa svar till en delad inkorg.
Oftast är det bearer token. Generera en ny Apify API-token, uppdatera den i credentials eller headers i “Execute Apify Request” och bekräfta att Actor:n du anropar finns tillgänglig i ditt Apify-konto. Om det bara misslyckas ibland kan du slå i rate limits eller så returnerar källan inkonsekvent data, vilket gör att parsningen kan fallera på oväntade fält.
I praktiken kör de flesta små batchar (t.ex. 5 per körning) och upprepar enligt schema. På n8n Cloud Starter begränsas du av månatliga exekveringar; vid self-hosting finns inget exekveringstak, så det beror mest på din server och hastigheten i Apify + OpenAI-stegen. Om du vill köra högre volym, öka Limit-noden gradvis och håll Wait-fördröjningen konservativ så att leveransbarheten förblir bra.
Ofta, ja – eftersom det här workflowet bygger på förgreningar, loopar och utskick i kontrollerat tempo, och det blir dyrt eller klumpigt i många “enkel automations”-verktyg. n8n ger dig också tightare kontroll över hur data formas innan den hamnar i Google Sheets, vilket spelar roll när du separerar leads med mejl från leads utan mejl. Den andra stora faktorn är kostnad vid volym: self-hosting gör att du kan köra hur mycket du vill. Zapier eller Make kan fortfarande vinna om du bara behöver ett litet tvåstegsflöde och inte bryr dig om batch-logik. Prata med en automationsexpert om du vill ha en snabb rekommendation för ditt exakta use case.
Sätt upp det en gång och låt det sedan i bakgrunden hämta, rensa, skapa utkast och skicka medan du fokuserar på samtal och uppföljningar. Det är ärligt talat den delen som driver intäkter.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.