Konkurrenternas prisändringar verkar alltid ske när du har som mest att göra. Och när du väl upptäcker dem har du redan tappat en dags försäljning, rabatterat för mycket eller framstått som dyr helt i onödan.
Det här med automatisering av prisaviseringar drabbar e-handelsansvariga hårdast, men även prisanalytiker och små butiksägare känner av det. I stället för att kolla tre sajter och uppdatera ett kalkylark för hand får du en strukturerad logg i Google Sheets och en Slack-avisering när något faktiskt ändras.
Nedan ser du hur det här arbetsflödet övervakar konkurrenternas sidor, extraherar aktuellt pris med AI, jämför det med ditt senaste värde och skickar en avisering till Slack så att du kan agera snabbt (utan att bo i en webbläsarflik).
Så här fungerar automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: Google Sheets + Slack: prisvarningar på konkurrenter
flowchart LR
subgraph sg0["Daily Price Check Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Daily Price Check Trigger", 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/webhook.dark.svg' width='40' height='40' /></div><br/>Manual Price Check Webhook"]
n2["<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/>Amazon Price Scraper"]
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/>Best Buy Price Scraper"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Target Price Scraper"]
n5@{ icon: "mdi:cog", form: "rounded", label: "AI Price Data Extractor", 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/code.svg' width='40' height='40' /></div><br/>Price Analysis & Intelligence"]
n7@{ icon: "mdi:database", form: "rounded", label: "Google Sheets Price Log", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Price Change Alert Filter", pos: "b", h: 48 }
n9["<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/slack.svg' width='40' height='40' /></div><br/>Slack Price Alert"]
n2 --> n5
n4 --> n5
n3 --> n5
n5 --> n6
n0 --> n2
n0 --> n3
n0 --> n4
n8 --> n9
n1 --> n2
n1 --> n3
n1 --> n4
n6 --> n7
n6 --> n8
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 n8 decision
class n7 database
class n1,n2,n3,n4 api
class n6 code
classDef customIcon fill:none,stroke:none
class n1,n2,n3,n4,n6,n9 customIcon
Problemet: konkurrentpriser ändras snabbare än du hinner kontrollera dem
Manuell prisbevakning är en sådan uppgift som ser “snabb” ut tills du summerar tiden. Du öppnar Amazon, Best Buy, Target (och vilka andra som är relevanta i din kategori), letar upp exakt SKU, bekräftar att det är rätt variant och klistrar sedan in siffror i ett ark. Gör du det dagligen bränner du ungefär en timme om dagen bara för att hålla en grundnivå. Missar du en dag missar du också sammanhanget: var det här en endagspromo, en verklig sänkning eller en lagerrelaterad topp? Värst är tajmingen. Du upptäcker oftast ändringen efter att kunderna redan har gjort det.
Det eskalerar snabbt. Så här fallerar det i verkliga team.
- Du kontrollerar för sent, så din prisreaktion blir alltid reaktiv.
- Kopiera/klistra in skapar små fel som senare leder till dåliga beslut.
- “Signifikant förändring” är otydligt, så folk antingen över-avar eller ignorerar aviseringar helt.
- Det finns ingen konsekvent historik, vilket gör trendspaning till rena gissningar.
Lösningen: automatisk bevakning av konkurrentpriser med loggning i Sheets och Slack-aviseringar
Det här arbetsflödet körs enligt schema (eller vid begäran via en webhook) och kontrollerar konkurrenternas produktsidor åt dig. Det hämtar det senaste sidinnehållet för varje konkurrent du bryr dig om och använder sedan en AI-baserad parser (ScrapeGraphAI) för att extrahera priset pålitligt även när sidlayouten ändras. Därefter kör flödet prislogik för att räkna ut skillnader, märka trendriktning och avgöra om förändringen är viktig. Varje körning loggas i Google Sheets så att du bygger en riktig prishistorik över tid. Om förändringen passerar din tröskel publicerar n8n ett Slack-meddelande så att teamet ser det direkt och kan agera.
Arbetsflödet startar med en schemalagd prisskanning (och kan också triggas via webhook när du vill göra en punktkontroll). Det hämtar priser från konkurrent-URL:er, tolkar och normaliserar siffrorna och skriver sedan en rad till Google Sheets. Till sist avgör ett steg för “aviseringsvillkor” om Slack ska pingas.
Det här får du: automatisering vs. resultat
| Det här automatiserar arbetsflödet | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du följer 10 SKU:er hos tre konkurrenter (Amazon, Best Buy, Target). Manuell “snabbkoll” tar kanske 3 minuter per SKU och sajt när du räknar in laddtider och variantmissar, alltså runt 90 minuter varje dag. Med det här arbetsflödet lägger du cirka 10 minuter en gång på att lägga till eller uppdatera URL:er, sedan kör den schemalagda skanningen i bakgrunden och loggar resultat automatiskt. När ett pris rör sig förbi din tröskel kommer meddelandet i Slack. De flesta dagar gör du ingenting alls.
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 loggning och rapportering av prishistorik
- Slack för att notifiera teamet i realtid
- ScrapeGraphAI API-nyckel (hämta den i din ScrapeGraphAI-dashboard)
Svårighetsgrad: Medel. Du kopplar konton, klistrar in konkurrent-URL:er och justerar en tröskel eller två, men du bygger ingen app.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En schemalagd skanning (eller en webhook vid begäran) drar igång allt. Den schemalagda triggern kör med den frekvens du väljer, till exempel varje timme eller dagligen. Om du behöver en punktkontroll innan en kampanj går live kan webhook-triggern köra samma flöde direkt.
Konkurrenternas sidor hämtas automatiskt. n8n använder HTTP-förfrågningar för att hämta relevanta produktsidor (mallen innehåller Amazon, Best Buy och Target som exempel). Du kan lägga till fler konkurrenter genom att duplicera samma upplägg och peka det mot en ny URL.
AI extraherar priset och normaliserar det. ScrapeGraphAI tolkar sidinnehållet och returnerar strukturerad prisdata, och därefter räknar flödets logik ut aktuellt vs. föregående värde, trendriktning och förändringens storlek. Det här är delen som minskar problemen med skör scraping, helt ärligt.
Allt loggas, och Slack pingar bara när det är relevant. En rad skrivs till Google Sheets med tidsstämpel, konkurrentnamn, produkt, aktuellt pris, föregående pris och förändring. En “if”-kontroll avgör om ett Slack-meddelande ska skickas, så att kanalen inte blir brus.
Du kan enkelt ändra vilka konkurrenter som övervakas så att det matchar din kategori utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera schematriggern
Konfigurera den schemalagda skanningen som körs dagligen och webhooken för skanningar på begäran. Båda triggers förgrenar sig till samma tre noder för att hämta priser.
- Öppna Scheduled Price Scan och ställ in schemaregeln så att den körs var
24:e timme. - Öppna On-Demand Price Webhook och ställ in Path till
price-check-webhookoch HTTP Method tillGET. - Bekräfta att Scheduled Price Scan skickar utdata till Amazon Pricing Fetch, Best Buy Pricing Fetch och Target Pricing Fetch parallellt.
- Bekräfta att On-Demand Price Webhook skickar utdata till Amazon Pricing Fetch, Best Buy Pricing Fetch och Target Pricing Fetch parallellt.
Tips: Använd webhook-URL:en för att köra en omedelbar prisskanning utan att vänta på det dagliga schemat.
Steg 2: Koppla ihop anropen för prisinhämtning
Konfigurera de tre HTTP-anropen som hämtar prissidor från Amazon, Best Buy och Target.
- I Amazon Pricing Fetch ställer ni in URL till
https://www.amazon.com/s?k=wireless+headphonesoch säkerställer att headern User-Agent finns med. - I Best Buy Pricing Fetch ställer ni in URL till
https://www.bestbuy.com/site/searchpage.jsp?st=wireless+headphonesoch behåller headern User-Agent. - I Target Pricing Fetch ställer ni in URL till
https://www.target.com/s?searchTerm=wireless+headphonesmed samma header User-Agent. - Verifiera att var och en av dessa noder kopplas vidare till AI Pricing Parser.
⚠️ Vanlig fallgrop: Saknade eller ogiltiga User-Agent-headers kan leda till blockerade anrop och tomma resultat.
Steg 3: Konfigurera AI-tolkning och prisanalys
Tolka rå HTML till strukturerad produktdata och beräkna sedan prisinsikter och varningsflaggor.
- Öppna AI Pricing Parser och ställ in Website URL till
{{ $json.url || 'https://www.amazon.com/s?k=wireless+headphones' }}. - Behåll User Prompt som den är, för att extrahera strukturerad prisdata för trådlösa hörlurar.
- Inloggning krävs: Anslut era scrapegraphAIApi-uppgifter i AI Pricing Parser.
- Öppna Pricing Insight Logic och behåll den medföljande JavaScript-koden för att beräkna varningar, rabatter och konkurrensinsikter.
- Säkerställ att AI Pricing Parser skickar utdata till Pricing Insight Logic.
Steg 4: Konfigurera utdata-destinationer och varningslogik
Lagra den normaliserade produktdatan i Google Sheets och skicka varningar till Slack när villkor uppfylls.
- I Log Prices to Sheets ställer ni in Operation till
appendOrUpdateoch Authentication tillserviceAccount. - Välj Document med ID
[YOUR_ID]och SheetPrice Data(gid0). - Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Log Prices to Sheets.
- Öppna Alert Condition Check och verifiera att den kontrollerar något av följande:
{{ $json.alert_worthy }}är true,{{ $json.discount_percentage }}≥20, eller{{ $json.change_significance }}är lika medhigh. - I Post Slack Price Alert ställer ni in Select till
channeloch väljer ert Channel-ID. - Inloggning krävs: Anslut era slackOAuth2Api-uppgifter i Post Slack Price Alert.
- Bekräfta att Pricing Insight Logic skickar utdata till både Log Prices to Sheets och Alert Condition Check parallellt, och att Alert Condition Check skickar vidare till Post Slack Price Alert.
Tips: Börja med en dedikerad Slack-kanal för att validera varningsformatet innan ni skickar till en produktionskanal.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test, bekräfta att data lagras och validera varningsflödet innan ni slår på arbetsflödet.
- Klicka på Execute Workflow för att köra ett manuellt test från On-Demand Price Webhook eller Scheduled Price Scan.
- Verifiera att AI Pricing Parser returnerar strukturerade produkter och att Pricing Insight Logic skickar ut berikade poster.
- Kontrollera Log Prices to Sheets för nya rader i bladet
Price Data. - Om villkoren matchar, bekräfta att ett meddelande visas från Post Slack Price Alert i er valda kanal.
- När allt fungerar, växla arbetsflödet till Active för att köra automatiskt var 24:e timme.
Vanliga fallgropar
- Google Sheets-autentisering kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, börja med att kontrollera status för Google-anslutningen i n8n Credentials och auktorisera om OAuth-scope:arna.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder faller på tomma svar.
- Slack-aviseringar kan fallera tyst om appen tappar kanalåtkomst eller om token roteras. Verifiera behörigheterna i din Slack-app och bekräfta att målkanalen fortfarande tillåter att integrationen postar.
Vanliga frågor
Cirka 20 minuter om dina konton och URL:er är klara.
Nej. Du kopplar främst Google Sheets och Slack, klistrar sedan in konkurrent-URL:er och sätter en tröskel för förändring.
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 användning av ScrapeGraphAI och, om du lägger till OpenAI-steg, API-kostnader som vanligtvis är några cent per körning.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det är en vanlig justering. Du kan ändra tröskellogiken i steget “Alert Condition Check” så att tillbehör kan avisera vid små förändringar, medan dyrare produkter bara avisera vid större svängningar. Många team anpassar också Slack-meddelandet så att det innehåller SKU, konkurrent, föregående pris, aktuellt pris och en direkt URL. Om du vill ha olika aviseringsregler per konkurrent kan du grena efter parsningen och tillämpa separata villkor.
Oftast beror det på en utgången OAuth-session eller att behörigheterna för kalkylarket har ändrats. Anslut Google Sheets på nytt i n8n Credentials och bekräfta sedan att arbetsflödet fortfarande pekar på rätt kalkylark och fliknamn. Om du arbetar i en delad enhet, säkerställ att det anslutna Google-kontot faktiskt har redigeringsåtkomst till filen.
Dussintals till hundratals, beroende på hur ofta du kör den och hur tunga sidorna är.
För det här användningsfallet är n8n oftast bättre eftersom scraping och datatolkningslogik snabbt blir komplex. Du kan grena, slå ihop och köra egen logik utan att fastna i begränsningar för “premiumsteg”, och self-hosting undviker prissättning per uppgift när du skalar. Zapier eller Make kan fortfarande fungera om du bara följer ett par sidor och inte behöver trendberäkningar, men det blir dyrt och skört så fort du lägger till fler konkurrenter. Dessutom gör n8n:s arbetsflödesstruktur det enklare att felsöka när en konkurrent ändrar sin sida. Om du är osäker, prata med en automationsexpert och få en rekommendation utifrån din volym.
När det här väl rullar slutar konkurrentbevakning att vara ett dagligt måste och blir i stället en tyst signal du kan lita på. Arbetsflödet filtrerar bort bruset så att du kan fokusera på prissättningsbeslut 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.