Automate Spotify Downloads Playlist Management with n8n

Struggling to manually manage your Spotify downloads playlist and keep it updated with your latest liked songs? This n8n workflow automates the creation and update of a “Downloads” playlist, saving you time and ensuring your device storage stays optimized.
spotify
code
if
+5
Workflow Identifier: 2060
NODES in Use: Schedule Trigger, Set, Spotify, If, Aggregate, Filter, Code, SplitInBatches
Automate Spotify playlist with n8n

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

What This Automation Does

This workflow runs every day or when it is scheduled. It checks if the Spotify playlist named “Downloads” exists. If not, it creates one. Then the workflow gets the latest liked songs from the Spotify library. It compares these songs with tracks already in “Downloads.” It adds new liked songs to the playlist. It also removes older songs if there are too many, keeping the playlist size controlled.

This helps keep the offline playlist fresh with favorite songs without manual work. It saves time and stops storage from filling up with old music.


Who Should Use This Workflow

This is for Spotify users who like to listen offline and often add new liked songs into their collection. It is good if updating playlists by hand feels slow or annoying. It stops the playlist from growing too large and keeps favorite songs ready for offline play.

It works best for regular Spotify users with enough liked tracks that want to manage offline playlists automatically.


Tools and Services Used

  • Spotify API: To fetch playlists, liked tracks, create playlists, add, and remove tracks.
  • n8n Automation Platform: To build and schedule the workflow with pre-built nodes and code snippets.
  • OAuth2 Authentication: For secure access to the Spotify account.
  • Optional self-hosted n8n: For full control over workflow running environment and uptime. See self-host n8n.

Beginner Step-By-Step: How to Use This Workflow in n8n

Importing the Workflow

  1. Download the workflow file using the Download button on this page.
  2. Open the n8n editor where the user already works.
  3. Click “Import from File” and select the downloaded workflow.

Configuring After Import

  1. Add Spotify credentials by editing the Spotify nodes and connecting OAuth2 information.
  2. Update settings such as the playlist name or download limit if desired, inside the Set node named “Globals.”
  3. Check any IDs, emails, or other config if used in extra parts of the workflow.
  4. Review any code snippets inside the Code node and confirm no changes are needed.

Testing and Activation

  1. Run the workflow manually once to make sure it works as expected.
  2. Check in Spotify if the “Downloads” playlist is present and updated with liked tracks.
  3. Activate the workflow to let it run on schedule automatically.

After this setup, the workflow will maintain the offline playlist daily without manual effort.


Workflow Inputs, Processing, and Outputs

Inputs

  • Spotify user playlists data.
  • Spotify user liked tracks.
  • User-defined maximum number of tracks to keep (download_limit).

Processing Steps

  1. Check if “Downloads” playlist exists; if not, create it.
  2. Get details of the “Downloads” playlist.
  3. Fetch the latest liked tracks from Spotify library.
  4. Use JavaScript code to filter out tracks already in the playlist.
  5. Add new liked tracks to the top of the playlist.
  6. Identify older tracks no longer liked.
  7. Use Spotify API to remove those old tracks.
  8. Optionally batch the track additions or removals for rate limit handling.

Outputs

  • A Spotify “Downloads” playlist with recent liked tracks only.
  • Daily updated offline playlist ready for user listening.
  • Reduced manual playlist management time.

Code in the Workflow and What It Does

The workflow uses small JavaScript snippets inside Code nodes to filter and compare tracks. This helps only new liked songs get added and old, no longer liked songs get removed. The code is easy to copy and paste inside the nodes.

Example code to filter new tracks that are not yet in “Downloads”:

var downloades_uris = [];
for (const download of $('Get Downloads Playlist').first().json.tracks.items) {
  downloades_uris.push(download.track.uri);
}

var result = [];
for (const item of $input.all()) {
  if (!downloades_uris.includes(item.json.track.uri)) {
    result.push(item);
  }
}

return result.reverse();

This code gathers URIs of tracks in the current playlist, then filters the input liked tracks to keep only new ones not already there.

Another code snippet identifies tracks in “Downloads” not liked anymore to remove:

var liked_uris = [];
for (const liked of $('Get Liked Tracks').all()) {
  liked_uris.push(liked.json.track.uri);
}

var result = [];
for (const item of $input.first().json.tracks.items) {
  if (!liked_uris.includes(item.track.uri)) {
    result.push(item);
  }
}

return result;

This compares playlist tracks with liked songs and returns those to delete.


Customization Ideas

  • Change the playlist name in the Spotify Create Playlist node for personal preference.
  • Adjust the maximum track count by changing download_limit in the Set node named “Globals.”
  • Modify the schedule frequency to run hourly, weekly, or other periods as needed.
  • Add extra notifications by connecting email or Slack nodes after the main process to alert when updates happen.
  • Duplicate and modify parts of the workflow to handle syncing liked songs to multiple playlists.

Troubleshooting

  • Authentication failed in Spotify nodes usually means OAuth tokens expired. Fix by reconnecting Spotify credentials.
  • Playlist not found errors happen if playlist creation failed or wrong ID used. Check the logic and existing playlists.
  • Rate limit exceeded comes from sending many API requests fast. Add delays or use batching with SplitInBatches node.
  • Tracks don’t update can be caused by errors in filter code. Review snippets and debug by adding logs.

Pre-Production Checklist

  • Make sure Spotify OAuth2 credentials are correctly added.
  • Set desired download_limit in the Globals Set node.
  • Test the workflow manually once before scheduling.
  • Verify the “Downloads” playlist is created in Spotify.
  • Add liked songs and test end-to-end playlist updates.
  • Backup playlist data if needed before running automation.

Deployment Guide

Once tested, activate the workflow to let it run on schedule.

Keep the n8n system running at all times or hosted reliably. For full control of uptime consider using self-host n8n.

Watch for errors and fix issues early by checking n8n logs and execution reports.


Summary

→ This workflow keeps a Spotify offline playlist fresh by syncing the latest liked songs.

✓ Saves time by automating playlist management daily.

✓ Keeps playlist size controlled to avoid device storage issues.

✓ Removes manual work and stops missing favorite songs in offline mode.

✓ Easy to customize for different playlist names and update intervals.


Automate Spotify playlist with n8n

Visit through Desktop to Interact with the Workflow.

Author
Written By
Vikash Kumar
Building AI agents, n8n workflows and end-to-end automation for 30+ Brands across India, the US, Europe, Dubai & Australia. 7+ years of Experience saving founders real hours every week - no code required.
Author
Written By
Vikash Kumar
Building AI agents, n8n workflows and end-to-end automation for 30+ Brands across India, the US, Europe, Dubai & Australia. 7+ years of Experience saving founders real hours every week - no code required.

Frequently Asked Questions

Yes, the workflow works with free Spotify accounts if the developer app has required permissions for playlist operations.
It uses batch processing and delays with nodes like SplitInBatches to avoid hitting rate limits when adding or removing many tracks.
Ensure the playlist creation step runs successfully or create the playlist manually in Spotify before running the workflow.
Yes, OAuth2 credentials are stored securely in n8n. Make sure to run n8n in a trusted environment for safety.

Related Workflows

Automate Twist Channel Creation and Messaging with n8n

This workflow automates creating and updating a channel in Twist and sending a personalized message to specific users. It eliminates manual setup errors and saves time managing Twist communications.

Automate Ideogram Image Generation with Google Sheets & Gmail

This workflow automates graphic design image generation via Ideogram AI, storing image data in Google Sheets and Google Drive, with email alerts via Gmail. It saves designers hours by automating image creation, remixing, review, and record-keeping.

Automate IT Support with Slack and OpenAI in n8n

Streamline IT support by automating Slack message handling using n8n and OpenAI. This workflow handles Slack DMs, filters bots, queries a Confluence knowledge base, and delivers AI-generated responses, improving support efficiency and response time.

Automate Crypto Analysis with CoinMarketCap & n8n AI Agent

Discover how this unique n8n workflow leverages CoinMarketCap’s multi-agent AI to deliver precise, real-time cryptocurrency insights directly via Telegram. Manage crypto data analysis efficiently with automated multi-source API integration.

Automate Gumroad to Beehiiv Subscriber Sync with n8n

Learn how to automatically add new Gumroad sales customers as Beehiiv newsletter subscribers using n8n automation. This workflow saves time by syncing sales data to Google Sheets CRM and notifying your Telegram channel instantly.

Generate On-Brand Blog Articles Using n8n and OpenAI

This workflow automates the creation of on-brand blog articles by analyzing existing company content using n8n and OpenAI. It extracts article structures and brand voice to produce consistent draft articles, saving significant content creation time.
1:1 Free Strategy Session
Your competitors are already automating. Are you still paying for it manually?

Do you want to adopt AI Automation?

Every hour your team does repetitive work, you're burning real money.
While you wait, faster businesses are cutting costs and moving quicker.
AI and automations aren't the future anymore — they're the present.

Book a live 1-on-1 session where we show you exactly which of your daily tasks can be automated — and what it’s costing you not to.