Du har äntligen setlisten… och sen börjar stressen. Någon plockar fel version, låttexter ligger utspridda i skärmdumpar och din ”snabba förberedelse” blir en irriterande timme med flikar.
Bandledare känner det här precis före replokalen. Lovsångsteam lever med det på en veckovis deadline. Och eventmusiker drabbas hårdast när setlisten ändras i sista stund. Den här setlist-förberedelseautomationen förvandlar ett Google Sheet till en Spotify-spellista och ett strukturerat låttexthäfte som du kan dela.
Du får se hur arbetsflödet hämtar låtar från ditt sheet, verifierar titlar med AI, hittar låttexter och bygger en Spotify-spellista som är redo för rep samt ett Google Doc i en och samma körning.
Så fungerar automationen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets + Spotify för snabb setlist-fix
flowchart LR
subgraph sg0["Manual Run Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Run Trigger", pos: "b", h: 48 }
n1["<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/spotify.svg' width='40' height='40' /></div><br/>Generate Playlist"]
n2@{ icon: "mdi:cog", form: "rounded", label: "Generate Lyrics Doc", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Fetch Sheet Rows", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Verify Song Details", pos: "b", h: 48 }
n5["<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/>Retrieve Song Lyrics"]
n6@{ icon: "mdi:cog", form: "rounded", label: "Append Lyrics Document", pos: "b", h: 48 }
n7["<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/spotify.svg' width='40' height='40' /></div><br/>Find Track on Spotify"]
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/spotify.svg' width='40' height='40' /></div><br/>Append Track to Playlist"]
n9@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Engine", pos: "b", h: 48 }
n3 --> n4
n2 --> n3
n5 --> n6
n6 --> n7
n1 --> n2
n7 --> n8
n9 -.-> n4
n4 --> n5
n0 --> n1
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 ai
class n9 aiModel
class n1,n7,n8 decision
class n3 database
class n5 api
classDef customIcon fill:none,stroke:none
class n1,n5,n7,n8 customIcon
Utmaningen: setlist-förberedelser blir kaos i sista minuten
En setlist ser enkel ut tills du måste göra den användbar. Du behöver exakta versioner att öva på, du behöver låttexter som alla faktiskt kan läsa och du behöver en enda länk du kan skicka utan ett helt stycke instruktioner. När du gör det manuellt blir det repetitivt arbete med massor av små felpunkter: ett stavfel i titeln, att ”live”-versionen smyger sig in i spellistan eller låttexter som är nära men inte helt rätt. Inget av det här är svårt. Det är bara tröttande, och det stjäl fokus precis när du borde tänka på själva repet.
Det bygger snabbt på. Så här faller det isär i verkligheten:
- Du slutar med att söka efter varje låt två gånger eftersom första träffen ofta är fel spår eller fel artist.
- Låttexter finns på för många ställen, så någon dyker upp med en annan version och ni tappar tid på att synka.
- Att kopiera och klistra in i ett delat dokument känns snabbt, tills du gör det för 25 låtar och formateringen rasar.
- Ett litet stavfel i kalkylarket blir en trasig Spotify-sökning, vilket betyder en saknad låt som ingen upptäcker förrän på repet.
Lösningen: ett sheet blir en spellista och ett låttexthäfte
Det här arbetsflödet börjar med setlisten som du redan underhåller i Google Sheets (en fil som heter Setlist_Manager, med kolumner som Artist och SongTitle). När du kör det skapar det en ny Spotify-spellista med namnet ”Setlist – [dagens datum]” så att du alltid vet vilken körning som gav vilken spellista. Det skapar också ett matchande Google Doc med samma datumbaserade namn, som blir det gemensamma ”låttexthäftet” för alla. Sedan läser det varje rad från ditt sheet, använder AI för att verifiera och normalisera artist och titel (så att ”Beyonce” vs ”Beyoncé” inte spårar ur sökningen), hämtar låttexter via en HTTP-förfrågan, lägger till dem i dokumentet, hittar spåret i Spotify och lägger till det i spellistan. En körning. Två leveranser. Mycket mindre strul.
Arbetsflödet startas med en manuell körning i n8n. Därifrån skapar det först spellistan och dokumentet, och bearbetar sedan raderna i ditt sheet en och en. När det är klart har du en Spotify-länk att repa från och ett Google Doc du kan skriva ut, anteckna i eller dela.
Vad som förändras: före vs. efter
| Detta elimineras | Effekt du kommer att märka |
|---|---|
|
|
Effekt i verkligheten
Säg att du förbereder ett rep-set med 20 låtar. Manuellt kanske du lägger cirka 3 minuter per låt på att hitta rätt Spotify-spår och lägga till det, plus ytterligare 3 minuter på att hämta låttext och klistra in den snyggt. Det är ungefär 2 timmar, och det är lätt att missa ett spår. Med det här arbetsflödet uppdaterar du Google Sheet en gång, kör det och låter det processa i bakgrunden; de flesta team är klara på cirka 15 minuter ”hands-on”-arbete, med spellista och låttextdokument skapade automatiskt.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra raderna i din setlist.
- Google Docs för att generera det delbara låttexthäftet.
- Spotify för att skapa och fylla spellistan.
- OpenAI API-nyckel (hämta den från OpenAI API-dashboarden).
Kunskapsnivå: Medel. Du kopplar konton, klistrar in en API-nyckel och mappar ett par fält i n8n.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
Du triggar körningen. Det här arbetsflödet startas manuellt i n8n, vilket är perfekt när du vill generera ett nytt set precis före repet.
En ny spellista och ett nytt låttextdokument skapas först. Spotify skapar en spellista namngiven med dagens datum, och Google Docs skapar ett matchande dokument så att allt hör ihop.
Ditt Google Sheet blir källan till sanningen. n8n hämtar raderna Artist och SongTitle från kalkylarket Setlist_Manager, och sedan verifierar ett AI-steg detaljerna så att sökningar längre fram blir mer tillförlitliga.
Låttexter och spår kopplas automatiskt. Arbetsflödet hämtar låttexter via en HTTP-förfrågan, lägger till dem i Google Doc, söker i Spotify efter det verifierade spåret och lägger till det i spellistan.
Du kan enkelt justera kolumnerna i Google Sheet för att stödja tonart, tempo eller anteckningar 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
Starta arbetsflödet med en manuell trigger så att ni kan köra och validera hela setlist-processen vid behov.
- Lägg till noden Manual Run Trigger som startpunkt.
- Koppla Manual Run Trigger till Generate Playlist för att följa körflödet.
Steg 2: Anslut Google Sheets
Hämta låtlistan från Google Sheets så att varje rad blir en låt att verifiera, slå upp och bearbeta.
- Lägg till noden Fetch Sheet Rows och koppla den efter Generate Lyrics Doc.
- Ställ in Document till
[YOUR_ID]och Sheet Name tillgid=0(Sheet1 i väljaren). - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter.
⚠️ Vanlig fallgrop: Säkerställ att ert ark innehåller kolumnerna Artist och SongTitle så att efterföljande uttryck kan tolkas korrekt.
Steg 3: Sätt upp AI-verifiering
Använd AI för att validera stavning av artist och låttitel innan ni frågar efter låttexter och Spotify.
- Lägg till noden Verify Song Details och koppla den efter Fetch Sheet Rows.
- Ställ in Text till
=You will be given an artist name and a song title. You'll need to verify the spelling and accuracy of the information. artist: {{ $json.Artist }} songTitle: {{ $json.SongTitle }}. - Behåll attributschemat för Artist och SongTitle som obligatoriskt.
- Säkerställ att OpenAI Chat Engine är ansluten som språkmodell för Verify Song Details.
- Inloggning krävs: Anslut era openAiApi-inloggningsuppgifter i OpenAI Chat Engine (inloggningsuppgifter ställs in på den överordnade språkmodellnoden, inte extraktorn).
Steg 4: Konfigurera utdata- och åtgärdsnoder
Skapa en spellista och ett låttextdokument, hämta låttexter och lägg till Spotify-spåret i spellistan.
- I Generate Playlist, ställ in Resource till
playlist, Operation tillcreateoch Name till=Setlist - {{ $now.format('yyyy-MM-dd') }}. Inloggning krävs: Anslut era spotifyOAuth2Api-inloggningsuppgifter. - I Generate Lyrics Doc, ställ in Title till
=Setlist - {{ $now.format('yyyy-MM-dd') }}och Folder ID till[YOUR_ID]. Inloggning krävs: Anslut era googleDocsOAuth2Api-inloggningsuppgifter. - I Retrieve Song Lyrics, ställ in URL till
=https://api.lyrics.ovh/v1/{{ $json.output.Artist }}/{{ $json.output.SongTitle }}och behåll felhantering som ”continue” (onError är aktiverat). - I Append Lyrics Document, ställ in Operation till
update, Document URL till={{ $('Generate Lyrics Doc').item.json.id }}och infoga text={{ $('Verify Song Details').item.json.output.SongTitle }} - {{ $('Verify Song Details').item.json.output.Artist }} {{ $('Retrieve Song Lyrics').item.json.lyrics }}plus en sidbrytning. Inloggning krävs: Anslut era googleDocsOAuth2Api-inloggningsuppgifter. - I Find Track on Spotify, ställ in Resource till
track, Operation tillsearch, Limit till1och Query till={{ $('Fetch Sheet Rows').item.json.Artist }} by {{ $('Fetch Sheet Rows').item.json.SongTitle }}. Inloggning krävs: Anslut era spotifyOAuth2Api-inloggningsuppgifter. - I Append Track to Playlist, ställ in Resource till
playlist, ID till={{ $('Generate Playlist').item.json.uri }}och Track ID till={{ $('Find Track on Spotify').item.json.uri }}. Inloggning krävs: Anslut era spotifyOAuth2Api-inloggningsuppgifter.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta att spellistan och låttextdokumentet skapas och uppdateras korrekt.
- Klicka på Execute Workflow och kör Manual Run Trigger.
- Bekräfta att en ny Spotify-spellista skapas av Generate Playlist med dagens datum i namnet.
- Kontrollera att Generate Lyrics Doc skapar ett Google-dokument och att Append Lyrics Document lägger till låttext och en sidbrytning för varje rad.
- Verifiera att Find Track on Spotify returnerar ett spår och att Append Track to Playlist lägger till det i spellistan.
- När allt ser korrekt ut, växla arbetsflödet till Active för användning i produktion.
Saker att se upp med
- Google Sheets-autentiseringsuppgifter kan gå ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först Google-kopplingen i n8n:s lista över Credentials.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du redigera output för alltid.
Vanliga frågor
Oftast på under en timme om dina Google- och Spotify-konton är redo.
Ja. Ingen kodning krävs, men du behöver koppla konton och klistra in en API-nyckel en gång.
Ja. n8n har ett gratis alternativ för egen 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 OpenAI API-användning och eventuella kostnader för låttextleverantör (ofta småbelopp per körning, beroende på volym).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Det kan du. De flesta anpassningar sker i mappningen för ”Fetch Sheet Rows” (för att lägga till kolumner som tonart eller BPM), i AI-verifieringssteget (för att upprätthålla dina namngivningsregler) och i Spotify-sökningen (för att prioritera studioversioner). Vissa team ändrar även formatet för hur Google Doc fylls på så att varje låt börjar på en ny sida, vilket gör utskrift enklare.
Oftast beror det på en utgången Google-auktorisering eller att fel konto är kopplat. Återanslut Google Sheets i n8n Credentials och bekräfta sedan att kalkylarksnamnet och arket/fliken matchar det som arbetsflödet förväntar sig. Om ditt sheet ligger i en delad drive kan behörigheter vara knepiga, så säkerställ först att den anslutna Google-användaren kan öppna filen i webbläsaren.
I praktiken hanterar den vanliga rep-setlistor (10–40 låtar) utan problem, och du kan skala upp om du har tålamod med API-begränsningar.
Ofta, ja. Det här arbetsflödet gör några saker som blir krångliga i enklare verktyg: det loopar igenom många rader, gör AI-verifiering och bygger ett enda Google Doc samtidigt som det bygger en Spotify-spellista. n8n är också enklare att hosta själv, vilket spelar roll om du kör det ofta och inte vill ha prissättning per uppgift. Zapier eller Make kan fortfarande fungera om du bara behöver ett grundflöde som ”rad tillagd → lägg till ett spår”. Prata med en automationsexpert om du vill ha en snabb rekommendation för just din setup.
När detta väl är på plats slutar setlist-förberedelser vara ett mini-projekt. Du kör det, delar en länk och kliver in på repet förberedd.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.