Konkurrentanalys förvandlas till en märklig form av låtsasproduktivt slit. Du kollar en prissida, skummar ett pressmeddelande, öppnar en karriärflik och försöker sedan minnas vad som har ändrats sedan förra veckan. När du väl har klistrat in anteckningar i ett dokument är det redan inaktuellt.
Den här Google Sheets WhatsApp-automationen träffar produktmarknadsförare först, eftersom ni lever i lanseringar och positionering. Men grundare och rev ops-ansvariga känner av det också, särskilt när en konkurrent ändrar prissättning och ingen ser det på flera dagar.
Det här flödet spårar konkurrentuppdateringar dagligen, sparar historiken i Google Sheets och skickar en WhatsApp-varning bara när förändringar faktiskt spelar roll. Du får se hur det fungerar, vad du behöver och var team oftast går snett.
Så fungerar den här automationen
Hela n8n-flödet, från trigger till slutligt utdata:
n8n Workflow Template: Google Sheets + WhatsApp: följ konkurrentändringar
flowchart LR
subgraph sg0["Scheduled Rival Check Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Rival Check", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Workflow Parameters", pos: "b", h: 48 }
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/>Fetch Rival Website"]
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/>Retrieve Pricing Page"]
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/>Collect Job Listings"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Gather Press Updates"]
n6@{ icon: "mdi:cog", form: "rounded", label: "Aggregate All Inputs", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "AI Insight Engine", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Assistant", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Structured Insight Parser", pos: "b", h: 48 }
n10@{ icon: "mdi:wrench", form: "rounded", label: "Historical Pattern Comparator", pos: "b", h: 48 }
n11@{ icon: "mdi:web", form: "rounded", label: "Web Context Fetcher", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Confidence Routing", pos: "b", h: 48 }
n13["<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/>Compute Trend Metrics"]
n14@{ icon: "mdi:database", form: "rounded", label: "Archive Historical Records", pos: "b", h: 48 }
n15@{ icon: "mdi:database", form: "rounded", label: "Load Historical Records", 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/whatsapp.svg' width='40' height='40' /></div><br/>Dispatch WhatsApp Alert"]
n17@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare WhatsApp Message", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-vertical", form: "rounded", label: "Augment with Metrics", pos: "b", h: 48 }
n19@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Evaluate Major Shifts", pos: "b", h: 48 }
n6 --> n13
n8 -.-> n7
n11 -.-> n7
n18 --> n14
n18 --> n19
n4 --> n6
n3 --> n6
n0 --> n1
n5 --> n6
n1 --> n2
n1 --> n3
n1 --> n4
n1 --> n5
n1 --> n15
n13 --> n7
n19 --> n12
n17 --> n16
n7 --> n18
n15 --> n13
n12 --> n17
n2 --> n6
n9 -.-> n7
n10 -.-> n7
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,n9 ai
class n8 aiModel
class n10 ai
class n12,n19 decision
class n14,n15 database
class n2,n3,n4,n5,n11 api
class n13 code
classDef customIcon fill:none,stroke:none
class n2,n3,n4,n5,n13,n16 customIcon
Problemet: konkurrentförändringar upptäcks för sent
De flesta försök att bevaka konkurrenter misslyckas av en enkel anledning: det bygger på mänskligt minne. Någon “äger” att hålla koll på rivaler, men har också kampanjer att köra, affärer att stötta och en backlog som aldrig krymper. Då hoppas kontrollerna över. Eller ännu värre: de görs sporadiskt, vilket innebär att teamet får höra om förändringar först när kunder tar upp det. Prisuppdateringar, nya funktionsbudskap, färska kundcase, anställningstoppar, pressomnämnanden. Varje punkt är en signal, och du sitter fast och samlar signaler som om det vore 2012.
Friktionen byggs på. Här är var det faller isär i verkligheten.
- Du hamnar i att kontrollera samma sidor igen eftersom du inte minns vad du såg förra gången.
- När anteckningar ligger i Slack-trådar eller dokument finns ingen felfri historik att jämföra månad för månad.
- Manuella sammanfattningar blir inkonsekventa, så intressenter slutar lita på dem och slutar läsa.
- De “stora skiftena” begravs under små uppdateringar, vilket gör att brådskande förändringar inte eskaleras snabbt.
Lösningen: daglig scraping + AI-analys + WhatsApp-varningar
Det här flödet kör en daglig konkurrentkontroll och gör spridda webbuppdateringar till något du faktiskt kan använda. Det hämtar innehåll från de ställen som brukar signalera strategiskiften (huvudsidor, prissättning, jobbannonser, pressuppdateringar) och sammanställer allt till ett enda underlag. Därefter analyserar en AI-agent den nya informationen, extraherar strukturerade insikter och jämför resultaten med din historik för att se vad som är nytt jämfört med vad som bara är brus. Till sist arkiverar den den senaste snapshoten i Google Sheets och skickar ett WhatsApp-meddelande när flödet flaggar en meningsfull förändring, så att teamet får reda på det snabbt utan att behöva vara i bevakningsläge hela tiden.
Flödet startar med en schematrigger. Därefter samlar HTTP-anrop in varje konkurrentkälla, AI-lagret sammanfattar och tolkar det till konsekventa fält och ett jämförelsesteg letar efter rörelser i trender över tid. Om skiftet går igenom en tröskel för tillförlitlighet får WhatsApp en kort alert; om inte loggas data ändå för senare analys.
Det du får: automation vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du följer 6 konkurrenter och att du kontrollerar 4 källor per konkurrent (startsida, prissättning, jobb, press). Manuell koll, även en “snabb titt”, tar kanske 5 minuter per källa, vilket blir cirka 2 timmar varje gång du gör en runda. Gör du det dagligen är det ett deltidsjobb. Med det här flödet lägger du cirka 10 minuter i början på att definiera URL:er och dina alertregler, sedan sker den dagliga körningen automatiskt och du får bara en WhatsApp-ping när det finns en verklig förändring som är värd ett beslut.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för historisk spårning och jämförelser
- WhatsApp Business API för att leverera alerts till intressenter
- OpenAI- eller Claude-API-nyckel (hämta den i din leverantörs developer-konsol)
Kunskapsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och redigerar några variabler för konkurrent-URL:er och alerttrösklar.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett dagligt schema startar det. n8n kör “Scheduled Rival Check” och laddar sedan dina flödesparametrar (din konkurrentlista och de specifika URL:er du bryr dig om).
Konkurrentkällor samlas in parallellt. HTTP-anrop hämtar konkurrentens webbplats, prissida, jobbannonser och pressuppdateringar, och därefter paketerar ett aggregeringssteg innehållet till en enda payload.
AI gör råa sidor till strukturerad intel. AI-agenten analyserar det den hämtat, en OpenAI-chatmodell stödjer resonemanget och en strukturerad parser formaterar utdata så att det går att jämföra från körning till körning. Sedan laddar flödet dina historiska rader i Google Sheets och beräknar trendmått mot den historiken.
Endast meningsfulla förändringar eskaleras. En kontroll “Evaluate Major Shifts” och routning baserad på tillförlitlighet avgör om uppdateringen förtjänar uppmärksamhet. Om ja, förbereds och skickas ett WhatsApp-meddelande; oavsett arkiveras den senaste posten tillbaka i Google Sheets.
Du kan enkelt justera vilka konkurrentkällor du scrapar så att det matchar din marknad (till exempel genom att lägga till en recensionssida eller en status-sida) utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera schematriggern
Ställ in när arbetsflödet körs så att konkurrentkontroller sker med en förutsägbar frekvens.
- Lägg till och öppna Scheduled Rival Check.
- Ställ in schemaregeln så att den körs dagligen kl.
9för triggerAtHour. - Koppla Scheduled Rival Check till Set Workflow Parameters.
Steg 2: Anslut konkurrenternas datakällor
Definiera era konkurrent-URL:er och förgrena till alla webbdatasources parallellt.
- Öppna Set Workflow Parameters och fyll i platshållarvärdena för competitorWebsiteUrl, pricingPageUrl, jobsPageUrl och pressReleaseUrl.
- Låt includeOtherFields vara aktiverat för att bevara eventuell data uppströms.
- Säkerställ att Set Workflow Parameters skickar utdata till alla datainsamlare parallellt: Fetch Rival Website, Retrieve Pricing Page, Collect Job Listings, Gather Press Updates och Load Historical Records.
- I Fetch Rival Website ställer ni in URL till
={{ $('Set Workflow Parameters').first().json.competitorWebsiteUrl }}och bekräftar att svarformatet ärtext. - I Retrieve Pricing Page ställer ni in URL till
={{ $('Set Workflow Parameters').first().json.pricingPageUrl }}och bekräftar att svarformatet ärtext. - I Collect Job Listings ställer ni in URL till
={{ $('Set Workflow Parameters').first().json.jobsPageUrl }}och bekräftar att svarformatet ärtext. - I Gather Press Updates ställer ni in URL till
={{ $('Set Workflow Parameters').first().json.pressReleaseUrl }}och bekräftar att svarformatet ärtext. - Koppla var och en av de fyra HTTP-noderna till Aggregate All Inputs.
Steg 3: Aggreggera indata och beräkna trendmått
Slå samman allt insamlat innehåll och berika det med historisk data och beräknade mått.
- Öppna Load Historical Records och välj mål-Google Sheet och kalkylblad.
- Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Load Historical Records.
- Bekräfta att Aggregate All Inputs är inställd på aggregate-värdet
aggregateAllItemData. - Verifiera att Aggregate All Inputs skickar utdata till Compute Trend Metrics, och att Load Historical Records också flödar in i Compute Trend Metrics.
- Öppna Compute Trend Metrics och lägg till er trendlogik eller behåll den som en platshållare för senare utbyggnad.
Steg 4: Sätt upp AI-analys och strukturerad utdata
Konfigurera AI-motorn för att analysera aggregerad data, jämföra den med historik och leverera strukturerade insikter.
- Öppna AI Insight Engine och sätt Text till
=Analyze the following competitor data and provide actionable intelligence: {{ JSON.stringify($json) }}. - Säkerställ att AI Insight Engine har utdata-parsern aktiverad och är kopplad till Structured Insight Parser.
- I OpenAI Chat Assistant väljer ni modellen
gpt-4ooch sätter temperature till0.3. - Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Chat Assistant.
- Bekräfta att OpenAI Chat Assistant är ansluten som språkmodell för AI Insight Engine.
- Verifiera att Historical Pattern Comparator och Web Context Fetcher är anslutna som AI-verktyg till AI Insight Engine.
- Kom ihåg: AI-verktygens undernoder (Structured Insight Parser, Historical Pattern Comparator, Web Context Fetcher) använder den överordnade AI-nodens inloggningsuppgifter; lägg till inloggningsuppgifter i OpenAI Chat Assistant, inte i undernoderna.
Steg 5: Konfigurera routning, arkivering och WhatsApp-aviseringar
Lagra historiska resultat, utvärdera större förändringar och skicka aviseringar baserat på förtroenderoutning.
- Säkerställ att AI Insight Engine skickar utdata till Augment with Metrics.
- Bekräfta parallell körning: Augment with Metrics skickar utdata till både Archive Historical Records och Evaluate Major Shifts parallellt.
- I Archive Historical Records väljer ni mål-Google Sheet och kalkylblad för lagring.
- Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Archive Historical Records.
- Koppla Evaluate Major Shifts till Confidence Routing, och därefter till Prepare WhatsApp Message och Dispatch WhatsApp Alert.
- Inloggningsuppgifter krävs: Anslut era whatsAppApi-uppgifter i Dispatch WhatsApp Alert.
Steg 6: Testa och aktivera ert arbetsflöde
Validera varje gren i arbetsflödet och aktivera det för användning i produktion.
- Klicka på Execute Workflow och bekräfta att Scheduled Rival Check triggar flödet.
- Verifiera att alla HTTP-förfrågningar returnerar innehåll, att Aggregate All Inputs aggregerar data och att Compute Trend Metrics tar emot både aktuella och historiska indata.
- Kontrollera att AI Insight Engine ger strukturerade fält från Structured Insight Parser.
- Bekräfta att Archive Historical Records lägger till en rad och att Dispatch WhatsApp Alert skickar ett meddelande efter Prepare WhatsApp Message.
- När testet lyckas, växla arbetsflödet till Active så att det körs enligt schema.
Vanliga fallgropar
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera skärmen Credentials i n8n och bekräfta att kalkylarket är delat med det anslutna Google-kontot.
- Om du använder Wait-noder eller extern bearbetning varierar körtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar eller delvis hämtade sidor.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet och “vad som räknas som ett större skifte” tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka en timme om dina API-nycklar och konton är redo.
Nej. Du kopplar mestadels konton och klistrar in API-nycklar. Den enda “tekniska” delen är att lista konkurrent-URL:er och bestämma vad som räknas som ett större skifte.
Ja. n8n har ett gratis alternativ för egen drift 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 kostnader för OpenAI- eller Claude-API-användning, vilket beror på hur mycket text du analyserar varje dag.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och klarar n8n bra. Egen drift ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en av de bästa justeringarna. Behåll daglig scraping och loggning i Google Sheets, och ändra sedan alert-delen så att den körs veckovis (eller lägg till en andra schematrigger) som sammanfattar de senaste 7 dagarna. De flesta team anpassar också AI-prompten för att fokusera på prisdeltan, ny positioneringsformulering och anställningsvolym i stället för “allmänna uppdateringar”.
Oftast beror det på en utgången eller felaktigt scoped token för WhatsApp Business API, så generera en ny och uppdatera credential i n8n. Det kan också fallera om “from”-numret inte är godkänt för ditt konto, eller om meddelandemallar krävs för ditt användningsfall. Om det fungerade en gång och sedan slutade, kontrollera rate limits och senaste policyändringar i din WhatsApp-leverantörs dashboard.
Om du kör egen drift beror det främst på din server och hur många sidor du scrapar per körning.
Ofta, ja, eftersom det här inte är en enkel tvåstegs-zap. Du aggregerar flera källor, jämför mot historik och routar alerts baserat på tillförlitlighet, vilket är mycket enklare att uttrycka i n8n utan att betala extra för varje gren. Egen drift är också en praktisk vinst om du kör dagliga kontroller över många konkurrenter. Zapier eller Make kan fortfarande vara bra för lättare bevakning, som “skicka ett meddelande när en sida ändras”. Om du är osäker, prata med en automationsexpert och mappa det mot din volym och din tolerans för falska alerts.
När det här väl rullar slutar konkurrentbevakning vara en återkommande uppgift och blir i stället bakgrundsinfrastruktur. Det är ärligt talat målet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.