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.
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.
| Node | Category | Type | Operation |
|---|---|---|---|
| Fetch Latest Videos | Files / media | You Tube | video |
| Loop Over Items | Routing | Loop Over Items | See node parameters |
| YT Title | AI & models | Open Ai | See node parameters |
| Create Description | AI & models | Open Ai | See node parameters |
| When clicking ‘Test workflow’ | Trigger | Manual Trigger | See node parameters |
| 2.5FlashPrev | AI & models | LM Chat Google Gemini | See node parameters |
| YT Tags | AI & models | Agent | See node parameters |
| 3s | Wait | Wait | See node parameters |
| gettitle | Files / media | You Tube | video / get |
| Set Publish Date | Files / media | You Tube | video / update |
| Every Day | Trigger | Schedule Trigger | See node parameters |
| Get Videos to reschedule | Files / media | You Tube | video |
| Get video Ids seperated | Code | Code | See node parameters |
| Loop over Video IDs | Routing | Loop Over Items | See node parameters |
| Get Video Data | Files / media | You Tube | video / get |
| Return Private Videos | Code | Code | See node parameters |
| 4s | Wait | Wait | See node parameters |
| Loop over All Videos not Published | Routing | Loop Over Items | See node parameters |
| get video id | Transform | Edit Fields | See node parameters |
| Remove Duplicates from previous Runs | Transform | Remove Duplicates | removeItemsSeenInPreviousExecutions |
| new video? | Routing | If | See node parameters |
| getLatestVideoID | Files / media | You Tube | video / get |
| Get Transcript | Web / API | HTTP Request | POST |
| Adjust Transcript Format | Code | Code | See node parameters |
| Update Video's Metadata | Files / media | You Tube | video / update |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- 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
googlePalmApiopenAiApiyouTubeOAuth2Api
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. 🖌️📝 #️⃣