Du upptäcker en prissänkning hos en konkurrent för sent. Sedan stressar du, tvivlar och bränner en timme på att bekräfta något som redan har hänt.
Den här uppsättningen för prisändringsaviseringar slår hårdast mot e-handelschefer, men prissättningsstrateger och byråer som driver kundbutiker känner av det också. Du får en korrekt formaterad Google Sheets-historik över varje kontroll, plus Gmail-aviseringar när en sänkning faktiskt är värd att agera på.
Nedan är det exakta automationsflödet, vad det ersätter och hur du sätter upp det utan att göra din vecka till ett “övervaka priser”-jobb.
Så här fungerar automationen
Hela n8n-workflowen, från trigger till slutligt resultat:
n8n Workflow Template: Google Sheets + Gmail: prisvarningar på konkurrenter
flowchart LR
subgraph sg0["1. Multi-schedule Price Monitor Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "1. Multi-schedule Price Moni..", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "2. Global Configuration", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "3. Initial Aggregate (Pass-T..", pos: "b", h: 48 }
n3@{ icon: "mdi:code-braces", form: "rounded", label: "4. Parse Product Targets (Fu..", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "5. Clone Items (Split In Bat..", pos: "b", h: 48 }
n5@{ icon: "mdi:code-braces", form: "rounded", label: "6. Map Threshold (Function)", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "7. Decodo Web Scraper", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "8. Intelligent Price Scrapin..", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "9. Structured Price Data Par..", pos: "b", h: 48 }
n9@{ icon: "mdi:brain", form: "rounded", label: "10. OpenAI Price Analyzer (L..", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "12. Price Analysis & Strateg..", pos: "b", h: 48 }
n11@{ icon: "mdi:brain", form: "rounded", label: "13. OpenAI Strategy Model (L..", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "14. Advanced Price Condition..", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-horizontal", form: "rounded", label: "15. Critical vs. Standard Ch..", pos: "b", h: 48 }
n14@{ icon: "mdi:message-outline", form: "rounded", label: "16. Send CRITICAL Email", pos: "b", h: 48 }
n15@{ icon: "mdi:message-outline", form: "rounded", label: "17. Send STANDARD Email", pos: "b", h: 48 }
n16@{ icon: "mdi:cog", form: "rounded", label: "18. End of Batch (NoOp)", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n18@{ icon: "mdi:robot", form: "rounded", label: "Auto-fixing Output Parser", pos: "b", h: 48 }
n19@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n20@{ icon: "mdi:database", form: "rounded", label: "Log Price Data to Google She..", pos: "b", h: 48 }
n19 -.-> n18
n6 -.-> n7
n1 --> n2
n17 -.-> n18
n18 -.-> n10
n5 --> n7
n0 --> n1
n9 -.-> n7
n11 -.-> n10
n8 -.-> n7
n20 --> n10
n4 --> n5
n10 --> n12
n2 --> n3
n3 --> n4
n7 --> n20
n13 --> n14
n13 --> n15
n12 --> n13
n12 --> n16
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 n7,n8,n10,n17,n18 ai
class n9,n11,n19 aiModel
class n12,n13 decision
class n20 database
class n3,n5 code
Problemet: konkurrentpriser ändras medan du är upptagen
Att kolla konkurrentpriser låter enkelt tills du gör det för flera produkter, på flera sajter och flera gånger per dag. Flikarna blir fler. “Var det 49 $ i går eller 52 $?” blir en gissningslek, eftersom ingen loggar det konsekvent. Och när en meningsfull sänkning sker får du ofta reda på det först efter att skadan är skedd: annonser fortsätter rulla för en produkt som nu är för dyr, konverteringen dippar och du fastnar i diskussionen om du ska matcha, hålla priset eller paketera. Manuell bevakning skapar också en märklig mental belastning. Du går och tänker att du borde kolla “en gång till”, vilket är ett ärligt talat uselt sätt att använda din uppmärksamhet.
Det eskalerar snabbt. Här är var det brukar fallera.
- Du lägger cirka 10 minuter per produkt bara på att bekräfta aktuellt pris och fraktvillkor.
- Prishistoriken finns i någons minne eller i ett rörigt kalkylark som missar hälften av kontrollerna.
- Små ändringar skapar panik, medan de stora rörelserna upptäcks för sent.
- Även när du fångar en sänkning måste du ändå bestämma vad du ska göra utan rekommendation eller kontext.
Lösningen: Google Sheets + Gmail-prisövervakning med AI-rekommendationer
Den här workflowen körs enligt schema tre gånger per dag (morgon, eftermiddag och kväll) och kontrollerar konkurrenternas produktsidor som du anger. Den skrapar varje sida, använder AI för att plocka ut det faktiska priset på ett strukturerat sätt (så att du inte är beroende av sköra “hitta den här CSS-selektorn”-hack), och loggar resultatet i Google Sheets så att du automatiskt bygger en användbar pristidslinje. Därefter jämför den dagens pris mot tröskelreglerna du har satt per produktkategori (premium/standard/budget). Om en ändring passerar en meningsfull gräns skickar den en Gmail-varning markerad som CRITICAL eller STANDARD, plus en rekommendation på klarspråk om vad du bör överväga att göra härnäst.
Workflowen startar med en tidsstyrd trigger, laddar din produktlista och tröskelinställningar, och skrapar och extraherar sedan prisdata per URL. Till sist lägger den till varje kontroll i Google Sheets och mejlar dig bara när läget motiverar uppmärksamhet.
Det du får: automation vs. resultat
| Det den här workflowen automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du bevakar 15 konkurrent-SKU:er över några marknadsplatser. Manuellt tar även en snabb koll cirka 10 minuter per produkt, vilket är ungefär 2,5 timmar per kontroll. Att göra det tre gånger per dag blir en hel arbetsdag av flikhoppande. Med den här workflowen är “arbetet” att lägga in dina URL:er en gång och låta schemakörningarna ske i bakgrunden. Du lägger kanske cirka 10 minuter per dag på att bara gå igenom CRITICAL-mejlen och ignorera bruset.
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)
- Google Sheets för att logga priskontroller över tid.
- Gmail för att skicka CRITICAL- och STANDARD-aviseringar.
- Decodo API-uppgifter (hämtas i din Decodo-dashboard).
- OpenAI API-nyckel (hämtas på sidan för OpenAI API-inställningar).
Kunskapsnivå: Mellan. Du kopplar konton, klistrar in API-nycklar och justerar några inställningar som trösklar och mottagare.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Schemalagd trigger kör tre gånger per dag. n8n startar workflowen kl. 09.00, 15.00 och 21.00, så att du inte är beroende av att någon kommer ihåg att kolla.
Din produktlista och trösklar laddas. Ett inställningssteg och ett litet script tolkar dina produktmål (URL:er plus ett internt ID) och tillämpar rätt tröskelregler per kategori, till exempel premium kontra budget.
Skrapning + AI-extraktion gör röriga sidor till strukturerad data. Decodo hämtar sidan pålitligt, och sedan extraherar en AI-agent det faktiska priset och returnerar strukturerade fält som workflowen kan lita på. Det finns också en auto-korrigerande parser som städar upp udda utdata, vilket hjälper när en sajt ändrar formatering.
Google Sheets blir din prisreskontra, och sedan skickar Gmail rätt avisering. Varje körning lägger till en ny rad i Sheets för historik, workflowen utvärderar villkor och routar CRITICAL-sänkningar till en mejlväg och STANDARD-uppdateringar till en annan.
Du kan enkelt justera aviseringströsklar och mottagarregler efter dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera schematriggern
Ställ in workflowet så att det körs vid fasta tider varje dag för att automatiskt kontrollera priser.
- Lägg till och öppna Timed Price Check Trigger.
- Ställ in schemats rule så att det körs kl.
09:00,15:00och21:00med de intervalltimmar som redan är angivna. - Koppla Timed Price Check Trigger till Global Settings Mapper.
Steg 2: anslut globala inställningar och mål
Definiera produktmål, tröskelvärden och mottagare som workflowet ska tolka och använda i efterföljande logik.
- Öppna Global Settings Mapper och verifiera att värdet för productTargets är satt till den JSON-liknande strängen som visas i noden, som börjar med
[| { "url": "https://www.jogger.co.in/products/jogger-hyper-cushion-for-men-11344", "internal_id": "US-M-5302", "threshold_type": "premium" }, ... ]. - Ställ in priceThresholds till
{ "default": 8000, "premium": 12000, "budget": 5000 }. - Ställ in alertRecipients till
{ "critical": "[YOUR_EMAIL]", "standard": "[YOUR_EMAIL]" }och ersätt platshållarna med riktiga adresser. - Ställ in historicalDBTable till
price_intelligence_logs. - Koppla Global Settings Mapper → Initial Data Aggregator → Parse Product Targets Script → Batch Item Duplicator → Apply Threshold Mapping.
productTargets och konverterar den till enskilda items. Om ni ändrar formateringen, se till att den är giltig JSON så att tolkningskoden fortsätter att fungera.Steg 3: konfigurera kedjan för AI-prisextrahering
Konfigurera scraping-verktyget, AI-modellen och output-parsern som extraherar strukturerad produktdata.
- Öppna Decodo Page Scraper och sätt url till
{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', ``, 'string') }}.
Inloggningsuppgifter krävs: Anslut era decodoApi-inloggningsuppgifter. - Öppna AI Price Extraction Agent och bekräfta att prompten innehåller
Product URL: {{ $json.url }}och efterfrågar de strukturerade JSON-fält som visas. - Säkerställ att Price LLM Model är ansluten som språkmodell för AI Price Extraction Agent.
Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter. - Säkerställ att Price Data Output Parser är ansluten som output-parser för AI Price Extraction Agent. Parsern i sig tar inga inloggningsuppgifter; inloggningsuppgifter läggs till i Price LLM Model (koppling till överordnad nod).
- Koppla Apply Threshold Mapping → AI Price Extraction Agent → Append Price Log to Sheets.
Steg 4: logga priser till Google Sheets
Lägg till extraherad produktdata i ert Google Sheet för historisk uppföljning.
- Öppna Append Price Log to Sheets och sätt operation till
append. - Sätt documentId till
[YOUR_ID]och välj arket Sheet1 (gid=0). - Mappa kolumner till uttryck exakt som visas, till exempel brand →
{{ $json.output.brand }}, product_name →{{ $json.output.product_name }}och current_price →{{ $json.output.current_price }}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter.
Steg 5: konfigurera strategianalys och routning av aviseringar
Analysera tröskelvärden, utvärdera villkor och routa aviseringar efter allvarlighetsgrad.
- Öppna Strategy Analysis Agent och bekräfta att prompten refererar till
{{ $json.current_price }},{{ $json.product_name }}och{{ $('Apply Threshold Mapping').item.json.priceThreshold }}för klassificering av aviseringar. - Säkerställ att Strategy LLM Model är ansluten som språkmodell för Strategy Analysis Agent.
Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter. - Säkerställ att Strategy Output Parser och Auto-correcting Parser är anslutna som output-parsers. Inloggningsuppgifter för auto-fix appliceras på Parser LLM Model, inte på parser-noderna.
Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter till Parser LLM Model. - Öppna Evaluate Price Conditions och bekräfta villkoren:
• leftValue{{ $('AI Price Extraction Agent').item.json.output.current_price }}lt{{ $('Apply Threshold Mapping').item.json.priceThreshold }}
• ELLER leftValue{{ $json.alert_level }}equalCRITICAL. - Öppna Severity Branching Check och bekräfta villkoren:
• leftValue{{ $json.alert_level }}equalCRITICAL
• ELLER leftValue{{ $('AI Price Extraction Agent').item.json.output.discount_percentage }}gt5. - Verifiera att flödet Strategy Analysis Agent → Evaluate Price Conditions → Severity Branching Check är anslutet till både Dispatch Critical Email och Dispatch Standard Email, och att icke-aviseringar går till Batch End Marker.
Steg 6: konfigurera e-postutskick
Skicka kritiska och standardaviseringar med rika HTML-meddelanden.
- Öppna Dispatch Critical Email och sätt sendTo till
[YOUR_EMAIL]eller en riktig lista med kritiska mottagare.
Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter. - Bekräfta att subject är
🚨 CRITICAL PRICE DROP: {{ $('AI Price Extraction Agent').item.json.output.product_name }}. - Bekräfta att message innehåller HTML med dynamiska fält som
{{ $('AI Price Extraction Agent').item.json.output.current_price }},{{ $('Apply Threshold Mapping').item.json.priceThreshold }}och{{ $now.format('HH:mm:ss') }}. - Öppna Dispatch Standard Email och sätt sendTo till
[YOUR_EMAIL]eller en riktig lista med standardmottagare.
Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter. - Bekräfta att subject är
⚠️ Standard Price Alert: {{ $json.output.product_name }}och att message använder de dynamiska fält som visas.
[YOUR_EMAIL] kvar kommer e-post inte att kunna levereras. Ersätt alla platshållare med giltiga adresser.Steg 7: testa och aktivera ert workflow
Validera end-to-end-flödet innan ni aktiverar schemaläggning i produktion.
- Klicka på Execute Workflow för att köra Timed Price Check Trigger manuellt.
- Verifiera att Append Price Log to Sheets skriver rader till ert Google Sheet och att Strategy Analysis Agent producerar
alert_levelochstrategic_recommendation. - Bekräfta att Evaluate Price Conditions routar till Severity Branching Check och att antingen Dispatch Critical Email eller Dispatch Standard Email triggas baserat på villkoren.
- När allt fungerar, slå på workflowet till Active så att Timed Price Check Trigger kör enligt schema.
Vanliga fallgropar
- OAuth-behörigheter för Google Sheets kan vara kinkiga. Om tillägg (append) slutar fungera, kontrollera det anslutna Google-kontot i n8n Credentials och bekräfta att det fortfarande har redigeringsåtkomst till målarket.
- Om du använder Wait-noder eller extern skrapning varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- OpenAI-prompter är generiska som standard. Lägg in dina varumärkesregler och din prissättningsfilosofi tidigt, annars kommer du att fortsätta skriva om rekommendationerna i varje avisering.
Vanliga frågor
Cirka 30 minuter om dina konton och API-nycklar är redo.
Nej. Du kopplar främst tjänster, klistrar in nycklar och redigerar din produktlista och dina trösklar.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 $/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader (ofta några dollar per månad vid lätt bevakning) plus din Decodo-användning för skrapning.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är huvudskälet till att den här uppsättningen fungerar. Du kan justera kategoribaserade trösklar i delarna “Global Settings Mapper” och “Apply Threshold Mapping” i workflowen, och sedan ändra vem som får CRITICAL- respektive STANDARD-mejl. Vanliga justeringar är att lägga till en kategori för “MAP policy”, olika trösklar per varumärke och att routa vissa SKU:er till en specifik intressent.
Oftast är det utgången OAuth-åtkomst eller att det anslutna Google-kontot har tappat redigeringsbehörighet till arket. Anslut Google Sheets-uppgifterna igen i n8n och bekräfta att kalkylarket är delat med det kontot. Om arket flyttades till en annan Drive eller bytte namn, verifiera också fil-ID:t eller destinationsinställningarna i append-steget.
Dussintals är normalt, och du kan skala högre om din budget för skrapning och AI stödjer det.
Ofta, ja, eftersom den här workflowen kombinerar skrapning, AI-extraktion, strukturerad parsning, förgrenad logik och två aviseringsvägar. Den typen av logik blir dyr (eller krånglig) i Zapier och Make när du lägger till flera steg och loopar. n8n ger dig också möjligheten att köra med egen hosting, vilket är viktigt när du vill ha många schemalagda körningar utan att behöva oroa dig för varje extra körning. Om du bara bevakar ett par URL:er och vill ha ett enkelt “om priset ändras, mejla mig” kan Zapier eller Make fungera helt fint. Prata med en automationsexpert om du vill ha hjälp att välja.
När detta väl rullar blir konkurrentbevakning bakgrundsarbete. Du får signalen, historiken och rekommendationen, vilket innebär att du kan agera snabbt utan att leva i en webbläsarflik.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.