Deal-mejl låter enkelt tills du faktiskt försöker göra dem manuellt. Du hoppar mellan sidor, kopierar produktnamn, fixar trasiga länkar och skriver om samma ”Toppval”-intro om och om igen.
Det här drabbar marknadsförare som vill hålla målgruppen varm, men e-handelsansvariga och byråteam som kör nyhetsbrev känner av det också. Med den här automationen för deal-mejl samlar du in preferenser en gång och skickar sedan ett strukturerat ”Dagens toppdeals”-mejl som är anpassat per kategori.
Nedan ser du hur arbetsflödet körs i n8n, vilka resultat du kan förvänta dig och vad du behöver för att lansera det utan att göra dina morgnar till ett copy-paste-maraton.
Så fungerar automationen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: Bright Data + SMTP: kurerade dealmejl skickas åt dig
flowchart LR
subgraph sg0["Form Completion Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Fetch MediaMarkt Deals Page", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Compose Email HTML", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Deal Results", pos: "b", h: 48 }
n3@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Deal Email", pos: "b", h: 48 }
n4["<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/>Display Results Page"]
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/html.dark.svg' width='40' height='40' /></div><br/>Parse Page Body & Title"]
n6@{ icon: "mdi:robot", form: "rounded", label: "Classify Deal List", 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/form.svg' width='40' height='40' /></div><br/>Form Completion Trigger"]
n1 --> n3
n3 --> n4
n7 --> n0
n2 --> n1
n0 --> n5
n6 --> n2
n5 --> n6
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 n7 trigger
class n6 ai
classDef customIcon fill:none,stroke:none
class n4,n5,n7 customIcon
Problemet: deal-sammanställningar blir en daglig tidstjuv
Om du någon gång har försökt skicka ett dagligt (eller ens veckovis) ”bästa deals”-mejl vet du när det börjar spåra ur. Först hittar du dealsen. Sedan inser du att hälften av produktlänkarna behöver rensas, formateringen ser konstig ut i e-postklienter och ”bästa valen” är i praktiken magkänsla eftersom du inte hinner jämföra allt. Lägg till personalisering. Någon vill ha laptops, en annan vill bara ha mobiler, och plötsligt underhåller du varianter som om det vore en mini-e-handel. Värst är den mentala belastningen. Du lägger din bästa skärpa på rutinjobb.
Friktionen växer, särskilt när du försöker göra det här konsekvent.
- Att manuellt samla in deals tar cirka en timme när du räknar in kontroll av priser, titlar och länkar.
- Att personalisera per kategori innebär ofta att du duplicerar arbete och hoppas att du inte skickar fel lista till fel person.
- HTML-mejl är petiga, så formateringen skapar fel och du märker det först efter utskick.
- Utan en upprepbar process blir ”daglig sammanställning” ett ”när vi kommer ihåg det”-mejl, vilket tyst dödar engagemanget.
Lösningen: personliga ”toppdeals”-mejl, byggda automatiskt
Det här arbetsflödet gör insamling, rankning och leverans av deals till ett upprepbart system. Det startar när en användare skickar in ett enkelt formulär med sin e-postadress och vilka kategorier de bryr sig om (mobiler, laptops, vitvaror och så vidare). n8n använder sedan Bright Data för att hämta MediaMarkts deals-sida pålitligt, även när sajten är kinkig kring scraping. När sidinnehållet är hämtat parsar arbetsflödet HTML:en för att extrahera den råa listan av deals. Därifrån klassificerar och rankar GPT-4o-mini (via OpenAI) dealsen så att det färdiga mejlet lyfter fram de bästa valen utifrån användarens preferenser. Till sist fyller en Document Generator-nod din HTML-mall och SMTP skickar den färdiga sammanställningen direkt till inkorgen.
Arbetsflödet börjar med en formulärinsändning och går sedan vidare genom scraping och HTML-parsning för att bygga korrekt formaterade, strukturerade deal-data. OpenAI kurerar listan, Document Generator skapar ett snyggt mejl och SMTP skickar det (plus en enkel resultatside-bekräftelse så att användaren vet att det fungerade).
Det här får du: automation kontra resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du skickar ett ”Toppdeals”-mejl varje vardag. Manuellt kanske du lägger cirka 30 minuter på att samla in deals, ytterligare 30 minuter på att ranka och skriva om valen, och 20 minuter på att bygga ett mejl som inte skapar fel i Gmail eller Outlook. Totalt runt 1,5 timme per utskick. Med det här arbetsflödet skickar du in kategorierna en gång via formuläret (cirka 2 minuter), n8n scrapar och rankar i bakgrunden och sedan skickar SMTP den färdiga HTML-sammanställningen. Du gör mest en kontroll av resultatet, vilket är närmare 10 minuter.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Bright Data för pålitlig scraping av deals-sidor.
- OpenAI (GPT-4o-mini) för att ranka och anpassa deals.
- SMTP-uppgifter (hämta dem från din e-postleverantör eller SMTP-tjänst).
Kunskapsnivå: Medel. Du kopplar in uppgifter, installerar två community-noder och justerar en HTML-mall.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så här fungerar det
En användare skickar in preferensformuläret. De väljer kategorier (som laptops eller mobiler) och anger en e-postadress. Den formulärinsändningen triggar arbetsflödet direkt.
MediaMarkt-deals hämtas in via Bright Data. Arbetsflödet hämtar innehållet på deals-sidan via proxybaserad scraping, vilket vanligtvis är mer stabilt än vanliga requests när sajter ändrar layout eller blockerar bottar.
Sidan parsas, sedan kurerar OpenAI listan. n8n extraherar de användbara delarna från HTML:en (titlar, priser, länkar) och sedan klassificerar och rankar GPT-4o-mini deals utifrån de valda kategorierna.
En strukturerad HTML-sammanställning skapas och skickas. Document Generator fyller din e-postmall, SMTP skickar den och arbetsflödet visar en enkel resultatsida så att prenumeranten får en tydlig bekräftelse.
Du kan enkelt ändra vilka kategorier du samlar in, till exempel för att inkludera varumärkespreferenser eller ett maxpris baserat på dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera formulärtriggern
Konfigurera det offentliga formuläret som samlar in användarpreferenser och e-postadresser och som sedan startar arbetsflödet.
- Lägg till noden Form Completion Trigger och ställ in Form Title till
Top deals. - Under Form Fields lägger ni till en Dropdown med etiketten
Categorymed Multiselect aktiverat och inkluderar alternativen som visas (t.ex.Appliances,Computers & Tablets,Video Games). - Lägg till ett Email-fält med etiketten
Emailmed platshållarenComplete your emailoch markera det som obligatoriskt. - Ställ in Response Mode till
lastNodeoch behåll Form Description som angivet. - I Options ställer ni in Path till
get-top-deals, aktiverar Ignore Bots och ställer in Button Label tillGet Deals.
Steg 2: anslut datakällan för erbjudanden
Hämta sidan med aktuella erbjudanden så att den kan parsas och klassificeras senare.
- Lägg till Fetch MediaMarkt Deals Page och ställ in URL till
https://www.mediamarkt.es/es/campaign/campanas-y-ofertas. - Ställ in Format till
jsonoch behåll Zone somweb_unlocker1och Country somes. - Autentiseringsuppgifter krävs: Anslut era brightdataApi-inloggningsuppgifter.
- Koppla Form Completion Trigger → Fetch MediaMarkt Deals Page.
Steg 3: sätt upp AI-pipelinen för klassificering
Extrahera sidans HTML, klassificera resultaten med AI och dela upp listan i enskilda objekt.
- Lägg till Parse Page Body & Title och ställ in Operation till
extractHtmlContentmed Data Property Namebody. - I Extraction Values lägger ni till nycklar för
titlemed CSS-selektorntitleochbodymed CSS-selektornbody. - Lägg till Classify Deal List och behåll Model som
gpt-4o-minimed JSON Output aktiverat. - I Messages behåller ni systemprompten och ställer in användarinnehållet till
=The input text is:\n{{ $json.body }}och kategorifiltret till=Categories to filter: {{ $('Form Completion Trigger').item.json.Category.join(',') }}. - Autentiseringsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter.
- Lägg till Split Deal Results och ställ in Field To Split Out till
message.content.results. - Koppla Fetch MediaMarkt Deals Page → Parse Page Body & Title → Classify Deal List → Split Deal Results.
Steg 4: konfigurera e-postutskick och resultatsida
Skapa e-postinnehållet, skicka det via SMTP och visa en slutförandesida med antal resultat.
- Lägg till Compose Email HTML och ställ in Template till den angivna HTML-mallen, inklusive loopblocket:
{{#each items}}…{{/each}}. - Ställ in One Template till
truei Compose Email HTML. - Lägg till Dispatch Deal Email och ställ in HTML till
=Hi!\n.
\n{{ $json.text }}\n\nBest,\n
\nThe n8nhackers team! - Ställ in Subject till
Your last deals!, From Email till[YOUR_EMAIL]och To Email till={{ $('Form Completion Trigger').first().json.Email}}. - Autentiseringsuppgifter krävs: Anslut era smtp-inloggningsuppgifter.
- Lägg till Display Results Page med Operation
completion, Completion TitleOur recommended deals!och Completion Message=We have sent {{ $('Split Deal Results').all().length }} recommended deals to your email!. - Koppla Split Deal Results → Compose Email HTML → Dispatch Deal Email → Display Results Page.
⚠️ Vanlig fallgrop: E-postmallen använder {{ $json.text }} från Compose Email HTML. Säkerställ att den noden returnerar en text-egenskap innan ni testar.
Steg 5: testa och aktivera ert arbetsflöde
Verifiera hela kedjan från formulärinsändning till e-postleverans och slutförandesida.
- Klicka på Execute Workflow och öppna formulär-URL:en från Form Completion Trigger.
- Skicka in formuläret med en giltig e-postadress och minst ett valt kategori-alternativ.
- Bekräfta att Dispatch Deal Email skickar ett e-postmeddelande till den inskickade adressen och att Display Results Page visar antalet från
{{ $('Split Deal Results').all().length }}. - När allt ser korrekt ut växlar ni arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Bright Data-uppgifter kan gå ut eller kräva specifika behörigheter. Om saker skapar fel, kontrollera först din Bright Data-dashboard och API-zone-inställningarna.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att sitta och redigera output för alltid.
Vanliga frågor
Räkna med cirka en timme första gången, främst för uppgifter och HTML-mallen.
Ingen kodning krävs. Du installerar community-noder, kopplar konton och redigerar några formulärfält och prompter.
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 OpenAI API-kostnader (ofta några cent per mejl) plus Bright Data-användning.
Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) 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 serverhantering. En viktig detalj här: den här specifika deal-mejl-automationen använder community-noder, så du behöver self-hosta för att kunna köra den.
Ja, men du behöver justera Bright Data-scrape-målet och reglerna för HTML-parsningen. De flesta byter ut noden ”Fetch deals page” så att den pekar på den nya sajten och uppdaterar sedan steget ”Parse Page Body & Title” så att det extraherar rätt element. Efter det finjusterar du OpenAI-prompten så att den vet hur ”bra deals” ser ut i din nisch (till exempel rekonditionerat vs. nytt). E-postmallen i Document Generator är den enkla delen.
Oftast är det ett problem med API-nyckeln eller en Bright Data-zone som inte har rätt behörigheter för målet. Skapa om nyckeln, bekräfta att zonen är aktiv i din Bright Data-dashboard och uppdatera sedan uppgifterna i n8n. Om det fungerar ibland och fallerar andra gånger kan du slå i användningsgränser eller så svarar målsidan långsammare än förväntat.
Om du self-hostar beror det främst på din serverstorlek och hur tung din scraping och dina AI-anrop är.
Ofta, ja, eftersom det här flödet inte bara är ”flytta data från A till B”. Du scrapar en sida, parsar HTML, kör ett AI-rankningssteg och genererar sedan ett mallat dokument innan du skickar. n8n hanterar den typen av logik med flera steg snyggt, och self-hosting gör att du slipper betala per liten åtgärd när volymen växer. Zapier eller Make kan fungera för enkla automationer, men scraping och HTML-parsning blir snabbt krångligt. Dessutom är de här community-noderna en stor grej här, och ärligt talat är det avgörande för många team. Prata med en automationsexpert om du vill ha hjälp att välja.
När det här är live blir ”Toppdeals” ett system, inte en stressinsats. Sätt upp det, låt det rulla och spara din uppmärksamhet till arbetet som faktiskt 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.