Skip to content

Hourly

Mirror your Liked Songs in a public playlist

A public playlist friends can follow tracks your Liked Songs, adding and removing as you do.

Runs
Hourly
Apps
Spotify
AI
Not needed
Access
user-library-read, playlist-modify-public

Send this to your assistant

Create a ClickRuntime automation: every hour, keep my public playlist 'What I'm Into' matching my Spotify Liked Songs, adding new likes and removing tracks I unlike.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Liked Songs in Spotify is private and cannot be shared as a link. If you want to show a friend your taste, play your favorites at a party from a shared account, or let a partner follow your library, you are stuck. Copying songs into a public playlist by hand works once, then drifts: you like new songs and unlike old ones, and the shared list no longer matches what you actually listen to. Keeping it current means repeating the work.

Every hour, ClickRuntime reads your Liked Songs and the public playlist, adds any liked tracks that are missing, and removes tracks you have since unliked. The playlist mirrors your library closely, and because it is a normal playlist, you can share its link anywhere.

It is useful for people who want a public face for their taste, and for couples or friends who follow each other's favorites.

What you get out of it

  • Your favorites get a shareable link

    A normal playlist can be sent in a message, posted in a profile or embedded in a page. Liked Songs cannot, so the mirror finally lets people hear what you like.

  • The shared list stays accurate

    Because songs are both added and removed, the playlist reflects your current taste, and followers do not see tracks you stopped liking years ago. That honesty keeps people following it for years.

  • Followers receive updates themselves

    Anyone who follows the playlist sees it change in their library, so friends and family keep up with your music without you posting anything or sending updated lists. It works like a feed of your music, with no effort on your side.

  • Another app or device can use it

    A speaker, a car system or a venue's account that cannot reach your Liked Songs can still play a public playlist, which makes your library usable in places it was not before. That is useful for gyms, shops and guest accounts where signing in to your own account is not an option.

  • Manual syncing is gone

    Copying songs by hand is dull and gets neglected. With the mirror running each hour, there is nothing to remember, and nothing falls out of date. The result is a playlist that you can trust to be correct at any time.

How it works

What happens, step by step

  1. Every hour, ClickRuntime reads your Spotify Liked Songs and the tracks in your public playlist.

  2. Any song you have liked that is not in the playlist yet gets added.

  3. Any song in the playlist that you have since unliked gets removed.

  4. Your friends see the playlist stay in step with your likes, and you get a short note such as "2 new likes added, 1 unliked track removed".

Before it runs live

  • Connect Spotify

What you get

RunsHourly
Mirror your Liked Songs in a public playlisttoday, 9:00Succeeded
Spotify · What I'm IntoSynced: 2 new likes added, 1 unliked track removed

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Spotify steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
sync_liked_songs_to_a_shareable_playlist.pyexample
from clickruntime import on_trigger, credentials, http, report_fetched

API = "https://api.spotify.com/v1"
PLAYLIST_ID = "your-playlist-id"  # 'What I'm Into'

def all_uris(h, url):
    uris = []
    while url:
        page = http.get(url, headers=h).json()
        uris += [i["track"]["uri"] for i in page["items"] if i.get("track")]
        url = page["next"]
    return uris

@on_trigger
def run(event):
    h = {"Authorization": f"Bearer {credentials.connection('spotify', 'personal')}"}
    liked = all_uris(h, f"{API}/me/tracks?limit=50")
    listed = all_uris(h, f"{API}/playlists/{PLAYLIST_ID}/tracks?limit=100")
    add = [u for u in liked if u not in set(listed)]
    remove = [u for u in listed if u not in set(liked)]
    report_fetched(len(add) + len(remove))
    if not add and not remove:
        return {"changed": 0}
    for i in range(0, len(add), 100):
        http.post(f"{API}/playlists/{PLAYLIST_ID}/tracks", headers=h, json={"uris": add[i:i + 100]})
    for i in range(0, len(remove), 100):
        http.delete(f"{API}/playlists/{PLAYLIST_ID}/tracks", headers=h,
                    json={"tracks": [{"uri": u} for u in remove[i:i + 100]]})
    return {"added": len(add), "removed": len(remove)}

FAQ

Common questions

Does unliking a song remove it from the playlist?
Yes. On the next hourly run, any track in the playlist that is no longer in your Liked Songs is removed, so the two stay in step. Tracks you add manually to the playlist will also be removed.
Is the playlist public automatically?
You choose a playlist to act as the mirror, and its visibility is whatever you set in Spotify. Make it public if you want to share a link, or keep it private if only you or a collaborator will use it.
How long does a large library take to sync?
The first run of a library with several thousand songs takes longer because Spotify adds tracks in batches of 100. After that, each run only handles the differences, so it finishes quickly. Later runs are quick.
What permissions does it need?
user-library-read, playlist-modify-public. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Mirror your Liked Songs in a public playlist” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.