Playlist-Manager

Fortgeschritten

Dies ist ein Other-Bereich Automatisierungsworkflow mit 11 Nodes. Hauptsächlich werden Spotify, GoogleDocs, HttpRequest, GoogleSheets, ManualTrigger und andere Nodes verwendet. Erstellen Sie für Sänger Lyrics-Dokumente und Spotify-Playlists aus Google Docs

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Sheets API-Anmeldedaten
  • OpenAI API Key

Kategorie

Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "ThUxnc7za8J4uyXG",
  "meta": {
    "instanceId": "c1cc2e18d32a91e26eb78bbc6373615a06451476e56efe94394fc82c93d00305",
    "templateCredsSetupCompleted": true
  },
  "name": "Setlist_Manager",
  "tags": [],
  "nodes": [
    {
      "id": "15388ff0-3350-44ba-b254-f4960aa4650f",
      "name": "Notizzettel",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -360,
        -360
      ],
      "parameters": {
        "width": 680,
        "height": 340,
        "content": "## Setlist Manager\nThis workflow takes a Google spreadsheet called 'Setlist_Manager' with 'Artist' and 'SongTitle' entries and get's Lyrics for each song and creates a playlist for that set of songs.\n\n1. Create Spotify Playlist (naming it 'Setlist - [date of today]')\n2. Create the Google doc that will store the lyrics found. (naming it 'Setlist - [date of today]')\n3. Get the rows of songs from 'Setlist_Manager'.\n4. Use AI to verify the Artist name and song title.\n5. Get the lyrics to the song.\n6. Append the Google Doc with the lyrics.\n7. Search for the song in Spotify.\n8. Add that song to the Spotify Playlist.\n9. Go to band practice and be prepared! =)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "18133032-9a20-4478-b9f4-c7f9ef801cdb",
      "name": "Bei Klick auf 'Workflow testen'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -360,
        40
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0e891760-d994-4ccf-8f1d-2f74282c624e",
      "name": "Daten abrufen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        300,
        40
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1c8HGDizhcFSHwJKK7nuMNkRZgbdrphBmofQanD9a-js/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1c8HGDizhcFSHwJKK7nuMNkRZgbdrphBmofQanD9a-js",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1c8HGDizhcFSHwJKK7nuMNkRZgbdrphBmofQanD9a-js/edit?usp=drivesdk",
          "cachedResultName": "Setlist_Manager"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "cIZ7JPC7EQMwjcTx",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "f27df2b3-e77a-4fc2-9583-6bad3ce465de",
      "name": "Informationsextraktor",
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "position": [
        520,
        40
      ],
      "parameters": {
        "text": "=You will be given an artist name and a song title. You'll need to verify the spelling and accuracy of the information. \n\nartist: {{ $json.Artist }}\nsongTitle: {{ $json.SongTitle }}",
        "options": {
          "systemPromptTemplate": "You are an expert extraction algorithm.\nOnly extract relevant information from the text.\nIf you do not know the value of an attribute asked to extract, you may omit the attribute's value."
        },
        "attributes": {
          "attributes": [
            {
              "name": "Artist",
              "required": true,
              "description": "The artist that wrote the song"
            },
            {
              "name": "SongTitle",
              "required": true,
              "description": "The name of the song"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "87b875af-e006-44c7-bd27-f3184d6c08ca",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        540,
        240
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "DZaBabO9u605tAtZ",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8fc4de2e-9dd5-4c98-8e5e-bc629507516f",
      "name": "Liedtext abrufen",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        880,
        40
      ],
      "parameters": {
        "url": "=https://api.lyrics.ovh/v1/{{ $json.output.Artist }}/{{ $json.output.SongTitle }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "acb21e3e-fc53-43e9-ad4c-a05a4b1aada2",
      "name": "Dokument befüllen",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1080,
        40
      ],
      "parameters": {
        "actionsUi": {
          "actionFields": [
            {
              "text": "={{ $('Information Extractor').item.json.output.SongTitle }} - {{ $('Information Extractor').item.json.output.Artist }}\n\n{{ $('Get Lyrics').item.json.lyrics }}",
              "action": "insert"
            },
            {
              "action": "insert",
              "object": "pageBreak"
            }
          ]
        },
        "operation": "update",
        "documentURL": "={{ $('Create Doc').item.json.id }}"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "id": "wX7B8ilooIkPObCR",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "9232c124-b4a2-4445-93b4-3a07eba9c2bc",
      "name": "Nach Song suchen",
      "type": "n8n-nodes-base.spotify",
      "position": [
        1280,
        40
      ],
      "parameters": {
        "limit": 1,
        "query": "={{ $('get data').item.json.Artist }} by {{ $('get data').item.json.SongTitle }}",
        "filters": {},
        "resource": "track",
        "operation": "search"
      },
      "credentials": {
        "spotifyOAuth2Api": {
          "id": "FzlmdcWCB79KvNbl",
          "name": "Spotify account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "25c6b03b-a8c5-4fb4-9be4-acaba7a666a0",
      "name": "Song zur Playlist hinzufügen",
      "type": "n8n-nodes-base.spotify",
      "position": [
        1480,
        40
      ],
      "parameters": {
        "id": "={{ $('Create Playlist').item.json.uri }}",
        "trackID": "={{ $('Search for Song').item.json.uri }}",
        "resource": "playlist",
        "additionalFields": {
          "position": 0
        }
      },
      "credentials": {
        "spotifyOAuth2Api": {
          "id": "FzlmdcWCB79KvNbl",
          "name": "Spotify account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9ddf9bfe-4df3-40c2-87e2-3106a1042944",
      "name": "Playlist erstellen",
      "type": "n8n-nodes-base.spotify",
      "position": [
        -140,
        40
      ],
      "parameters": {
        "name": "=Setlist - {{ $now.format('yyyy-MM-dd') }}",
        "resource": "playlist",
        "operation": "create",
        "additionalFields": {}
      },
      "credentials": {
        "spotifyOAuth2Api": {
          "id": "FzlmdcWCB79KvNbl",
          "name": "Spotify account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9dca5c93-7d87-4425-a2fe-b1a7629d169c",
      "name": "Dokument erstellen",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        80,
        40
      ],
      "parameters": {
        "title": "=Setlist - {{ $now.format('yyyy-MM-dd') }}",
        "folderId": "1opzuazFfpdBRLzRas8bViF6TmO4VCW8V"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "id": "wX7B8ilooIkPObCR",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "a0166877-d2f2-499a-9d8c-c8d0f80d7ce8",
  "connections": {
    "0e891760-d994-4ccf-8f1d-2f74282c624e": {
      "main": [
        [
          {
            "node": "f27df2b3-e77a-4fc2-9583-6bad3ce465de",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9dca5c93-7d87-4425-a2fe-b1a7629d169c": {
      "main": [
        [
          {
            "node": "0e891760-d994-4ccf-8f1d-2f74282c624e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8fc4de2e-9dd5-4c98-8e5e-bc629507516f": {
      "main": [
        [
          {
            "node": "acb21e3e-fc53-43e9-ad4c-a05a4b1aada2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "acb21e3e-fc53-43e9-ad4c-a05a4b1aada2": {
      "main": [
        [
          {
            "node": "9232c124-b4a2-4445-93b4-3a07eba9c2bc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9ddf9bfe-4df3-40c2-87e2-3106a1042944": {
      "main": [
        [
          {
            "node": "9dca5c93-7d87-4425-a2fe-b1a7629d169c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9232c124-b4a2-4445-93b4-3a07eba9c2bc": {
      "main": [
        [
          {
            "node": "25c6b03b-a8c5-4fb4-9be4-acaba7a666a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "87b875af-e006-44c7-bd27-f3184d6c08ca": {
      "ai_languageModel": [
        [
          {
            "node": "f27df2b3-e77a-4fc2-9583-6bad3ce465de",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "25c6b03b-a8c5-4fb4-9be4-acaba7a666a0": {
      "main": [
        []
      ]
    },
    "f27df2b3-e77a-4fc2-9583-6bad3ce465de": {
      "main": [
        [
          {
            "node": "8fc4de2e-9dd5-4c98-8e5e-bc629507516f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "18133032-9a20-4478-b9f4-c7f9ef801cdb": {
      "main": [
        [
          {
            "node": "9ddf9bfe-4df3-40c2-87e2-3106a1042944",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Sonstiges

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes11
Kategorie1
Node-Typen8
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34