Du får reda på en konkurrents event först efter att det redan har hänt. Eller så hör du om det från en kund, vilket är ärligt talat värre, eftersom du vet att datan fanns där ute. Den är bara utspridd mellan sökningar, flikar, skärmdumpar och halvfärdiga anteckningar.
Det här är den typen av röra som marknadschefer känner under kampanjplanering. Eventarrangörer stöter på det när de försöker undvika datumkrockar. Och småföretagare som sköter sin egen outreach fastnar i “research” som i praktiken bara är copy-paste. En enkel uppsättning för SerpApi events logging samlar allt i ett kalkylark, automatiskt.
Du sätter upp ett n8n-flöde som hämtar Google Events-resultat via SerpApi, plattar ut datan till felfria rader och lägger till dem i en Google Sheets-logg som du faktiskt kan använda.
Så här fungerar automatiseringen
Här är hela flödet som du kommer att sätta upp:
n8n Workflow Template: SerpApi till Google Sheets: logga konkurrentevent
flowchart LR
subgraph sg0["Manual Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Search 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/>SerpApi Events Request"]
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/code.svg' width='40' height='40' /></div><br/>Process & Flatten Events"]
n4@{ icon: "mdi:database", form: "rounded", label: "Save to Google Sheets", pos: "b", h: 48 }
n0 --> n1
n1 --> n2
n2 --> n3
n3 --> 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 n4 database
class n2 api
class n3 code
classDef customIcon fill:none,stroke:none
class n2,n3 customIcon
Varför det här spelar roll: konkurrenters event är lätta att missa
Att bevaka konkurrenters event låter enkelt tills du försöker göra det konsekvent. Du söker på “branschträffar nära mig”, öppnar några resultat och plötsligt jonglerar du datum, platser och länkar i flera flikar. Nästa vecka söker du igen och minns inte vad som var nytt jämfört med det du redan sett. Om du loggar för hand smyger sig småfel in: en tidszon blir fel, platsnamnet ändras eller så klistrar du in samma event två gånger. Samtidigt är den verkliga kostnaden din uppmärksamhet. Du bränner en timme på att “bara kolla”, och undviker sedan att göra det igen på en månad.
Det bygger upp snabbt. Här är var det faller isär i verkligheten.
- Du får ofullständiga eventposter, så planering av outreach (eller att undvika krockar) blir rena gissningar.
- Manuell loggning gör det svårt att se förändringar över tid, som nya lokaler, nya sponsorer eller plötsliga aktivitetsökningar.
- Att kopiera nästlade eventdetaljer från sökresultat slösar cirka 10 minuter per event, och det är en “bra” dag.
- När loggen bara finns i någons huvud eller i webbläsarhistoriken kan teamet inte återanvända arbetet.
Vad du bygger: en Google Events-logg som uppdateras vid begäran
Det här flödet tar din sökidé (som “cybersecurity conferences in Austin” eller “startup demo day Berlin”) och gör om den till en strukturerad kalkylarkslogg. Du startar det i n8n, definierar sökparametrarna och sedan skickar flödet en förfrågan till SerpApis Google Events-motor. SerpApi returnerar ett innehållsrikt svar med eventblock som innehåller titlar, datum, platser, länkar, biljettinfo och ibland bilder. Flödet plattar därefter ut det nästlade svaret till felfria, konsekventa kolumner. Till sist lägger det till raderna i Google Sheets så att din “event intelligence” finns på ett ställe, redo för filtrering, outreach-planering eller veckovisa genomgångar.
Flödet börjar med en manuell start så att du kan testa säkert. Därefter paketerar det din query och pagineringsinställningar, anropar SerpApi och bearbetar varje resultatsida. När datan är rensad blir Google Sheets den enda eventloggen som teamet uppdaterar utan att ens tänka på det.
Det här bygger du
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du följer 3 konkurrentkategorier varje vecka (till exempel: “produktlanseringsevent”, “lokala meetups” och “branschkonferenser”), och att du loggar cirka 10 event per sökning. Manuellt är även 8 minuter per event ungefär 4 timmar av sökande, öppnande av listningar och inklistring av detaljer. Med det här flödet lägger du cirka 5 minuter på att justera queries och starta körningar, och låter sedan SerpApi + bearbetningen bli klara i bakgrunden. Ditt ark är uppdaterat, och du behövde inte vaka över webbläsaren.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Självhostningsalternativ om du föredrar det (Hostinger fungerar bra)
- SerpApi för Google Events-resultat via API
- Google Sheets för att lagra din eventlogg
- SerpApi API-nyckel (hämta den i din SerpApi-dashboard)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och redigerar några fält som sökfråga och Sheet ID.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Du kör det manuellt till att börja med. Flödet använder en Manual Trigger, vilket betyder att du klickar på “Execute” i n8n för att testa med dina egna söktermer innan du schemalägger något.
Sökinmatningarna definieras på vanlig svenska. I Set-noden (“Define Search Inputs”) anger du sökfrågan, hur många event som ska hämtas och startpositionen för pagineringen. Här anpassar du det till en stad, en nisch eller en konkurrents varumärkesnamn.
SerpApi anropas för att hämta Google Events. HTTP Request-noden (“External Events API Call”) skickar de parametrarna till SerpApis Google Events-motor, som returnerar strukturerad eventdata som du kan jobba med i stället för att skrapa sidor själv.
Allt plattas ut till rader och loggas. Code-noden (“Flatten Event Payloads”) konverterar nästlade fält till en kalkylarksvänlig struktur och sedan lägger Google Sheets (“Append to Sheets Log”) till de nya eventen i din logg för analys.
Du kan enkelt ändra sökfrågan och det totala antalet event för att matcha din marknad, och behålla samma loggningsstruktur. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den manuella triggern
Starta arbetsflödet med en manuell trigger så att ni kan validera resultaten innan ni automatiserar.
- Lägg till och välj Manual Launch Trigger som triggernod.
- Koppla Manual Launch Trigger till Define Search Inputs för att följa exekveringsflödet.
- Behåll Flowpast Branding som en referensnotering (ingen konfiguration behövs).
Steg 2: Anslut API-anropet för externa event
Definiera sökkriterierna och hämta eventlistningar från det externa API:et.
- Öppna Define Search Inputs och ställ in Mode på
raw. - Klistra in JSON:en i JSON Output:
{ "query": "Events in Texas", "total_events": 10, "start": 0 }. - Öppna External Events API Call och ställ in URL på
https://serpapi.com/search. - Aktivera Send Query och ställ in Authentication till
genericCredentialTypemed Generic Auth TypehttpQueryAuth. - Konfigurera query-parametrar: engine =
google_events, q ={{ $json.query }}, hl =en, gl =us. - Under paginering, ställ in start på
{{ $json.start }}, Max Requests på{{ $json.total_events/10 }}och Request Interval på2000.
Credential Required: Anslut era httpQueryAuth-inloggningsuppgifter
Steg 3: Sätt upp Flatten Event Payloads
Normalisera API-svaret så att varje event blir ett enskilt item med frågan kopplad.
- Öppna Flatten Event Payloads och klistra in JavaScript-koden från arbetsflödet för att iterera
events_resultsoch returnera plattade items. - Bekräfta att scriptet lägger till query till varje event genom att läsa
item.json.search_parameters?.q. - Koppla External Events API Call till Flatten Event Payloads i följd.
Steg 4: Konfigurera Append to Sheets Log
Lägg till de plattade eventen i ett Google Sheet för loggning och rapportering.
- Öppna Append to Sheets Log och ställ in Operation på
append. - Välj kalkylarket i Document ID och ställ in Sheet Name till
Sheet1(värdegid=0). - Mappa kolumner med uttryck: link =
{{ $json.link }}, when ={{ $json.date.when }}, image ={{ $json.image }}, query ={{ $json.query }}. - Fortsätt mappningen: title =
{{ $json.title }}, venue ={{ $json.venue }}, address ={{ $json.address }}, start_date ={{ $json.date.start_date }}. - Avsluta mappningen: description =
{{ $json.description }}, ticket_info ={{ $json.ticket_info }}, event_location_map ={{ $json.event_location_map.link }}.
Credential Required: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter
title, start_date, address) för att undvika fel vid tillägg.Steg 5: Testa och aktivera ert arbetsflöde
Validera flödet end-to-end och slå sedan på arbetsflödet för produktionsanvändning.
- Klicka på Execute Workflow i Manual Launch Trigger för att köra arbetsflödet manuellt.
- Kontrollera utdata från External Events API Call så att ni får en icke-tom
events_results-array. - Verifiera att Flatten Event Payloads returnerar flera items, där varje item har ett
query-fält. - Öppna ert Google Sheet och bekräfta att nya rader har lagts till av Append to Sheets Log.
- Ställ arbetsflödet på Active när ni är redo att använda det i produktion.
Felsökningstips
- SerpApi-uppgifter kan löpa ut eller nå planbegränsningar. Om något skapar fel, kontrollera användningen i din SerpApi-dashboard och generera en ny API-nyckel som används i HTTP Request-noden först.
- Om du använder Wait-beteende (eller lägger till det senare för rate limiting) varierar bearbetningstiderna. Öka fördröjningen om efterföljande noder misslyckas eftersom svaret är tomt eller ofullständigt.
- Google Sheets OAuth-scope och filbehörigheter spelar större roll än man tror. Om “append”-steget misslyckas, bekräfta att det anslutna Google-kontot kan redigera målarket och att Sheet ID är korrekt.
Snabba svar
Cirka 30 minuter om din SerpApi-nyckel och Google-inloggning är redo.
Nej. Du klistrar främst in uppgifter och redigerar sökfrågan samt målet i Google Sheet.
Ja. n8n har ett gratis självhostat 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 SerpApi-användning, eftersom det debiterar per API-anrop baserat på din plan.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhostning på en VPS. För självhostning är Hostinger VPS prisvärd och hanterar n8n bra. Självhostning ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, och du gör det främst i “Define Search Inputs”. Vanliga anpassningar är att ändra sökfrågan (stad, nisch, konkurrentnamn), öka total_events för att hämta fler sidor och redigera kolumnmappningen i “Append to Sheets Log” så att du sparar bara det teamet bryr sig om (som plats, biljettpris eller eventlänk).
Vanligtvis beror det på en felaktig eller utgången API-nyckel i HTTP Request-noden. Det kan också vara att du når SerpApi-gränserna på kontot, eller att du skickar fel engine/parametrar om du har redigerat requesten. Kontrollera fel och användning i din SerpApi-dashboard och kör sedan en manuell testkörning i n8n igen för att bekräfta att svaret ser normalt ut.
Om du självhostar n8n finns ingen körningsbegränsning (det beror på din server). I praktiken kan varje körning hämta flera resultatsidor, och SerpApi returnerar cirka 10 event per API-anrop, så du skalar genom att lägga till fler sidor och schemalägga körningar.
Ofta, ja, eftersom det här jobbet vinner på kontroll. Du hanterar paginering, nästlade payloads och att hålla en felfri logg, och n8n klarar förgreningar och kodbaserad utplattning utan att varje extra steg blir ytterligare en betald task. Zapier och Make kan fungera, men du känner oftast friktionen när du behöver loopar, datatillrättning eller högre körvolym. Om du bara vill ha ett litet “en sökning, en rad”-proof of concept kan de verktygen gå snabbare. För något du tänker förlita dig på varje vecka är n8n det robustare valet. Prata med en automationsexpert om du vill ha en second opinion.
När detta väl är på plats slutar konkurrentbevakning vara en sporadisk uppgift och blir en levande logg du kan lita på. Du upptäcker förändringar tidigare, planerar smartare och håller fokus på beslut, inte på datarensning.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.