Skip to content

The moment it happens

Copy playlists to another channel

Every playlist and its videos is recreated on your second channel, with a summary when it's done.

Runs
The moment it happens
Apps
YouTube
AI
Not needed
Access
OAuth youtube (write) on each channel

Send this to your assistant

Create a ClickRuntime automation: copy every playlist and its videos from my old YouTube channel to my new one, then email me a list of what was copied.

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

Playlists take hours to build and are painful to move. A creator launching a second channel in another language wants the same curated lists there, and rebuilding means adding each video by hand to dozens of playlists. At the other extreme, a channel rebrand might call for wiping every old playlist before starting fresh, and deleting them one at a time is tedious.

When you call the trigger link, the playlists and their items on the source channel are listed. Depending on what you choose, matching playlists are created on the target channel with the same videos inserted, or the playlists are deleted. A summary email records exactly what was done.

Creators expanding into new channels, and brands consolidating or restructuring their YouTube presence, use it for one-off projects. A tedious weekend job becomes a single request you start when you are ready.

What you get out of it

  • A second channel launches fully stocked

    New channels with ready playlists look established from day one, which helps early visitors find series and keeps them watching for longer. First impressions on a new channel matter, and playlists give visitors a path through your content.

  • Hours of manual adding are saved

    Copying playlist items by hand is slow and error-prone. Doing it in one run avoids missed videos and gives you the same order as the original. A scripted copy keeps both the selection and the order, which hand-copying often gets wrong.

  • Clean-up is quick when rebranding

    Removing outdated playlists in a single pass lets you restructure your channel without spending an afternoon clicking through the delete confirmation for each one. Speed here lets you spend your effort on the new direction, not on tearing down the old one.

  • A clear record of the change

    The summary email lists the playlists copied or removed, so you have proof of what happened if a viewer asks where a series went. That record helps if a viewer or sponsor asks about a playlist that has vanished.

  • Triggered only when you decide

    Because it starts from a link you call, nothing runs by accident, and a destructive clean-up only happens when you deliberately start it. Deliberate starts matter for anything that can delete work, so nothing happens on its own.

How it works

What happens, step by step

  1. You start it whenever you need it, for example by opening its trigger link.

  2. ClickRuntime reads every playlist on your main YouTube channel and the videos in each one.

  3. It creates the same playlists on your second channel and adds the same videos to them.

  4. You get an email listing each copied playlist and how many videos it holds.

Before it runs live

  • Connect YouTube
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Copy playlists to another channeljust nowSucceeded
Email · Copied 6 playlistsTutorials: 24 videos Customer stories: 9 videos

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 YouTube 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.
copy_or_clean_up_playlists.pyexample
from clickruntime import on_event, credentials, http, notify

YT = "https://www.googleapis.com/youtube/v3"

@on_event
def handle(event):
    src = {"Authorization": f"Bearer {credentials.connection('google', 'main')}"}
    dst = {"Authorization": f"Bearer {credentials.connection('google', 'second')}"}
    playlists = http.get(f"{YT}/playlists", headers=src, params={"part": "snippet", "mine": "true", "maxResults": 50}).json()["items"]
    summary = []
    for pl in playlists:
        created = http.post(f"{YT}/playlists", headers=dst, params={"part": "snippet,status"}, json={
            "snippet": {"title": pl["snippet"]["title"], "description": pl["snippet"]["description"]},
            "status": {"privacyStatus": "private"}}).json()
        items = http.get(f"{YT}/playlistItems", headers=src, params={"part": "snippet", "playlistId": pl["id"], "maxResults": 50}).json()["items"]
        for it in items:
            http.post(f"{YT}/playlistItems", headers=dst, params={"part": "snippet"}, json={
                "snippet": {"playlistId": created["id"], "resourceId": it["snippet"]["resourceId"]}})
        summary.append(f"{pl['snippet']['title']}: {len(items)} videos")
    notify.email_me(f"Copied {len(playlists)} playlists", "\n".join(summary))
    return {"playlists": len(playlists)}

FAQ

Common questions

Is deleting playlists reversible?
No. Deleted playlists cannot be restored by YouTube, so treat that mode with care. A sensible approach is to run the copy mode first as a backup, check the results, and only then run the delete mode.
Can I copy only some playlists?
Yes. The run can be limited to playlists whose titles match a word or a list of IDs, so you copy just your tutorials and leave out personal or private lists. Tell your AI assistant to set the selection.
Do videos have to belong to my channel?
No. Playlists can contain videos from other channels, and those are added to the new playlists too. Private or deleted videos cannot be inserted, so the summary will mention items it had to skip. The summary notes anything left out.
What permissions does it need?
OAuth youtube (write) on each channel. 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 for each event the app sends.
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 “Copy playlists to another channel” from your assistant

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