Du upptäcker att en konkurrent har lanserat något … två dagar för sent. Inte för att du missar detaljer, utan för att manuell koll av produktsidor är den typen av rutinjobb som tyst stjäl din vecka.
Det här är huvudvärken som e-handelsmarknadsförare klagar på i Slack, och den är lika smärtsam för produktstrateger och grundare som kör slimmat. Med Shopify-lanseringsaviseringar slutar du “hålla ett öga på konkurrenterna” och börjar få notiser bara när något faktiskt ändras.
Det här flödet övervakar konkurrenters Shopify-butiker enligt ett schema, loggar produktlistor till Google Sheets och pingar Slack när en ny produkt dyker upp. Du får se hur det fungerar, vad du behöver och vilka delar du kan anpassa för ditt team.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + Slack-varningar för Shopify-lanseringar
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet", pos: "b", h: 48 }
n2@{ icon: "mdi:database", form: "rounded", label: "Create sheet", 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/slack.svg' width='40' height='40' /></div><br/>Send a message"]
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/merge.svg' width='40' height='40' /></div><br/>Merge"]
n5@{ icon: "mdi:database", form: "rounded", label: "Get row(s) for Compare", 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/>Compare Datas"]
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/code.svg' width='40' height='40' /></div><br/>Parse Json"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Get workflow Data", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Run a workflow", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Store Data", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Get Data For Compare", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check New Product", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n4 --> n6
n7 --> n5
n7 --> n10
n10 --> n11
n2 --> n9
n6 --> n12
n9 --> n8
n3 --> n13
n13 --> n2
n0 --> n1
n12 --> n3
n12 --> n13
n8 --> n7
n1 --> n13
n11 --> n4
n5 --> n4
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 n12 decision
class n1,n2,n5,n10,n11 database
class n6,n7 code
classDef customIcon fill:none,stroke:none
class n3,n4,n6,n7 customIcon
Problemet: konkurrentlanseringar dyker upp först efter att du behövde dem
Konkurrentbevakning låter enkelt tills du gör det på riktigt. Någon måste öppna varje konkurrentbutik, klicka in på “New”, scrolla, jämföra med vad de minns från förra veckan och sedan berätta för teamet vad som har ändrats. Och det är bästa tänkbara scenario. I praktiken hoppar man över kollen, folk är oense om vad som är “nytt”, och den enda dagen du inte tittar är dagen en konkurrent släpper en produkt som stjäl din uppmärksamhet (och dina kunder) i en månad framåt.
Det eskalerar snabbt. Här är var det faller isär.
- Att kontrollera 10 butiker manuellt kan sluka runt 2 timmar, och då har du inte ens skrivit någon sammanfattning.
- Team missar lanseringar för att “någon trodde att någon annan höll koll”.
- Att copy-pasta produkt-URL:er till kalkylark skapar rörig historik, så du kan inte lita på vad som faktiskt ändrats.
- Generiska bevakningsverktyg larmar om allt (teman, banners, små redigeringar), så folk tystar kanalen.
Lösningen: automatisk bevakning av konkurrenters produkter med Sheets + Slack
Det här n8n-flödet gör konkurrentbevakning till en pålitlig bakgrundsprocess. Det kör enligt ett schema (dagligen är vanligt), hämtar din konkurrentlista från ett “master”-ark i Google Sheets och kontrollerar varje butik en i taget. För varje konkurrent säkerställer det att det finns ett dedikerat spårningsblad, skrapar den aktuella produktlistan med BrowserAct och skriver den ögonblicksbilden på rätt ställe. Sedan laddar det föregående produktlista, jämför de två och postar bara en varning i Slack om det faktiskt finns en ny produkt. Tyst när inget händer, högljutt när det spelar roll.
Flödet startar med en schemalagd kontroll och en läsning från Google Sheets. Därifrån loopar det igenom konkurrenter, skrapar produktlistor via BrowserAct och sparar en tidsstämplad historik i Sheets. Till sist bekräftar en differenskontroll vad som är nytt och triggar ett Slack-meddelande till ditt team.
Det du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du bevakar 12 Shopify-butiker hos konkurrenter. En “snabb koll” är ofta 10 minuter per butik när du räknar in att ladda sidor, klicka in i kollektioner och skriva ner noteringar i ett ark, vilket blir cirka 2 timmar per vecka om du gör det dagligen på vardagar. Med det här flödet handlar din tid i praktiken om att lägga till URL:er i masterarket (kanske 5 minuter) och att skumma Slack-larm när de kommer. Skrapning och jämförelse kör i bakgrunden, och du blir bara involverad när en ny produkt upptäcks.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- BrowserAct för att skrapa konkurrenters produktlistor
- Google Sheets för att lagra URL:er och produkthistorik
- Slack för att notifiera ditt team när produkter dyker upp
- BrowserAct API-nyckel (hämta den från din BrowserAct-dashboard)
Kunskapsnivå: Medel. Du kopplar konton, klistrar in en API-nyckel och är bekväm med att justera ett par fält i Google Sheets.
Vill du inte sätta upp detta själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
En schemalagd kontroll drar igång. n8n kör det här flödet enligt den takt du väljer (dagligen är typiskt). Ingen behöver komma ihåg att “gå och titta”.
Din konkurrentlista kommer från Google Sheets. Flödet läser rader från ett masterark och loopar sedan igenom varje konkurrentlänk i batchar så att du kan skala upp utan att skriva om något.
BrowserAct skrapar, sedan lagrar Sheets ögonblicksbilden. För varje butik säkerställer flödet att det finns ett dedikerat blad, kör en BrowserAct-uppgift för att hämta den aktuella produktlistan, avkodar den returnerade JSON:en och lägger till de senaste posterna i den konkurrentens historik.
Ett jämförelsesteg avgör om det är värt att störa dig. Det hämtar “föregående” och “senaste” produktdata, slår ihop båda strömmarna och en kodbaserad differenskontroll flaggar verkliga tillägg. Om något nytt dyker upp får Slack larmet. Om inte går det tyst vidare till nästa butik.
Du kan enkelt ändra schemat och vilka detaljer som loggas (titel, URL, pris, produkthandle) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den schemalagda triggern
Det här arbetsflödet startar enligt ett schema och läser direkt in er konkurrentlista.
- Öppna Scheduled Automation Start och ställ in önskat schemaintervall i Rule.
- Bekräfta att Scheduled Automation Start är kopplad till Fetch Sheet Rows för att påbörja datahämtningen.
- Valfritt: låt Flowpast Branding ligga kvar som en visuell referensnotering i er canvas.
Steg 2: Anslut Google Sheets
Flera Google Sheets-noder läser och skriver produktdata. Konfigurera dessa en gång och återanvänd autentiseringsuppgifter.
- Öppna Fetch Sheet Rows och ställ in Document till
Shopify New Product Monitoroch Sheet tillCompetitor Store List. Credential Required: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter. - I Generate Worksheet ställer ni in Operation till
createoch Title till={{ $json.Name }}. Credential Required: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter. - Konfigurera noderna för jämförelsefliken till samma dokument och målflik: Load Compare Rows, Append Sheet Records och Fetch Comparison Data ska peka på
Shopify New Product Monitoroch flikenhiutdenim - Men. Credential Required: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter för alla tre noderna. - I Append Sheet Records, behåll Operation som
appendOrUpdateoch säkerställ att kolumnerna mapparNameochPricemed Matching Columns satt tillName.
Steg 3: Konfigurera webbläsarautomatisering och JSON-tolkning
Det här avsnittet skrapar konkurrenters produkter och konverterar resultaten till strukturerade objekt.
- I Iterate Records behåller ni standardinställningarna för att batcha igenom rader från Fetch Sheet Rows.
- Öppna Execute Browser Task och bekräfta att Workflow ID är
57142458383023994. Ställ in inparametrar: Competitor_Store_Link till={{ $('Iterate Records').item.json.Link }}, Pagination_Type till={{ $('Iterate Records').item.json["Pagination Type"] }}, och Total_Product till10. Credential Required: Anslut era browserActApi-autentiseringsuppgifter. - I Retrieve Task Output ställer ni in Operation till
getTask, Task ID till={{ $json.id }}, och aktiverar Wait For Finish. Credential Required: Anslut era browserActApi-autentiseringsuppgifter. - Granska Decode JSON Payload så att den säkerställer att den tolkar
$input.first().json.output.stringtill objekt.
$input.first().json.output.string.Steg 4: Konfigurera parallell jämförelse och logik för sammanslagning
Efter tolkning jämför arbetsflödet nya produkter mot tidigare poster för att upptäcka tillägg.
- Decode JSON Payload skickar utdata till både Load Compare Rows och Append Sheet Records parallellt.
- Bekräfta att Append Sheet Records flödar vidare till Fetch Comparison Data för att hämta den senaste kombinerade datamängden.
- I Combine Streams ställer ni in Mode till
chooseBranchoch Use Data Of Input till2. - Granska Evaluate Lists för att säkerställa att den jämför listvärden och output:ar ett enskilt objekt med
AlertochMessage.
Alert-flaggan innan ni kopplar på notiser.Steg 5: Konfigurera utdata och Slack-varningar
När en ny produkt upptäcks postar arbetsflödet till Slack och loopar tillbaka till nästa post.
- I New Item Check bekräftar ni att villkoren kontrollerar att
={{ $json.Alert }}finns och är lika med=true. - Öppna Post Slack Alert och ställ in Text till
=New Product Added to {{ $('Iterate Records').first().json.Name }} Website Please Check it out ------------------------------------------------------ {{ $('Scheduled Automation Start').first().json['Readable date']}}. Credential Required: Anslut era slackOAuth2Api-autentiseringsuppgifter. - Välj er Slack-kanal i Channel (t.ex.
new_product_added). - Verifiera att flödet fortsätter från Post Slack Alert tillbaka till Iterate Records för nästa butik.
Steg 6: Testa och aktivera ert arbetsflöde
Validera hela flödet från start till mål och aktivera sedan automatiserad övervakning.
- Klicka på Execute Workflow för att köra Scheduled Automation Start manuellt.
- Bekräfta att Fetch Sheet Rows hämtar objekt och att Execute Browser Task körs med förväntade indata.
- Verifiera att Decode JSON Payload output:ar strukturerade objekt och att Evaluate Lists returnerar
Alertsom förväntat. - Kontrollera Slack efter ett meddelande från Post Slack Alert när New Item Check är true.
- Växla arbetsflödet till Active för att aktivera schemalagd körning.
Vanliga fallgropar
- Google Sheets-uppgifter kan gå ut eller behöva specifika behörigheter. Om det blir fel, kontrollera Google-kopplingen i n8n under Credentials först.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- BrowserAct-skrapning kan misslyckas på butiker med tungt bot-skydd eller layout som ändras. När larmen plötsligt slutar, granska outputen från BrowserAct-uppgiften och bekräfta att mallen fortfarande extraherar rätt fält.
Vanliga frågor
Cirka en timme om dina konton för Sheets, Slack och BrowserAct är klara.
Nej. Du kopplar tjänster och klistrar in BrowserAct API-nyckeln, och testar sedan en körning. Den enda “koden” här är redan inkluderad för jämförelselogiken.
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 BrowserAct-avgifter baserat på hur ofta du skrapar.
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 klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en snabb ändring. Uppdatera schematriggaren “Scheduled Automation Start” så att den kör veckovis och låt resten vara som det är. Många team anpassar också Slack-meddelandet i “Post Slack Alert” och lägger till extra fält i Sheets (som pris eller produkttyp) genom att justera vad som läggs till efter “Decode JSON Payload”.
Oftast har inloggningsuppgiften gått ut eller så har Google-kontot tappat åtkomst till kalkylarket. Anslut Google Sheets på nytt i n8n och bekräfta sedan att exakt sheet-ID och bladnamn inte har ändrats. Om du skapar nya blad per konkurrent, se till att ditt Google-konto kan skapa och redigera blad, inte bara visa dem.
Dussintals, realistiskt sett.
Ofta, ja, eftersom det här flödet bygger på skrapning + jämförelselogik som inte är en enkel tvåstegs “app till app”-zap. n8n hanterar loopar över många konkurrenter, sammanfogning av dataströmmar och egna jämförelser utan att pressa dig till högre nivåer för enkel branching. Det är också enklare att hålla historiken i Sheets strukturerad eftersom du styr hur data skrivs. Zapier eller Make kan fortfarande fungera om du redan har en skrapare som returnerar ett snyggt flöde, men de flesta team får kämpa med edge cases. Prata med en automationsspecialist om du vill ha hjälp att välja den mest robusta vägen.
När detta väl rullar blir konkurrentbevakning bakgrundsbrus. Du får larmet, kontexten i Sheets och tiden tillbaka.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.