Skip to content
streamneo.
Tools12 min read

How to Make OBS Automatically Load New Videos into a YouTube Playlist

Learn the difference between OBS’s local media list and a YouTube playlist, and how OAuth and API automation connect new uploads to a playlist.

sn.
StreamNeoPublished 4 October 2026
Worth sharing?

If you mean a playlist on YouTube that viewers can open, OBS does not have a documented built-in feature that detects new uploads and adds them to it. You need separate automation to identify an eligible video and add it through the YouTube Data API, with OAuth authorisation.

If you mean a sequence of files played inside an OBS scene, use the VLC Video source instead. That is a local playback list, not a YouTube playlist; the distinction determines what you need to configure.

First decide which playlist you mean

People use “playlist” to describe two different things in this workflow. OBS can play a list of media files as part of a scene. YouTube can hold a playlist of videos that viewers can browse or play on the platform. Setting up one does not change the other.

The OBS option is the VLC Video source. It can play local media items and offers loop and shuffle behaviour, but it requires VLC to be installed. The list is part of your OBS scene: adding a file there does not publish a video, change a YouTube playlist, or make an upload available to viewers. OBS describes the source and its requirements in its media sources guide.

A YouTube playlist is a collection of YouTube video resources. Its items are managed through YouTube, either in the platform’s own interface or programmatically through the YouTube Data API. If your goal is to have viewers find yesterday’s recording, a newly published bhajan, or the next lesson in a channel playlist, you mean this second kind.

A third object is the live broadcast. A live broadcast is represented by a YouTube video resource, while broadcast and stream management use the YouTube Live Streaming API. A playlist is a separate resource. Starting or renewing a broadcast does not, by itself, add that video to a playlist. Google explains the distinction in its YouTube Live Streaming API overview.

What you want Mechanism What it changes
Play files inside an OBS scene VLC Video source Local playback in OBS; it does not edit YouTube
Add uploaded videos to a YouTube playlist Automation using YouTube Data API Playlist membership on YouTube
Start or renew a live broadcast YouTube Live Streaming API or broadcast tooling Broadcast operation, not playlist membership

It is worth settling this before installing a plugin or writing a script. If a local list is all you need, work in OBS. If viewers need a YouTube playlist to open, focus on the channel, playlist ID, video ID, and API authorisation. If you are also changing what plays in an always-on stream, keep that schedule separate; this guide to scheduling video changes on an always-on stream covers the playback problem rather than playlist membership.

What OBS will not detect for you

OBS is a production and streaming application. Its documented VLC source can play a local list, and OBS can be extended or controlled by other software. That does not establish a built-in monitor for new uploads to your YouTube channel, nor a setting that inserts those uploads into a YouTube playlist.

This matters because the visible result may be misleading. A video might appear in your OBS scene or in a local VLC list while remaining absent from the YouTube playlist. Conversely, a video can be in a YouTube playlist without being loaded into the scene currently airing. Treat each state as something to verify in its own place.

Do not assume that connecting OBS to YouTube for a live broadcast grants it permission to change playlists. Broadcast connection and playlist editing are different operations. The API write must be explicitly authorised for the Google account or channel that owns the destination playlist.

Also avoid treating a broadcast-management add-on as a playlist tool unless its documentation says it performs playlist insertion. For example, the OBS forum listing for Live Stream Segmenter describes broadcast operations; it does not document automatic insertion of new uploads into a playlist. A tool can be useful for renewing a live broadcast without solving the separate playlist task.

How YouTube playlist insertion works

The API workflow has a clear boundary: first your automation obtains the ID of a video that is already available to add, then it asks YouTube to insert that video as an item in a chosen playlist. The relevant write method is playlistItems.insert in the YouTube Data API. The request identifies both the destination playlist and the video resource.

At a conceptual level, the item contains a snippet.playlistId value for the playlist and a snippet.resourceId identifying the video. The resource kind is youtube#video; the video ID is the identifier you see in the YouTube video URL or receive from an upload workflow. Google’s playlist implementation guide describes playlist operations, and the YouTube Data API reference documents the playlist and playlist-item resources.

The destination playlist ID is not the same as the channel ID, video ID, or broadcast ID. Identify the playlist you intend to update and use its playlist ID. If you operate several lists—for example, one for daily devotional uploads and another for archived lectures—your automation needs an explicit rule for which playlist receives each video.

The insertion call is a write, so it requires OAuth authorisation. An API key alone does not provide the user or channel authority needed to modify playlist membership. The authenticated Google account must have the necessary access to the target playlist. If the wrong account authorises the workflow, the request can be valid in form but still lack the authority to make the intended change.

Insertion changes playlist membership. It does not upload the video, make a private or otherwise unavailable video public, create a live broadcast, or decide whether the video should be included. Those are upstream decisions that your process must handle before asking the API to add the item.

Decide which new uploads qualify

The API insertion method acts on a known video ID; it is not itself a turnkey “watch my channel for uploads” trigger. A separate part of your workflow must discover or receive new video IDs and decide which ones qualify. The reviewed documentation establishes how to insert a video, but it does not prescribe one universal upload-detection recipe or timing schedule.

Begin with a simple eligibility rule you can explain to someone else. For instance, you might add only videos uploaded to a particular channel and marked for a specific series, or only recordings whose title follows a naming convention. A human review step may be appropriate when titles, visibility, or playlist placement are chosen manually. The important point is that a detected upload is not automatically a good playlist item.

Decide how the workflow treats a video that is still processing, not yet visible to the intended audience, or missing the information needed to classify it. You can defer insertion until it is ready, route it for review, or skip it. Do not make a successful API response your only test of whether viewers can watch the video in the context you intend.

If you are building the detector yourself, choose an approach supported by the documentation for the tool or event source you actually use. The source material for this workflow does not establish a particular trigger, polling interval, or guaranteed notification delay, so do not build an operating promise around one. Start with a method you can observe, record the video ID it produces, and test the eligibility decision before enabling unattended writes.

For a channel that publishes a mix of material, selection rules matter as much as detection. A livestream archive, a short announcement, and a prepared lesson may all be videos, but they may belong in different playlists. A useful rule might combine channel ownership with a human-set label or a consistent metadata pattern. Keep the rule narrow at first, then expand only after you have reviewed what it selected.

If the video is intended to feed an always-on programme as well as a YouTube playlist, those are still two decisions. A programme schedule decides what viewers see on the live output; playlist insertion organises content on the channel. The two can share a video ID, but neither operation implies the other. The distinction is particularly useful when planning a continuous church stream in OBS, where the scene and broadcast have their own operating needs.

Authorise the YouTube Data API with OAuth

OAuth is the permission step that allows your automation to act on behalf of an authorised Google account. For playlist insertion, the workflow needs permission to make the relevant change, not simply access to public video information. Follow Google’s current documentation for the API client and authorisation flow you choose; the exact setup can depend on the application and account context.

At a high level, the setup is: choose or create a Google Cloud project, enable the YouTube Data API for it, configure an OAuth client appropriate to your application, and authorise the account that can manage the destination playlist. Your application then uses the resulting authorisation when it calls the insert method. Treat credentials and tokens as sensitive. Do not paste them into a public script, share them in a support screenshot, or store them in an OBS scene description.

Test with the account that will own the automation in routine use. A personal account may see a different set of playlists from a brand or channel-managed account. Confirm that the chosen account can see the intended destination playlist and has authority to modify it before connecting the workflow to new uploads.

OAuth does not mean YouTube has endorsed your content or guaranteed that every video can be played in every context. It authorises an API action. Continue to check YouTube’s current account, content, and API guidance, especially if you change accounts or move a playlist. Keep the application’s access limited to what the task needs and revoke access if you retire the integration.

For a non-technical channel operator, this is often the point at which to decide whether a custom integration is worth maintaining. The benefit is that a successful detector can handle a repeatable action without asking you to edit a playlist each time. The cost is responsibility for the Google project, credentials, error handling, and changes to the workflow when your channel or playlist arrangement changes.

Coordinate detection and insertion with OBS automation

OBS can still have a role in a wider workflow, but it is a coordinating role. The OBS developer guide documents Python and Lua scripting options and an endpoint for external applications to communicate with OBS through WebSocket. Those capabilities can help coordinate scene changes, status, or a streaming workflow. They do not perform the YouTube playlist API write by themselves.

A clean design keeps the responsibilities separate. One component detects or receives an eligible upload and records its video ID. Another component makes the OAuth-authorised playlistItems.insert call. OBS automation can be informed when useful—for example, to update a local scene or coordinate a production step—but the playlist change remains a YouTube Data API operation. OBS’s developer guide describes the extension points; it should not be read as a built-in upload-to-playlist feature.

This separation also makes troubleshooting easier. If a video plays in OBS but is missing from the playlist, inspect the API step and its account permissions. If the playlist contains a video but it is not appearing in the live scene, inspect the scene source or playback schedule. If the broadcast has stopped, check broadcast monitoring separately rather than assuming the playlist automation failed.

For a local list of files, keep the OBS VLC source as the playback mechanism and add media according to your production process. If you need new local files to become available there, arrange for the relevant local files and source configuration to be updated; a YouTube upload detector is not a substitute. A scheduled pre-recorded YouTube stream is another distinct task: it concerns getting recorded content on air, not automatically curating a channel playlist.

Some channels do not need OBS involved in playlist management at all. If the only goal is to add published videos to a channel playlist, a small external process or a manual review followed by an API call may be simpler than tying that task to the broadcast computer. For a 24/7 channel, that can reduce the number of moving parts that must be available overnight. Choose the arrangement you can inspect and recover, not the one with the most connections.

Test permissions, repeats, and failures

Begin with one known video and one test playlist, using the account that will authorise the real workflow. Confirm that the insert request identifies the intended playlist and video. Then open YouTube’s playlist view and verify that the expected item appears. A successful request should be followed by a check of the resulting playlist, not treated as proof that the whole workflow selected the right content.

Plan for repeated processing. A detector may encounter the same upload again after a restart, a delayed response, or a manual retry. Before issuing another insert, check whether that video is already in the target playlist, or maintain a record of successfully handled video IDs. The API reference includes playlist-item listing operations that can help inspect membership. Do not assume the detector will deliver each event exactly once.

Keep a minimal log that records the video ID, target playlist, result, and time of the attempt. Avoid logging OAuth secrets or tokens. A useful failure record tells you whether the issue was in eligibility, account access, an invalid or unavailable video, or the insertion call. It should let you safely retry after correcting the cause without blindly adding duplicates.

Test the cases that are likely in your channel: a video that does not qualify, the wrong playlist selected, an account without the needed access, a repeated event, and a video that is not ready to add. Confirm how the process behaves when OBS is closed if OBS is only coordinating production. If playlist insertion depends on OBS being open, document that dependency; if it does not, keep the API automation independent.

Do not infer from a successful test that the workflow will make a live broadcast run continuously or that a video will be eligible in every viewing context. Playlist membership, video availability, and broadcast state are separate things. Check YouTube’s current official guidance when channel permissions, account ownership, or API behaviour changes.

Before committing, compare the operating options on the pricing page. When the file and channel are ready, start free — 24-hour trial, no card.

FAQ

Can OBS automatically add every new upload to a YouTube playlist?

There is no documented built-in OBS setting that detects new channel uploads and inserts them into a YouTube playlist. You need a separate process to identify eligible video IDs and use the YouTube Data API with OAuth authorisation to add them.

Does the VLC playlist in OBS appear as a YouTube playlist?

No. The VLC Video source plays local media in an OBS scene. A YouTube playlist is managed on YouTube and contains YouTube video resources, so changing one list does not update the other.

Can an OBS script or WebSocket connection replace OAuth?

No. OBS scripts and WebSocket control can coordinate OBS or communicate with external applications, but playlist insertion is a YouTube Data API write. The account authorisation required for that write still applies.

Does adding a video to a playlist put it on my live stream?

No. Adding an item changes playlist membership; it does not start or renew a broadcast or schedule the video into an OBS scene. Treat playlist organisation, scene playback, and live broadcast management as separate tasks.

YOU’VE REACHED THE END

Keep the ideas coming.

More guides, useful tools and a little help for your next broadcast.

Back to the journal ↗
YOUR NEXT READ

A little more to explore.

More Tools guides ↗ · All topics ↗