Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Google Sheets + Slack: fånga fallande flygpriser

Rickard Andersson Partner, Nodenordic.se

Flygbiljettspriser sjunker inte på ditt schema. Du uppdaterar Google Flights, kollar Skyscanner, öppnar tre flikar till “bara för att bekräfta”, och sedan försvinner priset medan du är upptagen med att faktiskt jobba.

Det här drabbar rese-konsulter hårdast, men ops-ansvariga och interna reseansvariga känner av det också. Med automatisering för prisbevakning på flyg slutar du sitta barnvakt åt sökresultat och börjar få strukturerade Slack-notiser i rätt tid när en rutt faktiskt blir värd att boka.

Det här flödet hämtar priser från flera källor, loggar historiken i Google Sheets, kör en AI-baserad “rimlighetskontroll” och först därefter notifierar det teamet. Nedan ser du exakt vad som automatiseras, vilka resultat du kan förvänta dig och hur du anpassar det för dina rutter och trösklar.

så fungerar automatiseringen

Hela n8n-flödet, från trigger till slutligt resultat:

n8n Workflow Template: Google Sheets + Slack: fånga fallande flygpriser

problemet: prisfall sker när du inte tittar

Manuell prisbevakning låter enkelt tills du gör det för mer än en rutt. Du kollar Google Flights, sedan Skyscanner, sedan kanske Kayak, och ändå känns det osäkert eftersom varje källa kan visa lite olika tider, skatter eller tillgänglighet. Under tiden hamnar dina “anteckningar” utspridda mellan webbläsarbokmärken, slumpmässiga skärmdumpar och någons minne av vad priset var förra tisdagen. Det handlar inte bara om tid. Det är den mentala belastningen av konstant jämförelse, plus risken att missa den enda dipp som skulle gjort resan prisvärd.

Det summerar snabbt. Här är var det faller isär i verkliga team.

  • Du slutar med att kontrollera samma rutter flera gånger om dagen eftersom det saknas en gemensam källa som alla litar på.
  • Folk tappar förtroendet för notiser eftersom de bygger på en enda sajt, inte en korskontroll mot annan data.
  • “Var det här verkligen ett fall?” blir en diskussion när du inte har en korrekt formaterad prishistorik samlad på ett ställe.
  • Även när du hittar ett bra pris slösar du tid på att formatera ett meddelande, tagga rätt personer och kopiera detaljer till ett ark.

lösningen: prischeckar från flera källor loggade i sheets, aviseringar i slack

Det här n8n-flödet kör schemalagda prischeckar för rutterna du bryr dig om, hämtar prisdata från Google Flights, Skyscanner och Kayak och kombinerar sedan resultaten till en enhetlig datamängd. Efter det gör det något som många enkla alert-upplägg hoppar över: det jämför aktuella priser med din lagrade historik i Google Sheets och kör ett AI-analyslager som flaggar trender, avvikelser och “falsklarm”. Om siffrorna godkänns enligt dina beslutsregler (dina trösklar, dina riskspärrar och dina kontroller för bokningsberedskap) skickar det Slack-notiser med bokningsklara detaljer och uppdaterar arket så att hela teamet ser samma bild. När flödet hittar något som verkligen går att agera på kan det också publicera ett deal-inlägg eller en analysrapport till WordPress automatiskt.

Flödet startar enligt ett schema. Det samlar in och slår ihop prisresultat, utvärderar sedan prisrörelse och kontext (säsong, efterfrågan på rutten, märkliga toppar). Till sist uppdaterar det ditt Google-ark och skickar rätt meddelande i Slack, vilket gör att du agerar på prisfall i stället för att upptäcka dem för sent.

vad du får: automatisering vs. resultat

exempel: så här ser det ut

Säg att du bevakar 12 rutter för kundresor och att du kollar 3 källor (Google Flights, Skyscanner, Kayak) två gånger om dagen. Om varje kontroll tar cirka 5 minuter per källa blir det ungefär 6 timmar i veckan av flikhoppande och copy-paste. Med det här flödet sätter du kriterierna en gång, sedan tar varje körning en minut att dra igång (den är schemalagd) och några minuter att processa i bakgrunden. Du lägger bara tid när Slack säger: “den här är viktig”.

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 att lagra och granska prishistorik
  • Slack för att skicka notiser till rätt kanal
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard)

svårighetsnivå: Medel. Du kopplar konton, klistrar in API-tokens och justerar några trösklar och fält.

Vill du inte sätta upp det här själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).

så fungerar det

En schemalagd körning startar kontrollen. “Scheduled Price Trigger” körs med det intervall du väljer (varje timme, dagligen eller något däremellan), så du är inte beroende av att någon kommer ihåg att kolla.

Dina flygkriterier tillämpas konsekvent. Flödet definierar avreseort, destination, datum, kabinklass och eventuella filter du har satt, och skickar sedan samma parametrar till varje källa så att du jämför äpplen med äpplen.

Prisdata från flera källor slås ihop och analyseras. HTTP-anrop hämtar resultat från Kayak, Google Flights och Skyscanner, och därefter aggregerar flödet dem. Sedan granskar en AI-agent den sammanslagna outputen, tittar på tidigare priser i Google Sheets och hjälper till att tolka rörelser så att du inte jagar märkliga toppar.

Beslut routas till Slack och publicering. Om kontrollerna för bokningsberedskap och riskutvärdering går igenom mappar flödet bokningsfälten och skickar en Slack-notis för bokning (plus en brådskande ping vid behov). Det kan också publicera deal-inlägg och analysrapporter till WordPress för ett kundnära flöde eller intern rapportering.

Du kan enkelt ändra priströsklarna så att de matchar dina rutter och budgetar 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 arbetsflödets körfrekvens och definiera kriterierna för flygsökningen som resten av flödet kommer att använda.

  1. Öppna Scheduled Price Trigger och ställ in schemaregeln så att den körs var 6:e timme genom att sätta Interval till hours och hoursInterval till 6.
  2. I Define Flight Criteria ställer ni in departure_city till New York och destination till Tokyo.
  3. Ställ in date_range_start till {{ $now.plus(30, 'days').toFormat('yyyy-MM-dd') }} och date_range_end till {{ $now.plus(60, 'days').toFormat('yyyy-MM-dd') }}.
  4. Ställ in max_budget till 1200 och preferred_departure_time till morning.

Steg 2: konfigurera parallell insamling av flygdata

Hämta flygdata från flera leverantörer parallellt och sammanställ den till en gemensam dataset.

  1. I Kayak Data Request ställer ni in URL till https://www.kayak.com/flights/{{ $json.departure_city }}-{{ $json.destination }}/{{ $json.date_range_start }}.
  2. I Google Flights Fetch ställer ni in URL till https://www.google.com/travel/flights/search?q=Flights+to+{{ $json.destination }}+from+{{ $json.departure_city }}.
  3. I Skyscanner Lookup ställer ni in URL till https://www.skyscanner.com/transport/flights/{{ $json.departure_city }}/{{ $json.destination }}.
  4. Säkerställ att Define Flight Criteria skickar output parallellt till Kayak Data Request, Google Flights Fetch och Skyscanner Lookup.
  5. Ställ in Combine Flight Results till Aggregate med aggregateAllItemData så att de tre HTTP-resultaten slås ihop.

Define Flight Criteria skickar output parallellt till Kayak Data Request, Google Flights Fetch och Skyscanner Lookup, och därefter matar alla tre Combine Flight Results.

Steg 3: konfigurera AI-analys och parsning

Konfigurera AI-modellen och agenterna som tolkar rå flygdata och genererar strukturerade insikter.

  1. Öppna AI Model Config och ställ in alternativen till en låg temperatur (redan satt till 0.3) för konsekvent extraktion.
  2. I Flight Insight Agent behåller ni prompten som definierad och säkerställer att den refererar till kriteriefälten som {{ $('Define Flight Criteria').item.json.departure_city }} och den aggregerade datan med {{ JSON.stringify($json) }}.
  3. Koppla Structured Parse Output som output-parser för Flight Insight Agent.
  4. Öppna Enhanced AI Prompt och bekräfta att model är satt till gpt-4o med temperaturen 0.2.
  5. I Advanced Insight Agent behåller ni prompten och säkerställer att den refererar till {{ $('Compute Price Changes').first()?.json.average_price || 'N/A' }} och annan historisk analys.

Autentisering krävs: Anslut era OpenAI-uppgifter i AI Model Config och Enhanced AI Prompt.

Obs: Structured Parse Output är en AI-undernod; lägg till autentisering på den överordnade språkmodellnoden (AI Model Config), inte på själva parsern.

Steg 4: konfigurera historisk data och prisanalys

Lagra prishistorik i Google Sheets och beräkna analyser som matar det avancerade beslutsflödet.

  1. I Append Price History ställer ni in Operation till append, Sheet Name till Flight Price History och Document ID till ert Google Sheet-ID.
  2. I Retrieve Past Prices ställer ni in Sheet Name till Flight Price History och Document ID till samma sheet-ID.
  3. I Compute Price Changes behåller ni den medföljande JavaScript-koden för att beräkna volatilitet, trendstyrka och konfidens.
  4. Bekräfta flödet: Combine Flight Results skickar output parallellt till Retrieve Past Prices och Flight Insight Agent, och Retrieve Past Prices matar Compute Price Changes.

Autentisering krävs: Anslut era Google Sheets-uppgifter till Append Price History och Retrieve Past Prices.

Steg 5: konfigurera beslutsroutning och bokningsaviseringar

Routa AI-resultat till brådsketrösklar, mappa bokningsfält och skicka aviseringar eller inlägg baserat på beredskap.

  1. I Booking Readiness Check behåller ni villkoren: {{ $json.booking_ready }} är lika med true OCH {{ $json.lowest_price }} är mindre än eller lika med {{ $('Define Flight Criteria').item.json.max_budget }}.
  2. I Decision Routing bekräftar ni de tre routningsreglerna för immediate_booking, price_drop_alert och wait_and_monitor med de definierade uttrycken.
  3. I Risk Evaluation Gate behåller ni villkoren som kräver {{ $json.booking_urgency_score }} större än eller lika med 75 och {{ $json.price_volatility }} inte lika med high.
  4. I Map Booking Fields mappar ni fälten med uttryck som {{ $json.best_flight_details.booking_url }} och sätter timestamp till {{ $now.toISO() }}.
  5. Säkerställ att Map Booking Fields skickar output parallellt till både Slack Booking Alert och Publish Deal Post.

Combine Flight Results skickar output parallellt till både Flight Insight Agent och Retrieve Past Prices, och Risk Evaluation Gate skickar output parallellt till både Map Booking Fields och Slack Urgency Alert.

Steg 6: konfigurera Slack- och WordPress-utdata

Leverera aviseringar till Slack och publicera inlägg i WordPress baserat på AI-insikter och routningsutfall.

  1. I Slack Booking Alert ställer ni in Channel till er målkanal och behåller meddelandemallen som använder {{ $json.flight_price }} och {{ $('Flight Insight Agent').item.json.price_trend }}.
  2. I Slack Price Summary väljer ni sammanfattningskanalen och behåller meddelandemallen med {{ $json.lowest_price }} och {{ $json.optimal_window ? 'Yes ✅' : 'No ⏳' }}.
  3. I Slack Urgency Alert väljer ni aviseringskanalen och behåller brådskande-meddelandemallen som använder {{ $('Advanced Insight Agent').item.json.booking_urgency_score }}.
  4. I Slack Analytics Report använder ni blockmeddelandemallen som refererar till {{ $('Compute Price Changes').item.json.average_price }} och {{ $('Advanced Insight Agent').item.json.recommendation }}.
  5. I Publish Deal Post ställer ni in Title till Japan Flight Deal Alert: ${{ $json.flight_price }} to {{ $('Define Flight Criteria').item.json.destination }} och behåller kategorierna.
  6. I Publish Analytics Report ställer ni in Title till Japan Flight Intelligence Report: {{ $now.toFormat('MMM dd, yyyy') }} och behåller status publish.

Autentisering krävs: Anslut era Slack-uppgifter till Slack Booking Alert, Slack Price Summary, Slack Urgency Alert och Slack Analytics Report.

Autentisering krävs: Anslut era WordPress-uppgifter till Publish Deal Post och Publish Analytics Report.

Steg 7: testa och aktivera ert arbetsflöde

Verifiera att datainsamling, AI-analys, routning och aviseringar fungerar end-to-end innan ni slår på det.

  1. Klicka på Execute Workflow och bekräfta att Define Flight Criteria skickar ut förväntade värden.
  2. Verifiera att Kayak Data Request, Google Flights Fetch och Skyscanner Lookup returnerar svar och att Combine Flight Results aggregerar dem.
  3. Kontrollera att Flight Insight Agent returnerar strukturerad JSON och att Append Price History skriver en rad till Google Sheets.
  4. Bekräfta att Compute Price Changes producerar analysdata och att Advanced Insight Agent routar in i Decision Routing som förväntat.
  5. Kontrollera Slack-meddelanden och WordPress-inlägg från Slack Booking Alert, Slack Price Summary, Slack Analytics Report och Publish Deal Post eller Publish Analytics Report.
  6. När testerna är lyckade växlar ni arbetsflödet till Active så att Scheduled Price Trigger körs automatiskt.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

vanliga fallgropar

  • Behörigheter i Google Sheets kan vara den tysta mördaren. Om rader slutar läggas till, kontrollera det anslutna Google-kontot i n8n och bekräfta att målarket och fliken fortfarande finns.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre ned misslyckas på grund av tomma svar.
  • OpenAI-prompter är avsiktligt generiska, men det ger också generiska resultat. Lägg in ditt språk för “vad som räknas som ett riktigt bra pris” tidigt (ruttregler, föredragna flygbolag, antaganden om bagage), annars kommer du att behöva ifrågasätta AI-sammanfattningarna.

vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för prisbevakning på flyg?

Cirka 45 minuter om du redan har dina API-tokens.

Behöver jag programmeringskunskaper för att automatisera prisbevakning på flyg?

Nej. Du kopplar mest konton och redigerar några fält och trösklar.

Är n8n gratis att använda för det här flödet för prisbevakning på flyg?

Ja. n8n har ett gratis alternativ för egen drift 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 och eventuella avgifter för flygdata-API:er från dina leverantörer.

Var kan jag hosta n8n för att köra den här automatiseringen?

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änsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här flödet för prisbevakning på flyg för internationella rutter och business class?

Ja, och det bör du. Uppdatera rutt, datum, kabinklass och filter i steget “Define Flight Criteria”, och skärp sedan beslutslogiken genom att justera trösklar i kontrollerna “Decision Routing” och “Risk Evaluation Gate”. Vanliga justeringar är att lägga till föredragna flygbolag, exkludera långa mellanlandningar och använda olika trösklar för prisfall per rutt.

Varför misslyckas min Google Sheets-anslutning i det här flödet?

Oftast handlar det om behörigheter eller att kalkylarket har ändrat struktur. Återanslut Google-kontot i n8n, bekräfta att sheet ID och fliknamn fortfarande stämmer, och kontrollera att kontot kan redigera (inte bara visa). Om arket har duplicerats eller en kolumn har bytt namn kan stegen “Append Price History” och “Retrieve Past Prices” peka på fält som inte längre finns.

Hur många rutter klarar den här automatiseringen för prisbevakning på flyg?

Tillräckligt för ett mindre team.

Är den här automatiseringen för prisbevakning på flyg bättre än att använda Zapier eller Make?

För just det här användningsfallet är n8n oftast ett bättre val eftersom flödet inte är ett enkelt “om priset sjunker, skicka meddelande”. Du slår ihop flera källor, lagrar historik, kör beräkningar och routar beslut via AI och riskkontroller, vilket är den typen av förgrening och datatransformering som blir dyr (eller krånglig) i Zapier och Make. n8n ger också möjligheten att köra i egen drift med obegränsade körningar, vilket spelar roll när du checkar ofta. Zapier eller Make kan fortfarande funka om du bara behöver en källa och en enkel tröskelnotis. Om du är osäker, prata med en automatiseringsexpert så gör vi en rimlighetskontroll av den enklaste setupen som når ditt mål.

När det här väl rullar slutar du jaga priser och börjar reagera på verkliga möjligheter. Det är ärligt talat hela poängen.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal