Resources · n8n integration

YouTube n8n integrationAutomate YouTube with n8n.

The YouTube n8n integration turns channel chores into a workflow you run once and forget. The node exposes 20 operations across 5 resources: channels, playlists, playlist items, videos and video categories. No YouTube trigger node exists, so a Schedule or Webhook node starts the run.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What can the YouTube n8n integration actually do?

The YouTube node ships with n8n and calls the YouTube API on behalf of one Google account. It covers 20 operations grouped in 5 resources: channels, playlists, playlist items, videos and video categories. Whatever you do by hand in YouTube Studio, from pushing a file up to flipping a video from private to public, becomes one step in a workflow that other nodes can feed.

Take the publishing queue first. A row lands in Google Sheets with a title, a description and a file, the workflow downloads that file, runs video.upload with the binary field holding it, then writes the returned video ID back to the row and drops a message in Slack so an editor can review before the video goes public.

Playlist curation is the second one. A weekly Schedule Trigger reads the channel with video.getAll, filters on a keyword and a publication date, then pushes each match into the right playlist with playlistItem.add. Nothing stops you from building the playlist in the same run with playlist.create, which is handy for a season or a product launch that needs its own shelf.

Reporting closes the loop. channel.get with the statistics part returns subscriber and view counters, video.getAll lists what went out since last Monday, and the numbers land in a sheet or in a digest sent through Gmail. Because a credential is created once in n8n and reused everywhere, the same Google connection serves every workflow that touches the channel.

Some jobs sit outside the node. Comments, captions, live chat and the Analytics API are not part of these 20 operations, so reach them with the HTTP Request node, which calls any endpoint of the API while reusing the same credential through predefined authentication. That fallback is also the answer when YouTube ships a parameter the node has not caught up with.

Two limits are worth knowing before you build. There is no YouTube trigger, so a workflow here always starts with a Schedule Trigger on a fixed interval, an n8n Webhook called by another service, or the trigger of another tool. And every listing operation is paginated: Return All walks through the API pages until the end, while Limit caps the number of items when it stays off. If you want the broader picture of the platform before committing, the n8n review and the n8n training cover it.

Connect

How do you connect YouTube to n8n?

  1. 01

    Pick your OAuth2 path

    YouTube uses a Google OAuth2 single service credential, which is the token n8n stores to act on your channel. On n8n Cloud, Managed OAuth2 is the short road: open the credential screen, click Sign in with Google, and nothing else is needed in the Google Cloud Console. Self-hosted instances do not get Managed OAuth2, so switch the authentication type in the dropdown and go the Custom OAuth2 way, which means creating your own app in Google Cloud.

  2. 02

    Set up the Google Cloud project

    Create a Google Cloud Console project, enable the APIs you need, then open APIs & Services > OAuth consent screen. Fill in App name and User support email, then choose the Audience: Internal keeps access inside your Google Workspace, External opens it to any Google account. Under Branding, add an authorized domain: n8n.cloud for the hosted service, or the domain of your own instance when you self-host.

  3. 03

    Create the client and paste it back

    In Credentials, select + Create credentials > OAuth client ID, set Application type to Web application and name the client. Copy the OAuth Redirect URL shown in your n8n credential and paste it into Authorized redirect URIs in Google. Running n8n on your machine is fine, Google accepts localhost, so the value looks like http://localhost:5678/rest/oauth2-credential/callback. Create, then finish the credential in n8n.

Actions

What the YouTube node does, operation by operation

The YouTube node exposes 20 operations across 5 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteAddRateUploadUpload Banner
Channel
Playlist
Playlist Item
Video
Video Category

Channel

4 operations
01

Get a channel

channel.get

What you see in n8n

Notes & use cases

Reads one channel and returns only the property groups you asked for, which keeps the output small enough to map straight into a sheet.

Key parameters

  • Channel ID: the identifier of the channel to read, usually {{ $json.channelId }} when a previous node already carries it.
  • Fields: the parts the API response includes. statistics brings the counters, snippet the title and description, brandingSettings the visual identity, and * takes everything.
Use cases
refresh the channel line of a monthly dashboard before the report goes out.
02

Get many channels

channel.getAll

What you see in n8n

Notes & use cases

Returns a list instead of a single channel, shaped by the Filters collection you open on the node.

Key parameters

  • Fields: same property groups as the single read, applied to every channel in the list.
  • Return All: on, n8n follows the API pages until the last channel; off, Limit caps how many come back.
  • Filters: ID takes a comma separated list of channel IDs, For Username resolves a YouTube username, Managed By Me narrows to channels managed by the content owner.
Use cases
an agency pulling the counters of every channel it manages in one execution.
03

Update a channel

channel.update

What you see in n8n

Notes & use cases

Writes new values on an existing channel. Only what you place in Update Fields is touched, the rest stays as it is.

Key parameters

  • Channel ID: the channel being edited, required, so the node fails if the expression feeding it comes back empty.
  • Branding Settings: the collection holding the branding information of the channel.
  • On Behalf Of Content Owner: tells the API the credentials belong to a YouTube CMS user acting for that content owner.
Use cases
a media group aligning branding across its channels after a name change.
04

Upload a channel banner

channel.uploadBanner

What you see in n8n

Notes & use cases

Sends an image file to the channel header. The file has to reach the node as binary data, not as a URL in a text field.

Key parameters

  • Channel ID: the channel receiving the banner.
  • Input Binary Field: the name of the incoming binary field that holds the file. A node that downloaded the image sits right before, and the name it gave the binary goes here, often data.
Use cases
swapping the banner automatically when a campaign visual is approved in the shared drive.

Playlist

5 operations
05

Create a playlist

playlist.create

What you see in n8n

Notes & use cases

Builds an empty playlist on the authenticated account and returns its ID, which the next nodes use to fill it.

Key parameters

  • Title: the playlist title, the one required field.
  • Privacy Status: private, public or unlisted. Creating it private first leaves room to add the videos before anyone sees a half empty shelf.
  • Description and Tags: the description text and the keyword tags, several tags separated by commas.
Use cases
a training company opening one playlist per cohort at the start of a session.
06

Delete a playlist

playlist.delete

What you see in n8n

Notes & use cases

Removes the playlist itself. The videos inside stay on the channel, only the container disappears, and the call does not ask for confirmation.

Key parameters

  • Playlist ID: the playlist to remove. Feed it from a previous listing rather than typing it, since nothing brings it back afterwards.
  • On Behalf Of Content Owner: used when a CMS user runs the call for the content owner.
Use cases
clearing out a seasonal playlist once the campaign is over.
07

Get a playlist

playlist.get

What you see in n8n

Notes & use cases

Reads a single playlist and hands back the parts you selected, without touching the items it contains.

Key parameters

  • Playlist ID: the playlist to read.
  • Fields: snippet for the title and description, contentDetails for the item count, status for the privacy setting, player for the embed.
  • On Behalf Of Content Owner Channel: the channel ID a video is being added to, used alongside the content owner parameter.
Use cases
checking a playlist is still public before a newsletter links to it.
08

Get many playlists

playlist.getAll

What you see in n8n

Notes & use cases

Lists the playlists that match your filters, one n8n item per playlist, ready to loop over.

Key parameters

  • Fields: the property groups returned for each playlist in the list.
  • Return All: leave it off and Limit decides how many playlists come back, turn it on for a complete inventory.
  • Filters: Channel ID restricts the results to one channel, ID takes a comma separated list of playlist IDs.
Use cases
exporting the full playlist map of a channel before a restructuring.
09

Update a playlist

playlist.update

What you see in n8n

Notes & use cases

Edits an existing playlist. Worth knowing: Title is required even when the title is not what you came to change.

Key parameters

  • Playlist ID: the playlist to edit.
  • Title: required, so read the playlist first and pass its current title back when only the description moves.
  • Description, Tags, Privacy Status: the fields you actually came to rewrite, privacy switching between private, public and unlisted.
Use cases
flipping a course playlist to public the day the enrollment page opens.

Playlist Item

4 operations
10

Add a playlist item

playlistItem.add

What you see in n8n

Notes & use cases

Places a video inside a playlist and returns the playlist item that was created, a different object from the video itself.

Key parameters

  • Playlist Name or ID: chosen from the dropdown n8n fills with your playlists, or given through an expression when it comes from a previous node.
  • Video ID: the video being added.
  • Position: the rank in the playlist, counted from zero, so 0 puts the video on top.
  • Note: a private note of 280 characters at most.
Use cases
filing every new tutorial into its topic playlist right after publication.
11

Delete a playlist item

playlistItem.delete

What you see in n8n

Notes & use cases

Pulls one entry out of a playlist. The video stays online, it simply leaves that list.

Key parameters

  • Playlist Item ID: the identifier of the entry, not the video ID. A video sitting in three playlists has three different playlist item IDs, and a listing operation is what gives you the right one.
  • On Behalf Of Content Owner: for CMS users acting for the content owner.
Use cases
removing an outdated episode from a curated playlist while keeping it on the channel.
12

Get a playlist item

playlistItem.get

What you see in n8n

Notes & use cases

Reads one entry of a playlist, which is how you confirm what a given position actually holds.

Key parameters

  • Playlist Item ID: the entry to read.
  • Fields: snippet carries the position and the playlist it belongs to, contentDetails the video reference, status the privacy of the item.
Use cases
a quality check that reads back the item just created and logs its position before the workflow moves on.
13

Get many playlist items

playlistItem.getAll

What you see in n8n

Notes & use cases

Walks through the contents of one playlist and returns its entries in order.

Key parameters

  • Playlist Name or ID: the playlist to read, from the dropdown or through an expression.
  • Fields: the property groups returned for each entry.
  • Return All: on for the whole playlist however long it is, off to stop at Limit.
Use cases
comparing the playlist with a reference sheet every morning and flagging anything that drifted.

Video

6 operations
14

Delete a video

video.delete

What you see in n8n

Notes & use cases

Erases a video from the channel. No recycle bin on the other side, which makes this the operation to guard with a manual approval step.

Key parameters

  • Video ID: the video to delete, and the only required field, so a wrong expression here does real damage.
  • On Behalf Of Content Owner: when a CMS user runs the deletion for the content owner.
Use cases
a retention rule that clears test uploads once an internal review has validated the final cut.
15

Get a video

video.get

What you see in n8n

Notes & use cases

Fetches everything known about one video, with the depth set by the parts you tick.

Key parameters

  • Video ID: the video to read.
  • Fields: statistics for views and likes, contentDetails for duration, status for the privacy state, liveStreamingDetails for a stream, recordingDetails for the recording data.
Use cases
a workflow that waits for the processing to finish, then reads the video back to confirm it really went public.
16

Get many videos

video.getAll

What you see in n8n

Notes & use cases

The search operation of the node. Nothing is required here, the Filters collection does all the work.

Key parameters

  • Query: the search term, and Channel ID to stay inside one channel.
  • Published After and Published Before: the publication window.
  • Order: date or relevance. Video Type, Region Code and Safe Search narrow it further.
  • Return All: off, Limit stops the run early, which is what you want while testing a filter.
Use cases
weekly competitive watch on a keyword, results piped into a sheet.
17

Rate a video

video.rate

What you see in n8n

Notes & use cases

Records a like or a dislike from the account behind the credential, or clears a rating that was set before.

Key parameters

  • Video ID: the video being rated.
  • Rating: like and dislike record the reaction of the authenticated user, none removes any rating previously set.
Use cases
a brand account liking the videos where partners mentioned it, once an approval step in Slack has passed.
18

Update a video

video.update

What you see in n8n

Notes & use cases

Rewrites the metadata of a published video, from its description to its privacy state, without touching the file.

Key parameters

  • Video ID and Title: both required, so carry the existing title over when the title itself stays put.
  • Description and Tags: the text block and the keyword tags, separated by commas.
  • Publish At: schedules the switch to public, and it only works if Privacy Status is set to private.
  • Notify Subscribers: whether subscribers get an alert.
Use cases
appending a link to the sales page in every video description of a launch.
19

Upload a video

video.upload

What you see in n8n

Notes & use cases

Pushes a file to the channel and gives back the ID of the new video, which the rest of the workflow reuses.

Key parameters

  • Title: the title of the video.
  • Input Binary Field: the name of the binary field holding the file. The node before has to deliver the file itself, a link in a text field will not do.
  • Category Name or ID and Region Code: the category, from the list or an expression, and the region it applies to.
  • Privacy Status: upload as private, review, then publish later.
Use cases
an editing pipeline sending the final export up as soon as the file lands in the shared folder.

Video Category

1 operation
20

Get many video categories

videoCategory.getAll

What you see in n8n

Notes & use cases

Lists the categories YouTube offers, which differ from one country to another. This is where the category ID used at upload comes from.

Key parameters

  • Region Code: required, and it drives the whole result since the catalog is regional.
  • Return All: on for the complete list, off to stop at Limit.
Use cases
building a lookup table once, then feeding the right category ID into every upload without a hardcoded value.
Need help

Need help automating YouTube with n8n?

A person reads every message.

FAQ

Questions people ask before building

01Is the YouTube n8n integration free?
Yes on the n8n side. The YouTube node ships with n8n, so there is nothing to install and nothing extra to pay for it, whether you run n8n Cloud or a self-hosted instance under the Community Edition and its Sustainable Use license. The 20 operations and the 5 resources are the same in both cases, and a workflow built on one runs on the other without edits. What a YouTube account itself costs is not part of this node, and the Google side has its own rules that live outside n8n. The only real difference between Cloud and self-hosting shows up at credential time, where Managed OAuth2 is reserved for Cloud users.
02What credentials do you need to connect YouTube to n8n?
A Google OAuth2 single service credential, created once in the Credentials menu and then reusable in every workflow, since the node offers it in a dropdown. On n8n Cloud, Managed OAuth2 does the job with a single click on Sign in with Google, with no setup in the Google Cloud Console. Self-hosted users go through Custom OAuth2 instead: a Google Cloud project, the APIs enabled, an OAuth consent screen with an app name and a support email, an authorized domain, then a Web application OAuth client whose redirect URI matches the OAuth Redirect URL shown in n8n. A Google Service Account credential also exists, built from the client_email and private_key of a downloaded JSON file, but support for it is limited and OAuth2 is the easier road.
03What are the limits of the YouTube node in n8n?
It depends on what you are after. The node covers 20 operations on channels, playlists, playlist items, videos and video categories, and that is the whole surface. Comments, captions and analytics endpoints are not in there, so the HTTP Request node takes over: it calls any endpoint of the API and reuses the same credential through predefined authentication. Listings are paginated, so Return All follows the API pages to the end while Limit caps the number of items when it stays off. File based operations, uploading a video or a channel banner, need the file as binary data in the field named by Input Binary Field, which means a node that fetches the file has to run first.
04Can a workflow react to a new YouTube video in real time?
No, not from the node itself. YouTube has no trigger node in n8n, so nothing on this side listens to the channel and wakes a workflow up. Three paths remain. A Schedule Trigger runs the workflow at a fixed interval and compares what video.getAll returns with what was already seen, which is the common pattern for a watch or a report. An n8n Webhook, meaning a URL another service calls, starts the run when that service already knows something happened. Or the trigger of another tool opens the workflow, a new row in a sheet or a message in a channel, and the YouTube node acts further down the chain.
05n8n or Make for YouTube automation?
It depends on three criteria, and neither tool wins outright. Hosting comes first: n8n runs on your own server or on n8n Cloud, Make is hosted only, so if the video files and the channel data have to stay on infrastructure you control, that settles it. Cost model is second: Make bills per operation, which gets predictable but climbs with volume, while a self-hosted n8n trades that bill for maintenance work. Third, the visual logic differs in how each platform handles branching and loops, and the fit depends on what your team already reads fluently. Since the YouTube node has no trigger, both platforms will need a schedule on this particular integration.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.