Din e-postlista ser bra ut. Tills du skickar. Då kommer studsarna, svaren uteblir och du börjar undra vilka leads som var riktiga och vilka som i tysthet förstörde ditt avsändarrykte.
Den här ZeroBounce Sheets-automationen slår hårdast när du är marknadschef och har press på dig att ”bara skicka kampanjen”. Men founders som kör slimmat och byråägare som jonglerar kundlistor känner samma motstånd. Du slutar gissa och börjar segmentera med förtroendenivåer du faktiskt kan använda.
Nedan ser du hur workflowet validerar e-postadresser i bulk, poängsätter leveranssäkerhet och styr varje adress till nivåerna Hög, Medel eller Låg i Google Sheets så att dina utskick håller sig korrekta.
Så fungerar den här automationslösningen
Hela n8n-workflowet, från trigger till slutresultat:
n8n Workflow Template: ZeroBounce + Google Sheets: rensade e-postnivåer
flowchart LR
subgraph sg0["When clicking ‘Execute workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Execute workf..", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Low score", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Not valid", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is valid?", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Sandbox emails", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter by score", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Medium score", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "High score", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Send file for validation", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Wait for validation file to ..", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Get validation results file", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Get validation file status", pos: "b", h: 48 }
n12@{ icon: "mdi:cog", form: "rounded", label: "Send file for scoring", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Get scoring file status", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Get scoring results file", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Wait for scoring file to pro..", 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/merge.svg' width='40' height='40' /></div><br/>Merge validation and scoring.."]
n17@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Scoring file status", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validation file status", pos: "b", h: 48 }
n19@{ icon: "mdi:cog", form: "rounded", label: "Validation results", pos: "b", h: 48 }
n20@{ icon: "mdi:location-exit", form: "rounded", label: "Bulk validation failed", pos: "b", h: 48 }
n21@{ icon: "mdi:location-exit", form: "rounded", label: "Bulk scoring failed", pos: "b", h: 48 }
n3 --> n12
n3 --> n19
n3 --> n2
n4 --> n8
n5 --> n7
n5 --> n6
n5 --> n1
n19 --> n16
n17 --> n14
n17 --> n15
n17 --> n21
n12 --> n15
n18 --> n10
n18 --> n9
n18 --> n20
n13 --> n17
n14 --> n16
n8 --> n9
n11 --> n18
n10 --> n3
n15 --> n13
n16 --> n5
n0 --> n4
n9 --> n11
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,n17,n18 decision
classDef customIcon fill:none,stroke:none
class n16 customIcon
Problemet: e-postlistor åldras snabbare än du tror
E-postvalidering är en av de där uppgifterna som alla håller med om är viktig, men som ingen har tid att göra ordentligt. Listor exporteras från CRM:er, skrapas från lead-verktyg, kopieras från eventanmälningar eller sys ihop från ”några källor”. En vecka senare sitter du med studsrappporter, varningar om spam traps och en kampanj som presterade sämre av skäl du inte kan isolera. Ännu värre: det manuella sättet är långsamt och inkonsekvent. En person filtrerar på ”ser legit ut”, en annan använder ett annat verktyg och ditt Google Sheet blir en röra som inte går att revidera.
Friktionen byggs på. Här är var det brukar falla i verkligheten:
- Du slutar med att skicka till riskabla ”giltiga” e-postadresser eftersom ingen har en förtroendepoäng att rimlighetskontrollera mot.
- Att rensa listor blir ett engångsprojekt, vilket gör att nästa import i tysthet återinför skräp.
- Manuella kontroller äter upp några timmar per kampanj, och du missar ändå spam traps och rollkonton.
- Målgruppsstyrningen blir slarvig eftersom du inte kan skilja ”redo för outreach” från ”hantera med försiktighet”.
Lösningen: validera, poängsätt och nivåindela leads automatiskt
Det här workflowet tar en batch med e-postadresser, skickar dem till ZeroBounce för validering och poängsätter sedan leveranssäkerheten med ZeroBounce A.I.-modell. Det väntar medan ZeroBounce bearbetar bulkjobbet (så att du slipper poll:a manuellt) och hämtar resultaten när de är klara. Därefter kombineras validering och poängsättning till en strukturerad dataset, vilket är där det blir praktiskt. Till sist styrs varje e-postadress till en förtroendenivå (Hög, Medel eller Låg) så att du kan skicka rätt segment till Google Sheets och göra dina utskick säkrare som standard.
Workflowet startar med en e-postlista i n8n (en exempeluppsättning ingår, men du kan byta till din riktiga källa). ZeroBounce kör först bulkvalidering och därefter bulkpoängsättning för de ”giltiga” adresserna. Sedan slår n8n ihop resultaten och sorterar varje post till rätt nivå så att ditt sheet blir kampanjklart i stället för ”kanske”.
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 importerar 1 000 nya leads varje vecka till ett Google Sheet för outreach. Att manuellt validera och avgöra vem som är ”säker att mejla” tar ofta runt 10 sekunder per lead när du räknar in kontroll, filtrering och märkning av nivåer, vilket blir nära 3 timmar per vecka. Med det här workflowet lägger du in listan en gång, väntar på att ZeroBounce bulkjobb blir klara (ofta runt 20–40 minuter beroende på volym) och får ett nivåindelat resultat. Det är ungefär 2 timmar tillbaka, varje vecka, och reglerna är konsekventa.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- ZeroBounce för bulkvalidering och A.I.-poängsättning
- Google Sheets för att lagra nivåindelade lead-resultat
- ZeroBounce API-nyckel (hämta den i din ZeroBounce-dashboard)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och mappar några fält till kolumnerna i ditt sheet.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En lista startar allt. I mallen börjar det med en manuell körning och en exempellista, men i praktiken kan du ersätta det med en radimport från Google Sheets, en webhook eller till och med ett Telegram-meddelande som lämnar in en CSV.
ZeroBounce validerar leveransstatus. Workflowet skickar in din batch till ZeroBounce, väntar medan den bearbetas och hämtar sedan valideringsresultaten och kontrollerar vilka e-postadresser som faktiskt går att använda jämfört med ogiltiga eller riskabla typer (som spam traps).
Endast rätt poster poängsätts. För e-postadresser som går igenom valideringen skickar workflowet in ett andra bulkjobb för A.I.-poängsättning (0 till 10). n8n fortsätter att poll:a tills poängjobbet är klart och hämtar sedan resultaten automatiskt.
Ditt resultat blir nivåer i Google Sheets. Validering och poängsättning kombineras till en dataset och därefter styr ett filter varje post till förtroendegrupperna Hög, Medel eller Låg så att ditt sheet visar outreach-prioritet, inte gissningar.
Du kan enkelt justera nivågränserna så att de matchar din risktolerans utifrån leveransmål. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den manuella triggern
Konfigurera arbetsflödets startpunkt så att ni kan köra e-postvalidering och poängsättning manuellt vid behov.
- Lägg till noden Manual Start Trigger som er trigger (ingen konfiguration krävs).
- Koppla Manual Start Trigger till Sample Email List för att starta arbetsflödet.
Steg 2: Anslut ZeroBounce för validering och poängsättning
Konfigurera ZeroBounce API-noderna som används för både validering och poängsättning. Det finns flera ZeroBounce-noder; anslut autentiseringsuppgifter till dem allihop.
- Öppna Submit Validation File och ställ in Operation på
sendFile. - Ställ in Return URL på
={{$execution.resumeUrl}}/zb-validationoch Send File Input Type påitems. - Mappa emails till
={{ $('Sample Email List').item.json.emails }}. - Autentiseringsuppgifter krävs: Anslut era zeroBounceApi-autentiseringsuppgifter i Submit Validation File.
- Autentiseringsuppgifter krävs: Anslut era zeroBounceApi-autentiseringsuppgifter i Retrieve Validation Results, Fetch Validation Status, Submit Scoring File, Fetch Scoring Status och Retrieve Scoring Results.
Steg 3: Definiera indata-e-postadresserna och valideringsloopen
Ladda e-postlistan, skicka den för validering och konfigurera loopen för statuspollning.
- I Sample Email List, ställ in Mode på
raw. - Klistra in era e-postadresser i JSON Output med den angivna strukturen (ersätt
[YOUR_EMAIL]-värdena). - Koppla Sample Email List → Submit Validation File → Await Validation Processing.
- Konfigurera Await Validation Processing med Resume satt till
webhook, HTTP Method tillPOSToch Resume Amount till5Minutes. - Ställ in Await Validation Processing Webhook Suffix på
zb-validation. - Från Await Validation Processing, koppla till Fetch Validation Status och sedan till Route Validation Status.
- I Fetch Validation Status, ställ in File ID på
={{ $('Submit Validation File').item.json.file_id }}och Operation påfileStatus. - I Route Validation Status, behåll de tre vägarna för Complete, Processing och Failed med uttrycket
={{ $json.file_status }}.
Validate Status? skickar utdata till både Submit Scoring File och Validation Output parallellt.
Steg 4: Konfigurera poängsättning och slå ihop resultaten
När valideringen är klar skickar ni giltiga poster för poängsättning och slår sedan ihop validerings- och poängsättningsresultaten.
- I Retrieve Validation Results, ställ in Operation på
getFile, File ID på={{ $json.file_id }}och Get File Output Type påfields. - Koppla Retrieve Validation Results → Validate Status?, som routar giltiga poster vidare.
- I Submit Scoring File, ställ in Resource på
scoringoch Operation påscoringSendFile. - Ställ in Return URL på
={{$execution.resumeUrl}}/zb-scoringoch mappa email_address till={{ $json.email_address }}. - Koppla Submit Scoring File → Await Scoring Processing → Fetch Scoring Status → Route Scoring Status.
- I Fetch Scoring Status, ställ in File ID på
={{ $('Submit Scoring File').item.json.file_id }}och Operation påscoringFileStatus. - I Retrieve Scoring Results, ställ in Operation på
scoringGetFileoch File ID på={{ $json.file_id }}. - Konfigurera Combine Validation & Scoring med Mode
combine, Join ModeenrichInput2och Fields to Matchemail_address.
Steg 5: Routa poäng till nivåer
Använd poängsättningsresultaten för att kategorisera varje e-postadress i grupper med hög, medel eller låg kvalitet.
- I Score Tier Filter, behåll Loose Type Validation aktiverat.
- Konfigurera regeln för hög poäng med Left Value
={{ $json.ZeroBounceQualityScore }}och Right Value9. - Konfigurera regeln för medelpoäng med Left Value
={{ $json.ZeroBounceQualityScore }}och Right Value3. - Konfigurera regeln för låg poäng med Left Value
={{ $json.ZeroBounceQualityScore }}och Right Value3med operatorn lt. - Koppla utdata till High Score Group, Medium Score Group och Low Score Group.
⚠️ Vanlig fallgrop: Säkerställ att poängsättningsutdata innehåller ZeroBounceQualityScore; om detta fält saknas kommer Score Tier Filter inte att routa poster korrekt.
Steg 6: Lägg till felhantering för batch-fel
Stoppa arbetsflödet och visa tydliga felmeddelanden när ZeroBounce-bearbetningen misslyckas.
- Från Route Validation Status, koppla utgången Failed till Validation Batch Error.
- Verifiera att Validation Batch Error har Error Message satt till
Bulk validation failed. - Från Route Scoring Status, koppla utgången Failed till Scoring Batch Error.
- Verifiera att Scoring Batch Error har Error Message satt till
Bulk scoring failed.
Steg 7: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta att validering, poängsättning och nivåindelning fungerar, och aktivera sedan arbetsflödet.
- Klicka på Execute Workflow i Manual Start Trigger för att köra ett test.
- Bekräfta att Await Validation Processing och Await Scoring Processing återupptas via webhook efter bearbetning.
- Kontrollera att Combine Validation & Scoring skapar sammanslagna poster och att Score Tier Filter routar poster till rätt grupp.
- Om fel uppstår, verifiera zeroBounceApi-autentiseringsuppgifterna och webhookarnas return-URL:er.
- När allt fungerar, slå på arbetsflödet Active för användning i produktion.
Vanliga fallgropar
- ZeroBounce-uppgifter kan gå ut eller klistras in fel. Om det skapar fel, kontrollera först ZeroBounce API-nyckeln som är sparad i n8n-credentials och bekräfta sedan att den är aktiv i din ZeroBounce-dashboard.
- Om du använder Wait-noder eller extern bulkbearbetning varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Nivålogiken är bara så bra som dina tröskelvärden. Om din ”Medel”-hink fortsätter att svälla, justera reglerna i Score Tier Filter så att teamet inte tvingas tolka ett otydligt mellansegment.
Vanliga frågor
Cirka 30 minuter om din ZeroBounce API-nyckel och Google-åtkomst är klara.
Nej. Du klistrar mest in en API-nyckel och mappar fält till Google Sheets. Kan du följa en checklista så klarar du det.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Molnplaner startar på 20 USD/månad för högre volymer. Du behöver också räkna in ZeroBounce-kostnader baserat på hur många e-postadresser du validerar och poängsätter.
Två alternativ: n8n Cloud (hanterat, enklast setup) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, och det bör du. De flesta justerar Score Tier Filter-logiken så att den matchar deras utskicksstrategi och döper sedan om nivåetiketterna i Google Sheets så att de passar processen (till exempel ”Skicka nu”, ”Värm upp”, ”Blockera”). Du kan också styra statusar som ”invalid” och ”spam trap” till ett separat sheet så att de aldrig smyger sig tillbaka i framtida exporter.
Oftast beror det på en utgången eller felaktig API-nyckel i n8n-credentials. Uppdatera nyckeln och kör sedan en liten batch igen för att bekräfta att jobbet skickas in och att statuskontrollerna svarar normalt. Om inskick fungerar men hämtning misslyckas kan det bero på att bulkjobbet fortfarande bearbetas, så väntetiden är för kort.
Många, men det beror på din n8n-plan och hur du batchar förfrågningar. I self-hosted n8n finns inget tak för körningar, så din server är den främsta begränsningen. I n8n Cloud beror dina månadsvisa körningar på planen, och bulkjobb hjälper eftersom du inte validerar en e-post per körning. I praktiken kör de flesta små team tusentals e-postadresser per vecka utan problem när batching är rätt inställt.
Ofta, ja, eftersom det här workflowet drar nytta av polling av bulkjobb, grenlogik och att slå ihop data på ett strukturerat sätt, vilket är svårare att hålla snyggt (och prisvärt) i enklare automationverktyg. Zapier eller Make kan fortfarande fungera om du bara validerar en handfull e-postadresser åt gången. Om du gör regelbundna importer, styr nivåer och vill ha kontroll över tröskelvärden är n8n oftast det lugnare valet. Prata med en automationsexpert om du vill ha hjälp att välja enklaste upplägg.
När din lista nivåindelas automatiskt blir kampanjer enklare. Du skickar till Hög med trygghet, hanterar Medel med försiktighet och håller Låg utanför riskzonen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.