Du börjar med goda intentioner: följ konkurrenters inlägg varje vecka. Sen kommer måndagen, du har 18 flikar öppna, hälften av länkarna är dubbletter och den “snabba sammanfattningen” blir en timme av copy-paste.
Det här är typen av röra som content marketers känner direkt, men produktchefer och competitive intelligence-folk dras in i det också. En enkel automatisering av konkurrent-digest ger dig ett felfritt veckomejl som faktiskt går att läsa, och en löpande logg som teamet kan söka i senare.
Nedan ser du hur flödet förvandlar en länklisteflik i Google Sheets till en snygg Gmail-digest, hur AI-filtreringen fungerar (på enkel svenska) och vad du kan justera för att matcha er tonalitet.
Så fungerar den här automatiseringen
Hela n8n-workflowet, från trigger till slutligt resultat:
n8n Workflow Template: Google Sheets till Gmail, konkurrentöversikter
flowchart LR
subgraph sg0["Schedule Trigger: Every Sun 5AM Flow"]
direction LR
n0["<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/>Firecrawl_Links"]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser2", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Agent: Summarize Each URL", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "Gemini 2.5 Flash: Temp 0", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Firecrawl_Markdown"]
n7@{ icon: "mdi:robot", form: "rounded", label: "Agent: Identify URLs to Crawl", pos: "b", h: 48 }
n8["<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/>Code"]
n9@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger: Every Sun ..", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Input Links", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Read_Url_Summary_Tool", pos: "b", h: 48 }
n12@{ icon: "mdi:database", form: "rounded", label: "Append row in sheet", pos: "b", h: 48 }
n13@{ icon: "mdi:brain", form: "rounded", label: "OpenAI o4-mini", pos: "b", h: 48 }
n14@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet", pos: "b", h: 48 }
n15@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message", pos: "b", h: 48 }
n8 --> n15
n1 --> n6
n10 --> n0
n13 -.-> n7
n0 --> n7
n6 --> n4
n12 --> n14
n14 --> n8
n11 -.-> n7
n5 -.-> n4
n2 -.-> n7
n4 --> n12
n3 -.-> n4
n7 --> n1
n9 --> n10
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 n9 trigger
class n2,n3,n4,n7 ai
class n5,n13 aiModel
class n10,n11,n12,n14 database
class n0,n6 api
class n8 code
classDef customIcon fill:none,stroke:none
class n0,n6,n8 customIcon
Problemet: konkurrentbevakning blir flikkaos
Att hålla koll på konkurrenters bloggar och nyheter låter enkelt tills du ska göra det konsekvent. Någon slänger in några URL:er i en chatt, någon annan bokmärker “för senare”, och när du väl sätter dig för att gå igenom allt så öppnar du samma sidor som förra veckan igen. Ännu värre: en del av länkarna är irrelevanta (karriärsidor, kategoritaggar, gamla pressreleaser) så du lägger tid på sådant du ändå inte kommer att dela. Sista steget är det som tar knäcken: du måste fortfarande sammanfatta, formatera och skicka något som teamet faktiskt läser. Mycket merarbete för “bara en veckouppdatering”.
Det skenar snabbt. Här är var det oftast faller i riktiga team:
- Du granskar dubbletter eftersom det saknas ett pålitligt “redan sammanfattat”-minne.
- Relevanskontroller sker i ditt huvud, vilket ger inkonsekvens och missade inlägg när du har bråttom.
- Sammanfattningar varierar kraftigt beroende på vem som skriver dem, så digesten blir skummad på fel sätt.
- Formatering och gruppering per bolag tar längre tid än själva “insikt”-delen, ärligt talat.
Lösningen: en veckovis Sheets-till-Gmail-digest med AI-filtrering
Det här n8n-workflowet börjar med en enkel vana: du (eller teamet) lägger in konkurrent-URL:er i ett Google Sheet under veckan. På söndagsmorgonen kör automatiseringen enligt schema, hämtar länklisan och kontrollerar vad den redan har sammanfattat i din flik “Summary”. Bara nya kandidater går vidare. Sedan agerar en AI-agent som en vakt vid dörren och filtrerar bort sidor som inte förtjänar en plats i digesten (taggsidor, orelaterat innehåll, tunna uppdateringar). För länkarna som godkänns skrapar workflowet sidtexten, extraherar strukturerade detaljer som titel och författare och producerar konsekventa sammanfattningar på tre meningar med kostnadseffektiva modeller. Till sist lägger det tillbaka varje resultat i Google Sheets (så att du bygger ett sökbart arkiv) och skickar en polerad, bolagsgrupperad HTML-digest via Gmail innan arbetsveckan startar.
Workflowet börjar med en veckovis schematrigger och läser sedan din flik “Input Links” i Google Sheets. Därefter skrapar HTTP-requests innehållet och AI genererar korta, strukturerade sammanfattningar. I sista steget byggs HTML-mejlet ihop och skickas via Gmail till din distributionslista.
Det du får: automatisering vs. resultat
| Vad detta workflow automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att teamet följer 12 konkurrentlänkar i veckan. Manuellt tar det kanske 5 minuter att öppna och rimlighetskolla varje länk, ytterligare 10 minuter att skumma och sammanfatta, och sedan 20 minuter att formatera ett mejl och gruppera punkter per bolag — totalt runt 3 timmar. Med det här workflowet lägger du cirka 10 minuter under veckan på att klistra in URL:er i Google Sheets, och söndagskörningen gör grovjobbet och levererar digesten automatiskt. Du kan fortfarande granska mejlet om du vill, men du gör inte längre slitjobbet.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra inlänkar och sammanfattningar.
- Gmail för att skicka den veckovisa HTML-digesten.
- Firecrawl API-nyckel (hämta den i din Firecrawl-dashboard).
Kunskapsnivå: Medel. Du klistrar in ett Sheet-ID i noder, kopplar OAuth-uppgifter och testar en URL från start till mål.
Vill du inte sätta upp detta själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Ett veckoschema drar igång det. Workflowet kör på ett cron-schema söndag morgon, så digesten dyker upp innan veckan blir intensiv.
Google Sheets blir “single source of truth”. n8n läser rader från din flik “Input Links” och kontrollerar sedan din flik “Summary” så att den kan hoppa över allt som redan är behandlat.
AI filtrerar först, sedan sammanfattar den. En agent granskar kandidatlänkar och behåller bara de typer du bryr dig om (blogginlägg, guider, nyheter, produktuppdateringar). Efter att sidinnehållet skrapats via HTTP-request använder workflowet Gemini 2.5-Flash och en OpenAI mini-modell för att extrahera titel, författare, datum och en konsekvent sammanfattning på tre meningar.
Din digest landar i Gmail och arkivet växer automatiskt. Varje sammanfattning läggs till som en strukturerad rad i Google Sheets, och sedan bygger workflowet ett grupperat HTML-mejl och skickar det till mottagarna.
Du kan enkelt ändra filtreringsreglerna för att inkludera fler sidtyper (eller snäva in dem) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera schematriggern
Ställ in det veckoschema som startar digest-flödet.
- Välj Weekly Schedule Start och ställ in cron-regeln till
0 0 5 * * SUN. - Bekräfta att triggern är kopplad till Fetch Source Links så att workflowet startar med att läsa inmatningsarket.
Steg 2: anslut Google Sheets
Konfigurera in- och utdata-kalkylbladen som används för att lagra källänkar och sammanfattade resultat.
- Öppna Fetch Source Links och ställ in Document till
[YOUR_ID]och Sheet tillInput Links. Credential Required: Anslut eragoogleSheetsOAuth2Api-credentials. - Öppna Append Summary Row och ställ in Document till
[YOUR_ID]och Sheet tillSummary. Credential Required: Anslut eragoogleSheetsOAuth2Api-credentials. - I Append Summary Row mappar ni kolumner med de befintliga uttrycken, till exempel URL =
{{ $json.output[0].url }}och Crawled Date ={{ $today.toISODate()}}. - Öppna Retrieve Summary Rows och ställ in Document till
[YOUR_ID]och Sheet tillSummary. Credential Required: Anslut eragoogleSheetsOAuth2Api-credentials. - Öppna Read Summary Sheet Tool och ställ in Range till
G:Gunder Data Location. Credential Required: Anslut eragoogleSheetsOAuth2Api-credentials.
URL, Summary, Company), kommer append-steget i Append Summary Row att misslyckas eller skriva tom data.Steg 3: konfigurera crawl-förfrågningar
Ställ in HTTP-förfrågningarna som crawlar källsidor och hämtar markdown-innehåll.
- Öppna Crawl Link List och bekräfta att URL är
https://api.firecrawl.dev/v1/scrape, att Method ärPOSToch att Body matchar JSON-uttrycket med{{$json.Link}}. - Ställ in Authentication till
genericCredentialTypemed HTTP Header Auth. Credential Required: Anslut erahttpHeaderAuth-credentials. - Öppna Fetch Markdown Content och bekräfta att JSON-body använder
{{ $json.url }}och formatetmarkdown. - Ställ in Authentication till
genericCredentialTypemed HTTP Header Auth. Credential Required: Anslut erahttpHeaderAuth-credentials.
Steg 4: sätt upp AI-urval och sammanfattning
Konfigurera AI-agenterna och deras stödmodeller/verktyg för att filtrera URL:er och sammanfatta innehåll.
- I Agent: Select Crawl Targets behåller ni input-prompten med
{{ $json.data.links }}och säkerställer att hasOutputParser är aktiverad. - Öppna OpenAI Mini Model och välj modellen
o4-mini. Credential Required: Anslut eraopenAiApi-credentials. Den här modellen är kopplad till Agent: Select Crawl Targets. - Öppna Parse URL Schema och behåll JSON-schemaexemplet som angivet. Den här parsern är kopplad till Agent: Select Crawl Targets, så lägg till credentials på agentens språkmodell (OpenAI Mini Model), inte på parsern.
- I Agent: Summarize Pages behåller ni prompten som använder
{{ $json.data.metadata['og:url'] }}och{{ $json.data.markdown }}, och säkerställer att hasOutputParser är aktiverad. - Öppna Gemini Flash Model och bekräfta att Model är
models/gemini-2.5-flash. Credential Required: Anslut eragooglePalmApi-credentials. Den här modellen är kopplad till Agent: Summarize Pages. - Öppna Parse Summary Schema och behåll JSON-schemaexemplet. Den här parsern är kopplad till Agent: Summarize Pages, så lägg till credentials på den överordnade modellen (Gemini Flash Model), inte på parsern.
Steg 5: bygg digest och skicka e-post
Kompilera sammanfattningar till HTML och leverera veckodigesten via e-post.
- Öppna Assemble Email HTML och behåll JavaScript-koden som filtrerar rader på dagens datum och grupperar efter
Company. - Öppna Send Digest Email och ställ in Send To till
[YOUR_EMAIL], Subject tillURL Summaryoch Message till{{ $json.html }}. - Credential Required: Anslut era
gmailOAuth2-credentials i Send Digest Email.
Crawled Date för att generera innehåll.Steg 6: testa och aktivera ert workflow
Kör ett manuellt test, verifiera utdata och aktivera sedan veckoschemat.
- Klicka på Execute Workflow och kontrollera att Fetch Source Links returnerar länk-rader från ert inmatningsark.
- Verifiera att Append Summary Row skriver nya rader till arket
Summaryoch att Retrieve Summary Rows läser tillbaka dem. - Bekräfta att Assemble Email HTML ger ett giltigt
html-fält och att Send Digest Email levererar e-postmeddelandet utan fel. - När allt fungerar, växla workflowet till Active för att aktivera Weekly Schedule Start i produktion.
Vanliga fallgropar
- Google Sheets-credentials kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera n8n:s panel för Credentials och bekräfta att den auktoriserade Google-kontot fortfarande äger (eller kan redigera) kalkylarket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram fallerar på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera outputs i all evighet.
Vanliga frågor
Cirka en timme om dina Google Sheets- och Gmail-konton är redo.
Nej. Du kopplar konton, klistrar in ditt Sheet-ID och redigerar mottagarlistan.
Ja. n8n har ett gratis self-hosted-alternativ 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 Firecrawl-användning och eventuella AI-modellkostnader för Gemini/OpenAI-anrop.
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 dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, men då byter du leveranssteget. Ersätt noden “Send Digest Email (Gmail)” med en Slack message-nod, och behåll logiken “Assemble Email HTML” men outputta Markdown (eller enkel text) i stället. Vanliga anpassningar är att strama åt AI-“vakten” så att bara produktuppdateringar släpps igenom, ändra sammanfattningslängden från tre meningar till en och gruppera efter “Page Type” i stället för bolag.
Oftast är det en utgången OAuth-auktorisering eller fel Google-konto. Återanslut din Google Sheets OAuth2-credential i n8n och bekräfta sedan att kalkylarket är åtkomligt för samma konto. Kontrollera också Document ID i varje Sheets-nod, eftersom ett enda felaktigt Sheet-ID kan se ut som ett “anslutnings”-fel.
I praktiken fungerar dussintals per körning för de flesta team, men skrapning och AI-anrop blir flaskhalsen. Firecrawls free tier är begränsad (cirka 10 requests per minut), så om ditt input-sheet regelbundet har 50+ nya länkar vill du batcha eller välja en betald plan. På n8n Cloud är din gräns främst månadsvisa körningar, medan self-hosting tar bort körningsbegränsningar och flyttar begränsningarna till serverresurser och tredjeparts-API:er.
Ofta, ja, eftersom det här workflowet behöver förgreningar, strukturerad parsing och flerstegs-AI i samma körning. n8n hanterar komplexa flöden utan att göra varje gren till en betald “task”, och self-hosting ger utrymme att skala. Zapier och Make kan fortfarande fungera om du håller det enkelt, som “ny rad i Sheets → sammanfatta → mejla”, men när du lägger till avdubblering, filtrering, skrapning och formatering kommer kostnader och komplexitet snabbt. Om du är osäker, prata med en automationsspecialist så får du en rak rekommendation utifrån din volym.
En veckovis konkurrent-digest ska kännas friktionsfri. Sätt upp detta en gång och låt workflowet leverera uppdateringarna medan du fokuserar på vad de betyder.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.