Du känner igen känslan: du tror att en konkurrent har ändrat sitt uttryck, men att bevisa det betyder timmar av scrollande, skärmdumpar och röriga anteckningar som aldrig återanvänds. När du väl delar insikterna är de redan gamla.
Det här är den typen av tidsödande rutinjobb som drabbar social media managers först. Men marknadsansvariga och strategikonsulter på byrå känner av det också, särskilt när “Apify Sheets insights” skulle rädda dem från att göra samma konkurrentgranskning varje måndag.
Det här flödet hämtar inlägg från Instagram och TikTok med Apify, kör visuell analys med GPT-4o Vision och loggar sedan en strukturerad sammanfattning till Google Sheets så att du kan följa trender vecka för vecka och agera snabbare.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: Apify + Google Sheets för visuella konkurrentinsikter
flowchart LR
subgraph sg0["Form Flow"]
direction LR
n0@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Scrape Instagram Posts", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Scrape TikTok Posts", 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/code.svg' width='40' height='40' /></div><br/>Analyze Images with GPT-4o V.."]
n3@{ icon: "mdi:cog", form: "rounded", label: "Aggregate All Results", 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/code.svg' width='40' height='40' /></div><br/>Generate Competitive Analysi.."]
n5@{ icon: "mdi:database", form: "rounded", label: "Log Results to Google Sheets", 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/form.svg' width='40' height='40' /></div><br/>Form Trigger1"]
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflow Configuration1", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Platform Router1", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Images Only1", pos: "b", h: 48 }
n6 --> n7
n8 --> n0
n8 --> n1
n9 --> n2
n1 --> n9
n3 --> n4
n0 --> n9
n7 --> n8
n2 --> n3
n4 --> n5
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 n6 trigger
class n0,n1,n8,n9 decision
class n5 database
class n2,n4 code
classDef customIcon fill:none,stroke:none
class n2,n4,n6 customIcon
Problemet: visuell konkurrentresearch tar evigheter
Konkurrentanalys låter enkelt tills du faktiskt gör det. Du öppnar Instagram, sedan TikTok, sedan börjar du spara inlägg, ta skärmdumpar och försöka beskriva “känslan” med ord som teamet fortfarande förstår nästa vecka. Under tiden ligger ditt riktiga jobb (att planera innehåll som vinner) helt orört. Det värsta är inkonsekvensen: en person noterar “starka färger”, en annan säger “pastell”, och ingen kan avgöra om trenden är verklig eller bara ett enstaka inlägg som fångade deras blick.
Det blir snabbt mycket. Och friktionen ökar när du följer mer än en konkurrent.
- Att manuellt granska två plattformar för fyra konton kan lätt sluka cirka 2 timmar per vecka, och då har du inte ens skrivit en sammanfattning.
- Skärmdumpar blir inte insikter av sig själva, så du står till slut med en mapp full av “bevis” och inget beslut.
- Utan en strukturerad logg kan du inte jämföra vecka för vecka, vilket gör att du fortsätter lära om samma sak.
- Team tappar förtroendet för resultaten eftersom metoden ändras varje gång någon ny gör granskningen.
Lösningen: Apify-scraping + AI-baserad bildanalys + loggning i Sheets
Det här flödet gör visuell konkurrentresearch till ett repeterbart system. Det börjar med ett enkelt formulär där du anger ditt eget konto och upp till tre konkurrenter, och väljer vilka plattformar du vill köra (Instagram, TikTok eller båda). n8n skickar sedan begäran till rätt Apify-scraper, samlar in senaste inläggen och filtrerar ner till poster som faktiskt innehåller bildinnehåll värt att analysera. Därefter granskar GPT-4o Vision varje bild och extraherar konsekventa attribut som färgpalett, kompositionsstil, stämning eller känsla samt textbehandling (överlägg, typografi, täthet). Till sist sammanställer flödet allt till en konkurrenssammanfattning med rekommendationer och skriver resultaten till Google Sheets så att du får en sökbar historik.
Flödet startar från formulär-triggern och använder sedan Apify för att hämta innehåll för varje vald plattform. Efter filtrering till enbart bilder körs AI-baserad bildanalys över materialet och en aggregerad rapport genereras. Google Sheets blir din levande “trendlogg”, inte ett engångsdokument.
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 följer ditt varumärke plus tre konkurrenter på Instagram och TikTok, och att du granskar cirka 10 senaste inlägg per konto. Manuellt kan även en snabb genomgång med anteckningar ta kanske 5 minuter per inlägg, vilket blir ungefär 3–4 timmar totalt. Med det här flödet lägger du cirka 5 minuter på att fylla i formuläret, och sedan väntar du medan Apify hämtar innehåll och GPT-4o Vision analyserar det (ofta under en timme, beroende på volym). Resultatet dyker upp i Google Sheets som en strukturerad logg och en veckoliknande sammanfattning, redo att delas.
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)
- Apify för scraping av Instagram och TikTok.
- Google Sheets för att lagra historik och sammanfattningar.
- OpenAI API-nyckel (hämta den från sidan för API-nycklar i OpenAI Dashboard).
Kunskapsnivå: Mellan. Du kopierar in inloggningsuppgifter i n8n, klistrar in ett Sheet-ID och justerar ett par variabler om du vill analysera fler eller färre inlägg.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett inskickningsformulär triggar körningen. Du anger ditt konto, upp till tre konkurrenter och väljer Instagram, TikTok eller båda. Indatan städas upp så att flödet kan återanvända den konsekvent.
Plattformar routas automatiskt. Ett routingsteg skickar Instagram-begäran till Instagram Apify-scrapern och TikTok-begäran till TikTok Apify-scrapern, så att du slipper underhålla separata flöden för varje nätverk.
Bilder filtreras och analyseras. Flödet behåller posterna som innehåller användbart bildinnehåll, och sedan extraherar GPT-4o Vision de visuella attribut du bryr dig om (palett, komposition, stämning, textstil) i ett standardiserat format.
En konkurrenssammanfattning skapas och loggas. Resultaten sammanställs till en läsbar rapport med rekommendationer och skrivs sedan till Google Sheets med tidsstämpel och metadata så att du kan jämföra över tid.
Du kan enkelt ändra hur många inlägg du analyserar per konto och vilka attribut AI:n extraherar, baserat på dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera triggern för inskickningsformuläret
Konfigurera formuläret för användarinmatning som startar arbetsflödet och fångar kontouppgifter samt analyspreferenser.
- Lägg till noden Submission Form Trigger som din trigger.
- Ställ in Form Title till
Cross-Platform Competitive Visual Intelligence. - Ställ in Form Description till
Analyze visual content from your brand and competitors across Instagram, Pinterest, and TikTok. - Säkerställ att formulärfälten inkluderar Your Account/Hashtag, Competitor 1 Account, Competitor 2 Account, Competitor 3 Account, Select Platforms (kryssruta) och Number of Posts to Analyze (nummer).
- Spara noden för att generera formulär-URL:en för inskickningar.
Steg 2: anslut Apify för datainsamling från plattformar
Konfigurera plattformsroutning och anslut Apify för att hämta innehåll från Instagram och TikTok.
- I Input Mapping Setup, behåll Include Other Fields aktiverat och bekräfta att tilldelningarna mappar formulärinmatningar till variabler som ownAccount, competitors, platforms och postsCount.
- Ställ in värdet för openaiApiKey till er nyckel och ersätt
[CONFIGURE_YOUR_API_KEY]. - I Route Platforms, bekräfta att de två reglerna kontrollerar
{{ $json['Select Platforms']}}förInstagramrespektiveTikTok. - I Fetch Instagram Posts, behåll Operation som
Run actor and get datasetoch ställ in Custom Body till={{ { "directUrls": [ "https://www.instagram.com/" + $('Input Mapping Setup').item.json["ownAccount"] + "/", "https://www.instagram.com/" + JSON.parse($('Input Mapping Setup').item.json.competitors)[0] + "/", "https://www.instagram.com/" + JSON.parse($('Input Mapping Setup').item.json.competitors)[1] + "/" ].filter(url => !url.includes("undefined") && !url.includes("null")), "resultsType": "posts", "resultsLimit": $('Input Mapping Setup').item.json.postsCount || 10 } }}. - I Retrieve TikTok Clips, behåll Operation som
Run actor and get datasetoch ställ in Custom Body till={{ { "profiles": [ $('Input Mapping Setup').item.json.ownAccount, JSON.parse($('Input Mapping Setup').item.json.competitors)[0], JSON.parse($('Input Mapping Setup').item.json.competitors)[1] ].filter(p => p), "resultsPerPage": $('Input Mapping Setup').item.json.postsCount || 10, "shouldDownloadVideos": false } }}.
Steg 3: konfigurera bildfiltrering och AI-vision-bearbetning
Filtrera innehåll till bildposter och kör visuell analys via OpenAI i kod.
- I Filter Image Records, konfigurera villkor så att type är lika med
Imageoch att displayUrl or imageUrl inte är tomt genom att använda{{ $json.type }}och{{ $json.displayUrl || $json.imageUrl }}. - I AI Vision Analysis, behåll Mode inställt på
runOnceForEachItemoch använd den medföljande koden för att anropa OpenAI medmodel: 'gpt-4o'. - Säkerställ att koden läser nyckeln från
$('Input Mapping Setup').item.json.openaiApiKeyoch använderhttps://api.openai.com/v1/chat/completions.
[CONFIGURE_YOUR_API_KEY] kommer arbetsflödet att misslyckas när AI Vision Analysis försöker anropa OpenAI API.Steg 4: aggregera resultat och generera den konkurrensinriktade rapporten
Aggregera AI-utdata och generera den strukturerade sammanfattningen med ett andra OpenAI-anrop.
- I Compile Analysis Results, ställ in Aggregate till
aggregateAllItemDataoch Destination Field Name tillanalysisResults. - I Create Competitive Summary, behåll OpenAI-anropet med
model: 'gpt-4'och säkerställ att det refererar till API-nyckeln från$('Input Mapping Setup').item.json.openaiApiKey. - Bekräfta att koden returnerar sections-objektet, inklusive fullReport, competitiveMatrix och recommendedActions.
Steg 5: konfigurera utdata till Google Sheets
Skriv sammanfattningen och metadata till ert Google Sheet för spårning och rapportering.
- I Write Summary to Sheets, behåll Operation inställt på
appendOrUpdate. - Ställ in Document ID till ert kalkylblads-ID i Document ID och välj målfliken i Sheet Name.
- Mappa kolumner till dessa uttryck: summary →
{{ $json.fullReport.substring(0, 500) }}, platforms →{{ $('Input Mapping Setup').item.json.platforms }}, timestamp →{{ $now.toISO() }}, competitors →{{ $('Input Mapping Setup').item.json.competitors }}, own_account →{{ $('Input Mapping Setup').item.json.ownAccount }}, posts_analyzed →{{ $('Compile Analysis Results').item.json.analysisResults.length }}.
Autentisering krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Write Summary to Sheets.
Sista steget: testa och aktivera ert arbetsflöde
Verifiera hela körningen och aktivera arbetsflödet för löpande användning.
- Klicka på Execute Workflow och skicka in formuläret från Submission Form Trigger med riktiga konton och valda plattformar.
- Bekräfta att Fetch Instagram Posts och Retrieve TikTok Clips returnerar data baserat på valda plattformar.
- Verifiera att AI Vision Analysis ger utdata per bild och att Compile Analysis Results aggregerar dem till
analysisResults. - Kontrollera att Create Competitive Summary returnerar en strukturerad rapport och att Write Summary to Sheets lägger till en ny rad.
- Slå på arbetsflödet med reglaget Active för att möjliggöra användning i produktion.
Vanliga fallgropar
- Apify-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera din Apify-token i n8n Credentials och bekräfta att aktören du anropar är åtkomlig.
- 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 er varumärkesröst tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Cirka 30–60 minuter om du redan har åtkomst till Apify, OpenAI och Google.
Nej. Du kopplar främst konton och klistrar in ett Sheet-ID och API-nycklar. Små justeringar (som att ändra antalet inlägg att analysera) är enkla och guidade.
Ja. n8n har ett gratis alternativ för egen hosting 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-användning (ofta några cent upp till ett par dollar per körning, beroende på hur många bilder du analyserar) samt din Apify-användning.
Två alternativ: n8n Cloud (hanterat, enklast setup) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det är en vanlig justering. Du kan byta ut Submission Form Trigger mot en schematrigger (eller till och med en Gmail Trigger om du vill “kör när jag mejlar ett nyckelord”), och sedan behålla samma plattformsrouting och analyssteg. De flesta anpassar också AI-prompterna för att matcha sina varumärkeskategorier, som “UGC-stil”, “studio”, “texttungt” eller “produkt först”. Vill du ha en tajtare output, justera prompten i steget AI Vision Analysis och rapportprompten i Create Competitive Summary.
Oftast beror det på en utgången eller felaktig Apify API-token i n8n Credentials. Det kan också vara så att Apify-aktören du anropar inte ingår i din plan, eller att körningen slår i rate limits när du begär för många inlägg på en gång. Om scrapern returnerar tom data, kontrollera inmatade handles och bekräfta att plattformsvalet är korrekt i formulärinskicket.
Många, men dina gränser styrs av din n8n-plan, Apify-användning och hur mycket bildanalys du kör per batch.
För det här användningsfallet är n8n oftast en bättre match eftersom du kör routing med flera grenar (Instagram vs TikTok), filtrering, aggregering och en AI-analysloop, vilket snabbt blir krångligt i enklare byggare. n8n ger dig också möjlighet till egen hosting, vilket spelar roll när du vill köra större granskningar utan att betala per liten delsteg. Zapier eller Make kan fortfarande fungera om du håller det litet, som en plattform och en kort sammanfattning. Ärligt talat: så fort du vill ha “upp till tre konkurrenter” plus en riktig rapport blir de flesta team mer nöjda i n8n. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din volym.
När det här väl rullar blir visuell konkurrentresearch en snabb input och en pålitlig output. Du lägger tid på att fatta beslut, inte på att samla bevis.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.