YouTube Video Scheduler Built with n8n in 30 Minutes

YouTube-Video-Planer mit n8n in 30 Minuten bauen

🇬🇧 English

This article contains affiliate links. If you buy through them, we may earn a commission at no extra cost to you.

YouTube Video Scheduler: Automate Your Publishing in 30 Minutes

Uploading YouTube videos manually is one of those tasks that feels simple until you are managing a content calendar with dozens of videos, multiple channels, or a team of creators. A missed upload window, a forgotten description, or an inconsistent posting schedule can silently damage your channel growth. The good news: you can build a fully automated YouTube video scheduler in about 30 minutes using n8n — no code required beyond a few configuration fields.

This guide walks you through the complete workflow, from reading a content schedule stored in a Google Sheet to pushing a video upload request to the YouTube Data API on a timed trigger. You can get started with n8n — an open-source workflow automation tool with 400+ integrations that you can self-host for free or run on n8n Cloud — to have this running before your next coffee break.

What You Will Build

  • A scheduled trigger that checks your content calendar at a set interval
  • A Google Sheets node that reads the next video due for publishing
  • A YouTube node that uploads or schedules the video with the correct metadata
  • An optional notification step that pings you on Slack or email when a video goes live

What You Need Before You Start

  • An n8n instance (self-hosted or n8n Cloud)
  • A Google account with YouTube API access enabled in Google Cloud Console
  • A Google Sheet set up as your content calendar
  • Your video files accessible via a URL or Google Drive link

Step 1 — Set Up Your Content Calendar in Google Sheets

Create a Google Sheet with the following columns:

  • Title — the video title
  • Description — the full video description
  • Tags — comma-separated tags
  • Category — YouTube category ID (e.g., 28 for Science & Technology)
  • ScheduledDate — the date and time you want the video published (ISO 8601 format)
  • VideoURL — a direct or Drive link to the video file
  • Status — set to Pending initially; the workflow will update this to Published

Keeping everything in a Sheet means your whole team can update the schedule without touching the automation itself.

Step 2 — Create the n8n Workflow

Node 1: Schedule Trigger

Add a Schedule Trigger node. Set it to run every hour (or every 15 minutes if you publish frequently). This is the heartbeat of your scheduler — it wakes the workflow up and checks whether anything needs to go live.

Node 2: Google Sheets — Read Rows

Connect a Google Sheets node configured to read all rows where the Status column equals Pending. Use the Filter option inside the node to return only rows where ScheduledDate is less than or equal to the current timestamp. This ensures only videos that are due right now get processed.

Node 3: IF Node — Check for Due Videos

Add an IF node to check whether the previous node returned any rows. If no rows are returned, the workflow stops cleanly. If one or more videos are due, execution continues.

Node 4: HTTP Request — Download the Video

If your video lives in Google Drive, use the Google Drive node to download the binary file. If it is hosted elsewhere, use an HTTP Request node pointed at the direct video URL. Pass the binary data forward to the upload step.

Node 5: YouTube — Upload Video

Add the YouTube node and select the Upload Video operation. Map the fields from your Sheet row:

  • Title → Title column
  • Description → Description column
  • Tags → Tags column (split by comma)
  • Category ID → Category column
  • Privacy Status → set to private or scheduled depending on your preference
  • Publish At → ScheduledDate column (YouTube will make it public at that exact time)

Authenticate via OAuth2 using the credentials you created in Google Cloud Console. Make sure the YouTube Data API v3 is enabled for your project.

Node 6: Google Sheets — Update Status

After a successful upload, use another Google Sheets node to update the Status cell for that row to Published. This prevents the workflow from trying to upload the same video again on its next run.

Node 7 (Optional): Slack or Email Notification

Add a Slack node or Send Email node to fire a notification confirming the upload. Include the video title and the scheduled publish time so your team always knows what is queued.

Step 3 — Test Your Workflow

Before activating, add a test row to your Sheet with a ScheduledDate set to a few minutes in the past and Status as Pending. Click Execute Workflow manually in n8n. Watch each node execute and check that the video appears in your YouTube Studio as a scheduled upload. If it does, you are ready to activate the workflow.

Tips to Make Your Scheduler More Robust

  • Handle errors gracefully — use n8n's built-in error workflow feature to send you an alert if an upload fails, rather than silently skipping it.
  • Limit concurrent uploads — process one video at a time using the Split In Batches node with a batch size of 1. YouTube's API has quota limits.
  • Log everything — write upload results (video ID, publish time, status) back to a separate Sheet tab as an audit log.
  • Use Placid for thumbnails — if you want auto-generated thumbnails, Placid can generate social media images and video thumbnails from templates via API or directly through n8n, saving you another manual step.

How Long Does It Actually Take?

With n8n already running and your Google Cloud credentials ready, most people finish this workflow in 20 to 30 minutes. The longest part is usually enabling the YouTube Data API in Google Cloud Console and generating the OAuth credentials — allow about 10 minutes for that alone.

Why This Beats Manual Uploading

Manual uploading requires you to be at your desk at the right time, remember every metadata field, and update your tracking sheet by hand. This workflow eliminates all three pain points. Your content calendar becomes the single source of truth, and n8n does everything else on a schedule that never sleeps.

If you want to automate your YouTube publishing without writing code, you can build this entire scheduler via n8n — including 400+ integrations and a free self-hosted option — to publish videos on time, every time, without lifting a finger.

🇩🇪 Deutsch

Dieser Artikel enthält Affiliate-Links (Werbung). Kaufst du darüber, erhalten wir ggf. eine Provision – für dich ohne Mehrkosten.

YouTube-Video-Planer: Publishing in 30 Minuten automatisieren

Videos manuell auf YouTube hochzuladen klingt einfach – bis du einen Redaktionsplan mit Dutzenden Videos, mehreren Kanälen oder einem ganzen Creator-Team managst. Ein verpasstes Upload-Fenster, eine vergessene Beschreibung oder ein inkonsistenter Veröffentlichungsrhythmus können das Kanalwachstum still und leise bremsen. Die gute Nachricht: Mit n8n kannst du in rund 30 Minuten einen vollautomatischen YouTube-Video-Planer bauen – ganz ohne Code.

Diese Anleitung führt dich durch den gesamten Workflow: vom Auslesen eines Inhaltskalenders in Google Sheets bis zum automatischen Upload über die YouTube Data API. Starte mit n8n — einem Open-Source-Workflow-Tool mit über 400 Integrationen, das du kostenlos selbst hostest oder in der Cloud nutzt — und der Planer läuft noch heute.

Was du bauen wirst

  • Einen zeitgesteuerten Trigger, der deinen Inhaltskalender in regelmäßigen Abständen prüft
  • Einen Google-Sheets-Node, der das nächste fällige Video ausliest
  • Einen YouTube-Node, der das Video mit den richtigen Metadaten hochlädt oder plant
  • Einen optionalen Benachrichtigungsschritt per Slack oder E-Mail, wenn ein Video live geht

Was du vorher brauchst

  • Eine n8n-Instanz (selbst gehostet oder n8n Cloud)
  • Ein Google-Konto mit aktiviertem YouTube-API-Zugriff in der Google Cloud Console
  • Ein Google Sheet als Inhaltskalender
  • Deine Videodateien erreichbar über eine URL oder einen Google-Drive-Link

Schritt 1 – Inhaltskalender in Google Sheets einrichten

Erstelle ein Google Sheet mit folgenden Spalten:

  • Titel – der Videotitel
  • Beschreibung – die vollständige Videobeschreibung
  • Tags – durch Komma getrennte Tags
  • Kategorie – YouTube-Kategorie-ID (z. B. 28 für Wissenschaft & Technik)
  • Geplantesdatum – Datum und Uhrzeit der Veröffentlichung im ISO-8601-Format
  • VideoURL – direkter Link oder Drive-Link zur Videodatei
  • Status – zunächst Ausstehend; der Workflow setzt dies auf Veröffentlicht

Wer alles im Sheet pflegt, ermöglicht dem gesamten Team, den Zeitplan anzupassen, ohne die Automatisierung selbst anfassen zu müssen.

Schritt 2 – Den n8n-Workflow erstellen

Node 1: Schedule-Trigger

Füge einen Schedule-Trigger-Node hinzu. Stelle ihn auf stündliches Ausführen ein (oder alle 15 Minuten bei häufigen Uploads). Dieser Takt weckt den Workflow auf und prüft, ob Videos veröffentlicht werden müssen.

Node 2: Google Sheets – Zeilen lesen

Verbinde einen Google-Sheets-Node, der alle Zeilen liest, bei denen die Spalte Status den Wert Ausstehend hat. Nutze die Filter-Option, um nur Zeilen zurückzugeben, bei denen GeplantesDatem kleiner oder gleich dem aktuellen Zeitstempel ist. So werden nur fällige Videos verarbeitet.

Node 3: IF-Node – Prüfen, ob Videos fällig sind

Füge einen IF-Node hinzu, der prüft, ob der vorherige Node überhaupt Zeilen zurückgegeben hat. Wenn keine Zeilen vorhanden sind, endet der Workflow sauber. Andernfalls läuft die Ausführung weiter.

Node 4: HTTP-Request – Video herunterladen

Liegt das Video in Google Drive, nutze den Google-Drive-Node zum Herunterladen der Binärdatei. Andernfalls verwende einen HTTP-Request-Node mit der direkten Video-URL. Die Binärdaten werden an den Upload-Schritt weitergeleitet.

Node 5: YouTube – Video hochladen

Füge den YouTube-Node hinzu und wähle die Operation Video hochladen. Ordne die Felder aus deiner Sheet-Zeile zu:

  • Titel → Titelspalte
  • Beschreibung → Beschreibungsspalte
  • Tags → Tagsspalte (durch Komma getrennt)
  • Kategorie-ID → Kategoriespalte
  • Datenschutz-Status → privat oder geplant, je nach Präferenz
  • Veröffentlichen um → GeplantesDatem-Spalte (YouTube macht das Video zum genauen Zeitpunkt öffentlich)

Authentifiziere dich über OAuth2 mit den Zugangsdaten aus der Google Cloud Console. Stelle sicher, dass die YouTube Data API v3 für dein Projekt aktiviert ist.

Node 6: Google Sheets – Status aktualisieren

Nach einem erfolgreichen Upload aktualisiert ein weiterer Google-Sheets-Node die Status-Zelle für diese Zeile auf Veröffentlicht. Das verhindert, dass der Workflow dasselbe Video beim nächsten Durchlauf erneut hochlädt.

Node 7 (optional): Slack- oder E-Mail-Benachrichtigung

Füge einen Slack- oder E-Mail-senden-Node hinzu, der eine Bestätigung des Uploads verschickt. Gib Videotitel und geplante Veröffentlichungszeit an, damit dein Team immer weiß, was in der Warteschlange steht.

Schritt 3 – Workflow testen

Füge vor der Aktivierung eine Testzeile in dein Sheet ein: GeplantesDatem auf einige Minuten in der Vergangenheit, Status auf Ausstehend. Klicke in n8n auf Workflow ausführen. Beobachte, wie jeder Node ausgeführt wird, und prüfe, ob das Video im YouTube Studio als geplanter Upload erscheint. Wenn ja, kannst du den Workflow aktivieren.

Tipps für einen robusten Planer

  • Fehler abfangen – nutze n8ns eingebaute Fehler-Workflow-Funktion, um eine Benachrichtigung zu erhalten, wenn ein Upload fehlschlägt, statt ihn still zu übergehen.
  • Gleichzeitige Uploads begrenzen – verarbeite Videos einzeln mit dem In Batches aufteilen-Node (Batch-Größe 1). Die YouTube-API hat Kontingentlimits.
  • Alles protokollieren – schreibe Ergebnisse (Video-ID, Veröffentlichungszeit, Status) in einen separaten Sheet-Tab als Protokoll.
  • Thumbnails automatisch erstellen – wenn du automatisch generierte Thumbnails willst, kann Placid Social-Media-Bilder und Thumbnails aus Templates per API oder direkt über n8n erzeugen und spart dir einen weiteren manuellen Schritt.

Wie lange dauert es wirklich?

Wenn n8n bereits läuft und die Google-Cloud-Zugangsdaten bereitstehen, ist der Workflow in 20 bis 30 Minuten fertig. Der zeitaufwändigste Teil ist erfahrungsgemäß das Aktivieren der YouTube Data API in der Google Cloud Console und das Erstellen der OAuth-Zugangsdaten – dafür solltest du etwa 10 Minuten einplanen.

Warum das besser ist als manuelles Hochladen

Beim manuellen Upload musst du zur richtigen Zeit am Rechner sein, an jedes Metadatenfeld denken und die Tabelle von Hand aktualisieren. Dieser Workflow löst alle drei Probleme auf einmal. Der Inhaltskalender wird zur einzigen Quelle der Wahrheit – n8n erledigt den Rest nach einem Zeitplan, der nie schläft.

Wenn du dein YouTube-Publishing automatisieren möchtest, ohne Code zu schreiben, kannst du über n8n diesen kompletten Planer aufbauen — inklusive über 400 Integrationen und kostenlosem Self-Hosting — und Videos pünktlich veröffentlichen, ohne selbst aktiv werden zu müssen.