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: slå ihop listor snabbt

Rickard Andersson Partner, Nodenordic.se

Din lista är ”slutgiltig” tills någon klistrar in ytterligare en export, ändrar ett kolumnnamn eller uppdaterar lagret på ett annat ställe. Då dyker dubletterna upp. Antal slutar stämma. Du slösar en eftermiddag på att ta reda på vilken version som är den riktiga, och du litar fortfarande inte helt på den.

Det här drabbar marketing ops när kampanjlistor inte går att stämma av, och butiksägare märker det när produkt- eller ingredienslager blir rörigt. Analytiker och projektledare hamnar där också. Sheets Slack merge-automatisering tar hand om den tråkiga delen så att du faktiskt kan agera på datan.

Det här arbetsflödet slår ihop flera dataset till en felfri, avdubbletterad lista och skickar sedan en Slack-varning när något ser fel ut. Du får se hur delarna hänger ihop, vad du behöver och var team oftast kör fast.

Så fungerar automatiseringen

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

n8n Workflow Template: Google Sheets + Slack: slå ihop listor snabbt

Problemet: att slå ihop listor utan att tappa förtroendet

Att slå ihop dataset låter enkelt tills du gör det varje vecka. En lista har ”SKU”, en annan säger ”Product ID”. En export innehåller utgångna artiklar, den andra gör det inte. Någon sorterar ett ark och nu pekar din VLOOKUP på fel rad. Även när du ”får det att funka” undrar du fortfarande om du råkade tappa nya artiklar eller dubblera gamla. Kostnaden är inte bara tid; det är tvekan som kommer efteråt. När du inte litar på listan fördröjer du beslut och kön växer.

Inget av det här är problemet var för sig. Tillsammans är det det.

  • Du lägger ungefär 2 timmar per vecka på att jämföra exporter och sedan dubbelkolla dem eftersom totalsummorna känns fel.
  • Dubletter smyger sig in när namn skiljer sig lite, så din rapport över ”nya artiklar” blir brus.
  • Att bara behålla nya artiklar blir skört när manuella filter sparas, rensas och återanvänds av olika personer.
  • Det finns ingen tidig varning, så avvikelser upptäcks efter att du redan har skickat en rapport eller lagt en beställning.

Lösningen: slå ihop dataset, flagga avvikelser i Slack

Det här n8n-arbetsflödet tar flera inkommande dataset, rensar och formar om dem och slår sedan ihop dem med SQL-liknande matchningsregler (tänk ”join”-logik, men utan att behöva en databas). Det startar med en enda trigger, hämtar in varje dataset-gren och kör små bearbetningssteg för att normalisera fält så att jämförelser blir rättvisa. Därefter slår det ihop ”krävs” kontra ”i lager” för att identifiera vad som saknas, och kombinerar även andra stödlistor till en sammanhållen vy. När arbetsflödet hittar en avvikelse eller något som inte går att stämma av ordentligt kan det posta ett Slack-meddelande så att rätt person ser det direkt. I stället för att lägga morgonen på att granska kalkylark får du en felfri lista plus en enkel signal för undantag.

Arbetsflödet börjar när du kör det manuellt (eller byter trigger senare till en webhook eller en app-trigger). Varje dataset förbereds i sin egen gren med små kodsteg, och sedan slår merge-noder ihop allt till ett konsekvent slutresultat. Till sist är Slack platsen där ”heads up” hamnar när totalsummor eller matchningar inte stämmer.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du slår ihop två exporter varje måndag: en lista med ”artiklar som krävs” och en lista med ”artiklar i lager”, och sedan lägger du även till två stödlistor för kvantiteter och grunddata. Manuellt är det ofta 20 minuter per lista för att fixa kolumner och format (cirka 80 minuter), plus ytterligare 30–40 minuter för att avdubblettera och rimlighetskontrollera totalsummor. Med det här arbetsflödet triggar du det en gång, låter det processa i ett par minuter och lägger bara tid på undantagen som Slack flaggar. I praktiken är du tillbaka i arbete på cirka 10 minuter.

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)
  • Google Sheets för dataset du slår ihop och rensar
  • Slack för att ta emot avvikelse- och undantagsnotiser
  • Slack bot token (skapa den i Slack API apps)

Svårighetsnivå: Medel. Du klistrar in inloggningsuppgifter, mappar fält en gång och är bekväm med att justera enkla matchningsregler.

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

Så fungerar det

En körning startar allt. Arbetsflödet startar med en manuell trigger just nu, vilket är perfekt för test och veckovisa batchkörningar. Om du vill kan du senare byta till en webhook eller en app-trigger så att det körs automatiskt när ny data kommer in.

Varje dataset normaliseras först. Separata ”kod”-steg förbereder dina listor (till exempel bygga en baslista, forma kvantitetsdata och standardisera medlems- eller artikelposter) så att merge-stegen jämför äpplen med äpplen. Det är här stökiga kolumner slutar vara ett problem.

Merge-logiken gör ihopslagningen. Merge-noder kombinerar dataset med matchningsregler, likt hur en databaskoppling (join) fungerar. En merge jämför ”krävs” mot ”i lager” så att du kan behålla bara nya artiklar eller identifiera vad som saknas.

Slack får undantagen. När något inte matchar kan du notifiera en kanal så att frågan granskas innan den blir en felaktig rapport eller en fel beställning. Tyst när allt är okej. Högljutt när det inte är det.

Du kan enkelt ändra matchningsreglerna för att slå ihop på SKU, e-post, produktnamn eller valfri unik nyckel utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera den manuella triggern

Konfigurera arbetsflödets startpunkt så att ni kan köra automatiseringen vid behov.

  1. Lägg till noden Manual Launch Trigger som arbetsflödets trigger.
  2. Lämna standardinställningarna som de är i Manual Launch Trigger eftersom inga parametrar krävs.
  3. Koppla Manual Launch Trigger till alla sex datagenereringsnoder för att matcha den parallella starten.

Tips: Manual Launch Trigger skickar ut data parallellt till Required Ingredients List, Stocked Ingredients List, Ingredient Base List, Recipe Quantity Data, Queen Members Data och Zeppelin Members Data, så att alla dataset byggs samtidigt.

Steg 2: anslut ingrediensdata som indata

Definiera nödvändiga och lagerförda ingredienser som kodbaserade dataset.

  1. Lägg till noden Required Ingredients List och ställ in jsCode till return [ { "Name": "Flour", }, { "Name": "Eggs", }, { "Name": "Milk", }, { "Name": "Lemon", }, { "Name": "Sugar", },];
  2. Lägg till noden Stocked Ingredients List och ställ in jsCode till return [ { "Name": "Eggs", }, { "Name": "Lemon", }, { "Name": "Sugar", },];
  3. Koppla Required Ingredients List till Match Stocked Items input 0 och Stocked Ingredients List till input 1.

Steg 3: konfigurera bearbetning av receptdetaljer

Slå samman basdata för ingredienser med mängddata för att berika varje ingredienspost.

  1. Lägg till Ingredient Base List och ställ in jsCode till return [ { "Name": "Flour", }, { "Name": "Eggs", }, { "Name": "Milk", }, { "Name": "Lemon", }, { "Name": "Sugar", },];
  2. Lägg till Recipe Quantity Data och ställ in jsCode till return [ { "Name": "Flour", "Quantity": "100g", }, { "Name": "Eggs", "Quantity": 2, }, { "Name": "Salt", "Quantity": "50g" }, { "Name": "Lemon", "Quantity": 1, }, { "Name": "Sugar", "Quantity": "6tbsp", },];
  3. Konfigurera Combine Recipe Details med Mode satt till combine och Join Mode satt till enrichInput1.
  4. Ställ in mergeByFields i Combine Recipe Details så att field1 Name matchas med field2 Name.

⚠️ Vanlig fallgrop: Om fälten Name inte matchar exakt mellan indata kommer Combine Recipe Details inte att berika posterna som förväntat.

Steg 4: konfigurera sammanslagning av banduppställningsdata

Slå ihop de två datasetten med bandmedlemmar till en enda uppställning med en merge-nod.

  1. Lägg till Queen Members Data och ställ in jsCode till return [ {"FirstName": "John","LastName": "Deacon","Instrument": "Drums",}, {"FirstName": "Freddy","LastName": "Mercury","Instrument": "Vocals and Piano","Superpower": "Crowd control"}, {"FirstName": "Brian","LastName": "May","Instrument": "Guitar",}, {"FirstName": "Roger","LastName": "Taylor","Instrument": "Bass",} ];
  2. Lägg till Zeppelin Members Data och ställ in jsCode till return [ {"FirstName": "Jimmy","LastName": "Page","Instrument": "Guitar"}, {"FirstName": "Robert","LastName": "Plant","Instrument": "Vocals",}, {"FirstName": "John","LastName": "Bonham","Instrument": "Drums",}, {"FirstName": "John","LastName": "Paul Jones","Instrument": "Bass","Second Instrument": "Keyboard",} ];
  3. Koppla Queen Members Data till Unified Band Lineup input 0 och Zeppelin Members Data till input 1.

Steg 5: konfigurera merge för lagerjämförelse

Slå ihop listorna över nödvändiga och lagerförda ingredienser så att ni kan jämföra tillgänglighet.

  1. Konfigurera Match Stocked Items med Mode satt till combine.
  2. Ställ in mergeByFields i Match Stocked Items så att field1 Name matchas med field2 Name.

Steg 6: testa och aktivera ert arbetsflöde

Kör arbetsflödet manuellt för att bekräfta att båda merge-flödena ger förväntade utdata.

  1. Klicka på Execute Workflow för att köra Manual Launch Trigger.
  2. Verifiera att Match Stocked Items skickar ut kombinerade poster baserat på matchande Name-värden.
  3. Verifiera att Combine Recipe Details berikar basingredienser med mängder där namnen matchar.
  4. Kontrollera att Unified Band Lineup innehåller medlemmar från båda källdatasetten.
  5. Spara arbetsflödet och behåll det i manuellt läge för körningar vid behov, eller byt till en automatiserad trigger om ni senare lägger till en.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Slack-inloggning kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först scopes för din Slack-app-token och credential-posten i n8n.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms-noder misslyckas på grund av tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in ditt varumärkes ton tidigt, annars kommer du att redigera utskrifter i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Sheets Slack merge-automatiseringen?

Cirka 30 minuter om din Slack-åtkomst är klar.

Behöver jag kodkunskaper för att automatisera Sheets Slack merge?

Nej. Du mappar mest fält och sätter matchningsregler. De inkluderade kodstegen kan vara oförändrade om du inte vill ha anpassad logik.

Är n8n gratis att använda för det här Sheets Slack merge-arbetsflödet?

Ja. n8n har ett gratis alternativ för self-hosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in Slack (oftast gratis) och eventuella datakällkostnader om du lägger till betalda API:er senare.

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 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.

Kan jag anpassa det här Sheets Slack merge-arbetsflödet för att bara behålla nya artiklar?

Ja, det är en av huvudorsakerna att använda det. Du justerar fälten för matchning i merge-steget ”Match Stocked Items” och finjusterar filtreringslogiken i kodstegen ”Required Ingredients List” och ”Stocked Ingredients List”. Vanliga anpassningar är ”bara artiklar som inte finns i lager”, ”bara befintliga artiklar” och ”lägg till allt men avdubblettera med en unik nyckel”.

Varför misslyckas min Slack-anslutning i det här arbetsflödet?

Oftast beror det på en utgången token eller saknade scopes i Slack-appen. Generera en ny token, uppdatera Slack-credential i n8n och bekräfta att boten är inbjuden till kanalen du postar i. Om det funkar i en kanal men inte i en annan är det nästan alltid en kanalåtkomstfråga. Rate limits är mer ovanliga här, men kan dyka upp om du postar många varningar på kort tid.

Hur många poster kan den här Sheets Slack merge-automatiseringen hantera?

Tusentals per körning är normalt.

Är den här Sheets Slack merge-automatiseringen bättre än att använda Zapier eller Make?

Det beror på hur noggranna dina matchningsregler behöver vara. Zapier och Make är bra för enkla ”skicka rad A till verktyg B”-automatiseringar, men sammanslagningar med join-liknande logik blir snabbt klumpiga. n8n är mer bekvämt när du behöver förgreningar, flera dataset och filtrering för ”bara nya artiklar” i ett arbetsflöde. Om du self-hostar betalar du heller inte per task på samma sätt, vilket spelar roll när du kör det här dagligen. Prata med en automationsexpert om du vill ha hjälp att välja det enklaste alternativet för din setup.

När dina merge-regler är satta kör arbetsflödet likadant varje gång. Felfria listor, färre överraskningar och Slack som bara stör dig när det faktiskt spelar roll.

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