← All N8N workflows
AI & researchAgentCodeHTTP RequestIfLM Chat Google Gemini

Youtube_Automation

Configured with Agent, HTTP Request, LM Chat Google Gemini, Open Ai, and additional nodes. Review the connections and setup before adapting this template.

Workflow preview
Files / mediaFetch Latest VideosYou TubeRoutingLoop Over ItemsLoop Over ItemsAI & modelsYT TitleOpen AiAI & modelsCreate DescriptionOpen AiTriggerWhen clicking ‘Testworkflow’Manual TriggerAI & models2.5FlashPrevLM Chat Google GeminiAI & modelsYT TagsAgentWait3sWaitFiles / mediagettitleYou TubeFiles / mediaSet Publish DateYou TubeTriggerEvery DaySchedule TriggerFiles / mediaGet Videos torescheduleYou TubeCodeGet video Ids seperatedCodeRoutingLoop over Video IDsLoop Over ItemsFiles / mediaGet Video DataYou TubeCodeReturn Private VideosCodeWait4sWaitRoutingLoop over All Videosnot PublishedLoop Over ItemsTransformget video idEdit FieldsTransformRemove Duplicates fromprevious RunsRemove DuplicatesRoutingnew video?IfFiles / mediagetLatestVideoIDYou TubeWeb / APIGet TranscriptHTTP RequestCodeAdjust TranscriptFormatCodeFiles / mediaUpdate Video's MetadataYou Tube

Node categories in this workflow

  • Files / media
  • Routing
  • AI & models
  • Trigger
  • Wait
  • Code
  • Transform
  • Web / API

Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.

Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.

How it works

The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.

Workflow node names, types, and operations
NodeCategoryTypeOperation
Fetch Latest VideosFiles / mediaYou Tubevideo
Loop Over ItemsRoutingLoop Over ItemsSee node parameters
YT TitleAI & modelsOpen AiSee node parameters
Create DescriptionAI & modelsOpen AiSee node parameters
When clicking ‘Test workflow’TriggerManual TriggerSee node parameters
2.5FlashPrevAI & modelsLM Chat Google GeminiSee node parameters
YT TagsAI & modelsAgentSee node parameters
3sWaitWaitSee node parameters
gettitleFiles / mediaYou Tubevideo / get
Set Publish DateFiles / mediaYou Tubevideo / update
Every DayTriggerSchedule TriggerSee node parameters
Get Videos to rescheduleFiles / mediaYou Tubevideo
Get video Ids seperatedCodeCodeSee node parameters
Loop over Video IDsRoutingLoop Over ItemsSee node parameters
Get Video DataFiles / mediaYou Tubevideo / get
Return Private VideosCodeCodeSee node parameters
4sWaitWaitSee node parameters
Loop over All Videos not PublishedRoutingLoop Over ItemsSee node parameters
get video idTransformEdit FieldsSee node parameters
Remove Duplicates from previous RunsTransformRemove DuplicatesremoveItemsSeenInPreviousExecutions
new video?RoutingIfSee node parameters
getLatestVideoIDFiles / mediaYou Tubevideo / get
Get TranscriptWeb / APIHTTP RequestPOST
Adjust Transcript FormatCodeCodeSee node parameters
Update Video's MetadataFiles / mediaYou Tubevideo / update

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.

Requirements

An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.

Credential types declared in the source

  • googlePalmApi
  • openAiApi
  • youTubeOAuth2Api

Workflow notes

Youtube Video Description/Tags/etc. Automation

Youtube Video Description/Tags/etc. Automation

👉🏻 Repos: github.com/JimPresting 🛠️
👉🏻 YouTube: youtube.com/@StardawnAI 🎥

Stay up to date for guides on Github repos and tutorials on YouTube! 🚀

Note: By default, this takes only the latest video and adjusts the values. If you upload multiple videos within a day or even at once within one hour, you need to set that value higher, but bear in mind that if you set it to a high number, it will process older, already published videos. Using the Publish After option can't be recommended as it might lead to errors with scheduled videos. You can also detach the Remove Duplicates node from the ongoing nodes and set the limit of the Get All Videos node to Return all. This way, everything that has already been uploaded will not be returned in the future. To undo this, you can select Clear Database in the Remove Duplicates node.

Youtube_Automation

Youtube_Automation

Purpose and structure

This folder contains the Youtube_Automation workflow. Its executable nodes use agent, code, httpRequest, if, lmChatGoogleGemini, manualTrigger, openAi, removeDuplicates, scheduleTrigger, set, splitInBatches, wait, youTube. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.

Setup

Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.

Entry points

When clicking ‘Test workflow’, Every Day

Verification

Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.

Attribution

https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Wait/2000_Wait_Code_Automate_Webhook.json MIT; preserve source notices.

Canvas section labels

These name areas of the original canvas; they do not include explanatory instructions.

  • 🎥Title is kept from the upload, alternatively you can just add the YT Title module in the mix
  • Adjust the Prompts 👉🏻
  • 📅Scheduling Logic⏰
  • Code only returns the videos that are not listed
  • Video needs to be set to private TOGETHER with the PublishAt parameter in order for it to work.
  • Video needs to be Unlisted or Published in order for the scraper to be able to get the transcript
  • Generate Description, Tags, etc. 🖌️📝 #️⃣

More in AI & research