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

Spotify till Google Sheets, ordning i spellistor

Rickard Andersson Partner, Nodenordic.se

Dina Spotify ”Gilla-markeringar” ska vara ett skyddsnät. I stället blir det snabbt som en rörig vind. Bra låtar åker in och försvinner, och en månad senare minns du varken vad du sparade eller varför.

Det här drabbar upptagna marknadsförare som använder musik för att hålla fokus, men byråägare och soloentreprenörer känner av det också. Spotify Sheets-automatisering ger dig en sökbar lyssningshistorik och håller spellistorna rena utan att du ständigt behöver sortera manuellt.

Det här flödet arkiverar dina gillade spår till Google Sheets, hämtar Spotifys ljudegenskaper och använder sedan AI för att klassificera låtar till rätt spellistor i bulk. Du får se vad det gör, vad du behöver och var team oftast kör fast.

Så fungerar automatiseringen

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

n8n Workflow Template: Spotify till Google Sheets, ordning i spellistor

Problemet: ”Gilla-markeringar” blir snabbt oanvändbart

Det är lätt att spara spår. Det irriterande är att hitta dem senare. Spotify ger dig ”Gilla-markeringar”, men ingen riktig arkivvy som du kan söka i, tagga, granska eller analysera. Så du hamnar i små städsessioner som känns oskyldiga, tills du inser att du lagt en timme på att scrolla, provlyssna intros och fråga dig själv ”var hörde jag den här?”. Sedan försöker du sortera in i spellistor och då blir det ännu värre, eftersom du behöver sammanhang (mood, energi, genre, användningsfall) och inte bara spårnamnet.

Det summeras snabbt. Här är var det fallerar i verkligheten.

  • Manuell sortering blir en månatlig syssla som är lätt att hoppa över, och högen växer.
  • Utan en kalkylbladslogg kan du inte söka tillförlitligt på datum, artistmönster eller vilken ”fas” du var i när du sparade den.
  • Spotifys inbyggda organiseringsverktyg använder inte ljudegenskaper på det sätt du önskar, så spellistorna glider bort från temat.
  • Om du gillar mycket musik (några hundra spår i månaden är vanligt) glömmer du det mesta innan du ens hinner återvända till det.

Lösningen: autoarkivera spår och klassificera sedan till spellistor

Det här n8n-flödet körs enligt schema (månatligt som standard, men du kan göra det veckovis) och hämtar dina senaste spår i Spotify-biblioteket. Det tar in spårdetaljerna du faktiskt bryr dig om, och hämtar sedan Spotifys ljudegenskaper i batcher så att du får låtens ”form”, inte bara titeln. Därefter kontrollerar det ditt Google Sheet och tar bort allt du redan har loggat, vilket håller arkivet strukturerat. Nya spår läggs till i ditt sheet, och metadata för spellistor sparas också så att du har en levande referens för vad varje spellista är till för. Sedan kliver AI in, läser de där spellistebeskrivningarna och klassificerar varje spår till en eller flera spellistor. Till sist lägger n8n till spår i rätt Spotify-spellistor i bulk, med säker chunking (så att du inte slår i begränsningar).

Flödet startar med en schemalagd trigger i n8n. Spotify-noder hämtar dina spellistor och biblioteksspår, sedan hämtar HTTP-anrop ljudegenskaper som slås ihop till en dataset. Efter en snabb avduplicering mot Google Sheets mappar en AI-klassificeringskedja spår till spellistor, och Spotify-uppdateringar körs i grupperade batcher.

Det här får du: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du gillar ungefär 300 spår under en månad och att du har 12 temaspellistor (fokus, sömn, träning, äldre decennier och så vidare). Manuellt, även med ”bara 30 sekunder per spår” för att bestämma placering, blir det ungefär 2,5 timmar, och det inkluderar inte att leta i spellistor eller att tveka. Med det här flödet lägger du cirka 10 minuter på att sätta upp sheetet och spellistebeskrivningarna en gång, och sedan körs månadsjobbet i bakgrunden. Kostnaden för AI-klassificeringen är cirka 20 cent för 300 spår, och spellisteuppdateringarna körs i bulk så att du slipper sitta och övervaka.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Spotify för att läsa gillade låtar och uppdatera spellistor
  • Google Sheets för att lagra ditt spårarkiv
  • Anthropic- eller OpenAI-API-nyckel (hämta den i din Anthropic/OpenAI-dashboard)

Kunskapsnivå: Medel. Du kopplar konton, skapar ett sheet och justerar spellistebeskrivningar så att AI:n får bra ”regler” att följa.

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

Så fungerar det

En månatlig (eller veckovis) trigger kör jobbet. n8n startar på en schematrigger, så arkiveringen sker automatiskt utan att du behöver komma ihåg att göra den.

Spotify-data samlas in och berikas. Flödet hämtar dina spellistor (och filtrerar sedan till de du äger) och drar spår från ditt bibliotek. Det anropar också Spotify API för ljudegenskaper och slår sedan ihop allt till en korrekt formaterad dataset.

Google Sheets blir din ”source of truth”. Innan något läggs till hämtar n8n det du redan har loggat och exkluderar dubbletter. Nya spår läggs till i Tracks-loggen, och spellistedetaljer kan läggas till i en Playlists-logg, så att du behåller en historik över namn och beskrivningar över tid.

AI tilldelar spår till spellistor och Spotify uppdateras i bulk. Spår grupperas (upp till 200 åt gången), skickas till en AI-klassificeringskedja och expanderas tillbaka till spår-URI:er per spellista. Därefter sker Spotify-uppdateringar med chunking så att stora månader fortfarande rullar på utan problem.

Du kan enkelt ändra spellistebeskrivningarna efter din smak eller justera schemat från månad till vecka beroende på hur snabbt gilla-markeringarna staplas på. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-implementeringsguide

Steg 1: konfigurera schematriggaren

Ställ in månads­schemat så att automatiseringen körs återkommande och förgrenar till hämtning av spellistor och bibliotek.

  1. Öppna Monthly Schedule Trigger och ställ in intervallet för Rule till månader (det ska visas som ett månads­schema).
  2. Bekräfta att Monthly Schedule Trigger skickar utdata till både Retrieve Playlists och Retrieve Library Tracks parallellt.
  3. Behåll valfritt Flowpast Branding som en referensnotering för ert team.

Tips: om ni vill testa snabbt kan ni tillfälligt ändra schemat till ett kortare intervall och sedan återställa efter validering.

Steg 2: anslut Spotify-spellistor och bibliotekskällor

Hämta era spellistor och biblioteks­låtar, filtrera sedan till endast era egna spellistor och mappa nödvändiga fält för spellistor.

  1. Öppna Retrieve Playlists och ställ in Resource till playlist och Operation till getUserPlaylists. Credential Required: anslut era spotifyOAuth2Api-uppgifter.
  2. Öppna Retrieve Library Tracks och ställ in Resource till library och Return All till true. Credential Required: anslut era spotifyOAuth2Api-uppgifter.
  3. I Filter Owner Playlists ställer ni in villkoret så att {{$json.owner.display_name}} är lika med [YOUR_NAME].
  4. I Playlist Info Mapper ställer ni in JSON Output till { "playlist_name": "{{ $json.name }}", "playlist_description": "{{ $json.description }}", "playlist_spotify_uri": "{{ $json.uri }}" } .
  5. Bekräfta att Playlist Info Mapper skickar utdata till både Exclude Existing Playlists och Cap Playlist Count parallellt.

⚠️ Vanlig fallgrop: om [YOUR_NAME] inte matchar ert Spotify-visningsnamn exakt kommer Filter Owner Playlists att filtrera bort alla spellistor.

Steg 3: berika låtdata med audio features

Extrahera biblioteks­detaljer för låtar, batcha Spotify-ID:n och hämta audio feature-data för klassificering.

  1. I Extract Track Details ställer ni in Mode till raw och JSON Output till { "track" : "{{ $json.track.name.replaceAll('\"',\"'\") }}", "artist": "{{ $json.track.artists[0].name }}", "album" :"{{ $json.track.album.name }}", "track_spotify_uri" : "{{ $json.track.uri }}", "track_spotify_id" : "{{ $json.track.id }}", "external_urls": "{{ $json.track.external_urls.spotify }}", "track_popularity" : "{{ $json.track.popularity }}", "album_release_date" : "{{ $json.track.album.release_date.toDateTime().year }}" }.
  2. Behåll det parallella flödet från Extract Track Details till både Prepare ID Batches och Combine Track Data.
  3. I Prepare ID Batches behåller ni den medföljande JavaScript-koden som chunkar trackSpotifyIds i grupper om 100.
  4. Öppna Fetch Audio Features och ställ in URL till https://api.spotify.com/v1/audio-features med query ids satt till {{$json.trackSpotifyIds.join(",")}}. Credential Required: anslut era spotifyOAuth2Api-uppgifter.
  5. I Expand Features List ställer ni in Field to Split Out till audio_features och bekräftar att den matar Combine Track Data.
  6. I Combine Track Data behåller ni Mode som combine med Join Mode enrichInput2 och slår ihop via id till track_spotify_id.

Steg 4: minska fält och avduplicera mot Google Sheets-loggar

Trimma track-payloaden, begränsa antal poster och jämför mot er loggade historik för att undvika dubbletter.

  1. I Reduce Track Fields ställer ni in Include till except, Exclude Fields till track_spotify_id, external_urls, id, uri, track_href, analysis_url och lägger till date_added med värdet {{$now.format('yyyy-MM-dd')}}.
  2. Bekräfta att Reduce Track Fields skickar utdata till både Cap Record Count och Exclude Existing Tracks parallellt.
  3. Öppna Fetch Logged Tracks och ställ in Document ID till [YOUR_ID], Sheet Name till tracks listing och Range till A:B. Credential Required: anslut era googleSheetsOAuth2Api-uppgifter.
  4. I Exclude Existing Tracks behåller ni Join Mode som keepNonMatches och Fields to Match satt till track_spotify_uri.
  5. Säkerställ att Exclude Existing Tracks skickar utdata till både Append Tracks Log och Route Tracks to AI parallellt.

Tips: verifiera att ert Google Sheet har kolumner som matchar indata; append-operationen använder automatisk mappning.

Steg 5: konfigurera AI-klassificering och parsning

Chunk:a låtar för modellen, kör LLM-klassificeringen och parsa den strukturerade utdatan.

  1. I Group Tracks by 200 behåller ni JavaScript-koden som bygger chunk-arrayer med 200 låtar.
  2. Öppna LLM Classification Chain och ställ in Text till =#### Tracks to Analyze: {{ JSON.stringify($json.chunk) }} .
  3. Säkerställ att den långa prompten i LLM Classification Chain refererar till spellistor via {{ JSON.stringify($('Playlist Info Mapper').all()) }}.
  4. Verifiera att Anthropic Chat Engine är ansluten som språkmodell för LLM Classification Chain. Credential Required: anslut era anthropicApi-uppgifter.
  5. Använd Structured Result Parser som output parser för LLM Classification Chain med det medföljande JSON-schemat. Lägg till credentials i Anthropic Chat Engine (inte i parsern).
  6. Bekräfta att LLM Classification Chain skickar utdata till Expand AI Output.

⚠️ Vanlig fallgrop: parsern fungerar inte om LLM:en returnerar utdata som bryter mot schemat. Behåll promptens instruktioner för utdataformat intakta.

Steg 6: bygg utdata för uppdatering av spellistor

Dela upp AI-utdata i spellistor och låtlistor, validera data, chunk:a track-URI:er och uppdatera Spotify-spellistor.

  1. I Expand AI Output ställer ni in Field to Split Out till output.
  2. Bekräfta att Expand AI Output skickar utdata till både Expand Track URIs och Filter Nonempty Tracks parallellt.
  3. I Filter Nonempty Tracks behåller ni villkoret {{$json.trackUris}} notEmpty för att undvika tomma uppdateringar.
  4. I Chunk Playlist Tracks behåller ni JavaScript-koden som delar trackUris i chunkar om 100.
  5. Konfigurera Update Spotify Playlist med ID {{$json.uri}} och Track ID {{$json.trackUris.join(",")}}. Credential Required: anslut era spotifyOAuth2Api-uppgifter.
  6. I Append Tracks Log ställer ni in Document ID till [YOUR_ID] och Sheet Name till tracks listing. Credential Required: anslut era googleSheetsOAuth2Api-uppgifter.

⚠️ Vanlig fallgrop: Expand Track URIs och Manual Review Merge är inaktiverade i det här workflowet. Aktivera dem endast om ni behöver manuella granskningssteg i er process.

Steg 7: logga spellistor och slutför avduplicering

Logga nya spellistor till Google Sheets och begränsa hur många spellistor som bearbetas varje månad.

  1. I Fetch Logged Playlists ställer ni in Document ID till [YOUR_ID] och Sheet Name till playslists listing. Credential Required: anslut era googleSheetsOAuth2Api-uppgifter.
  2. Behåll Exclude Existing Playlists med Join Mode keepNonMatches och Fields to Match playlist_spotify_uri.
  3. I Append Playlists Log ställer ni in Document ID till [YOUR_ID] och Sheet Name till playslists listing. Credential Required: anslut era googleSheetsOAuth2Api-uppgifter.
  4. Justera Cap Playlist Count om ni vill begränsa hur många spellistor som loggas per körning.

Steg 8: testa och aktivera ert workflow

Kör ett manuellt test för att bekräfta att spellistor klassificeras och uppdateras, och aktivera sedan schemat.

  1. Klicka på Execute Workflow och verifiera att Monthly Schedule Trigger skickar utdata till Retrieve Playlists och Retrieve Library Tracks parallellt.
  2. Kontrollera att LLM Classification Chain returnerar strukturerad data och att Expand AI Output skapar items med playlistName, uri och trackUris.
  3. Bekräfta att nya rader läggs till i Append Tracks Log och Append Playlists Log, och att Update Spotify Playlist lyckas skriva låtar.
  4. När testet är lyckat, växla workflowet till Active för att köra det månadsvis.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Spotify OAuth-inloggningar kan löpa ut eller sakna scopes för att redigera spellistor. Om uppdateringar misslyckas, kontrollera din Spotify-inloggning i n8n och bekräfta att den har behörighet att ändra spellistor.
  • 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 tonalitet tidigt, annars kommer du redigera utdata för alltid.

Vanliga frågor

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

Cirka 30 minuter om dina Spotify- och Google-konton är redo.

Behöver jag kunna koda för att automatisera Spotify-arkivering och sortering av spellistor?

Ingen kodning krävs. Du kopplar främst inloggningar, skapar Google Sheetet och justerar spellistebeskrivningarna som används för klassificering.

Är n8n gratis att använda för det här Spotify Sheets-automatiseringsflödet?

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 med API-kostnader för AI-modellen, som ligger runt 20 cent för cirka 300 spår i en månads-körning (baserat på flödets uppskattning).

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

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) 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 Spotify Sheets-automatiseringsflödet för veckovis arkivering i stället för månatlig?

Ja, men du bör också justera inställningar för avduplicering och batching. Ändra schematriggern och granska sedan logiken för ”Cap Record Count” och ”Group Tracks by 200” så att mindre veckokörningar fortfarande är effektiva. De flesta justerar också AI-prompten i ”LLM Classification Chain” så att den prioriterar färre spellisteplaceringar när batchen är liten.

Varför misslyckas min Spotify-anslutning i det här Spotify Sheets-automatiseringsflödet?

Oftast handlar det om utgången Spotify OAuth eller att scopes saknas för att ändra spellistor. Återanslut Spotify-inloggningen i n8n och bekräfta att du har godkänt åtkomst för att redigera spellistor (inte bara läsa). Om det bara fallerar vid stora körningar kan du slå i rate limits, så minska batchstorleken vid hämtning av ljudegenskaper eller sakta ner spellisteuppdateringarna.

Hur många spår klarar den här Spotify Sheets-automatiseringen?

Hundratals per körning är normalt, och 300 spår är vad kostnadsuppskattningen baseras på.

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

Ofta, ja, eftersom det här flödet behöver batching, avduplicering, sammanslagning av dataset och en AI-klassificeringsloop som är klumpig i enklare verktyg. n8n ger dig också ett self-host-alternativ, vilket spelar roll när du vill köra stora månadsjobb utan att betala per steg. Zapier eller Make kan fortfarande fungera om du bara vill ha en enkel ”Gilla-markeringar till Google Sheets”-logg och kan hoppa över ljudegenskaper och spellisteuppdateringar. När du vill ha pålitliga bulkändringar i spellistor blir de snabbt pilliga. Enkelt uttryckt: titta på hur många spellistor du hanterar och hur noggrann du är med klassificeringskvalitet. Prata med en automatiseringsexpert om du vill ha en snabb rekommendation utifrån din setup.

När det här väl rullar slutar din lyssningshistorik vara ett svart hål. Flödet sköter sortering och loggning i bakgrunden, så du kan bara njuta av musiken.

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

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal