Youtube Module: Automate Youtube Uploads in intervalls

I want to automate tasks with YouTube in N8n and need help with two workflows (two alternatives that intent to do the same thing in the end once uploading in Google Drive as starting point and one where the video is already uploaded to YT):

  1. How can I use the Get Many Videos module to fetch only the ID of the most recent scheduled (not published) video?

  2. How can I upload a video from Google Drive to YouTube and dynamically schedule it for a specific rhythm, e.g., every Tuesday and Friday at 5:00 PM? The workflow should first check if a video is already scheduled for those days and, if so, skip to the next available slot (e.g., if the next two weeks are fully scheduled, it should find the next free Tuesday or Friday and assign that date as the publish date).
    The workflow here is just pseudo. I intend to use a module to get the transcript and automatically add Tags, description, title and more via ChatGPT modules.

  • n8n version: 1.69.2
  • Database (default: SQLite): QLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): own, main
  • Running n8n via (Docker, npm, n8n cloud, desktop app): self-hosted in google cloud
  • Operating system: Windows10

Hey @Kiremit , I’m not familiar with YouTube API and can only give you some suggestions to try out after going over API docs.

As I read, the scheduled videos has status.publishAt set into the future and they currently have status.privacyStatus set to “private”. You might leverage this fact to engage Filter with custom query when you have Return All enabled.

To schedule upload, I would advise to utilize Luxon’s DateTime object for dates calculation. You can devise the date of the the week’s day with localWeekday, for example. Once calculated, set that datetime with “Publish At” in Options for Upload operations of YouTube node. Don’t forget to set “Privacy Status” to public too.

Hopefully it helps somehow. Again, this is not a definite answer but something to explore. Good luck!