This workflow corresponds to n8n.io template #3907 — we link there as the canonical source.
This workflow follows the Agent → Documentdefaultdataloader recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "35SXmvC53Lb0eJDt",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Quizzes Shorts Generator copy",
"tags": [],
"nodes": [
{
"id": "8a9a9a67-9f49-4b45-b0e3-e3a6ab4e08e6",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-300,
-760
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "913b9093-7811-4118-8f6d-11ab9c2cacf5",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
-160,
-580
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "ead88caa-7cca-4f35-a130-3c8ac7c79a2f",
"name": "Embeddings OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
20,
-240
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "f5c9f6d6-3f16-4d23-9d12-b4be3bfbccf6",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
800,
-900
],
"parameters": {},
"typeVersion": 1
},
{
"id": "27c0589d-a85d-463a-960c-a562fdd021a2",
"name": "Recursive Character Text Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
800,
-680
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b328ffee-9ccd-4d15-8229-91bdbb159cc1",
"name": "Embeddings OpenAI1",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
640,
-920
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "07f9280c-54d7-473d-a2f3-293ca1af41d0",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
1580,
-680
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "582e8cb0-17cb-4141-8e25-062bac70f385",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
1940,
-680
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "3b1df4bc-72eb-4452-ab1c-bac9daecb932",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
160,
-580
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "530101d9-6b00-4c6a-8062-7a64960ba6a8",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
2300,
-440
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "d575df6d-0bad-43af-a9bb-d33c841d9878",
"name": "Riddle generation AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-80,
-760
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "b7017156-c5fb-4d4d-a951-511b5942471e",
"name": "Vector Store to Find Previous Riddles",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-80,
-400
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "31865d0d-0b08-42dc-814c-cfb43562aca6",
"name": "Fetch Audio From Sheet (Ensuring Rotation)",
"type": "n8n-nodes-base.googleSheets",
"position": [
600,
-460
],
"parameters": {},
"executeOnce": true,
"typeVersion": 4.5
},
{
"id": "a63baebb-7658-4b31-a8c1-698b5099b4f3",
"name": "Insert Riddles to Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
620,
-1100
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "a857ddb7-8e55-48ad-be99-6f68f385ba95",
"name": "Convert Riddles JSON to 1 Text item for Vector Insertion",
"type": "n8n-nodes-base.code",
"position": [
460,
-1100
],
"parameters": {},
"typeVersion": 2
},
{
"id": "ae014584-3e1f-425b-937d-6b1491680c95",
"name": "Fetch Current Shorts Title (Numbered)",
"type": "n8n-nodes-base.googleSheets",
"position": [
960,
-1100
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "f04ffdab-5309-46d1-b4db-5e5aab68f04a",
"name": "Calculate Next Shorts Title Number (To update at the end)",
"type": "n8n-nodes-base.code",
"position": [
1160,
-1100
],
"parameters": {},
"typeVersion": 2
},
{
"id": "46d5e44c-ca87-40a3-a3c3-2f23587a5034",
"name": "Render Youtube Short",
"type": "n8n-nodes-base.httpRequest",
"position": [
1760,
-680
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "dc9e9174-becc-4d24-abb4-48d8c1a9d254",
"name": "Youtube Upload HTTP request Setup",
"type": "n8n-nodes-base.httpRequest",
"position": [
2120,
-680
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "4a5a3e7e-5323-4be4-bea8-13267d9cc879",
"name": "Get Binary for Rendered Short",
"type": "n8n-nodes-base.httpRequest",
"position": [
2300,
-680
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "8a561692-413f-4bff-9a87-da8fe5e8e961",
"name": "Upload Binary to Youtube HTTP",
"type": "n8n-nodes-base.httpRequest",
"position": [
2480,
-680
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "b3c52e07-0f65-4a46-8e72-f391ae9a9b3d",
"name": "Send Notification with YouTube link",
"type": "n8n-nodes-base.gmail",
"position": [
1580,
-440
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "70aef838-2a53-4ec6-8dc0-c4987b3fce27",
"name": "Update Audio Used Status",
"type": "n8n-nodes-base.googleSheets",
"position": [
1760,
-440
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "215c4ca7-5292-4761-9876-2238d2dcec7a",
"name": "Update Next Shorts title",
"type": "n8n-nodes-base.googleSheets",
"position": [
1940,
-440
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "7e8bf144-7669-4d5d-aaaa-b8e7dd3a71cf",
"name": "Check if all audio tracks have been used",
"type": "n8n-nodes-base.googleSheets",
"position": [
2120,
-440
],
"parameters": {},
"typeVersion": 4.5,
"alwaysOutputData": true
},
{
"id": "e20e90a6-7125-4c14-95cf-807424cbd9c1",
"name": "get all track rows",
"type": "n8n-nodes-base.googleSheets",
"position": [
2560,
-340
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "1fde9116-b24f-4307-81b0-4faf54052e02",
"name": "update all track rows back to unused",
"type": "n8n-nodes-base.googleSheets",
"position": [
2760,
-340
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "bfe2c945-abcc-48f4-bad9-d93c0ff71bf5",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1520,
-480
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "480cb231-26c1-4b65-9a02-666961a985fc",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1520,
-720
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "d6173a8e-7b78-4b05-96a4-b833a5dd1d8a",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-1320
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "31093814-6058-48fe-bff9-2dfa03ccf76d",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
-1320
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e16200b1-bdfd-4395-944a-078de86bebe1",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-1040
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "081eec97-96f2-47a3-8f20-c6f0ccf1b114",
"connections": {
"If": {
"main": [
[],
[
{
"node": "get all track rows",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Youtube Upload HTTP request Setup",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Render Youtube Short",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Riddle generation AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "Vector Store to Find Previous Riddles",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Embeddings OpenAI1": {
"ai_embedding": [
[
{
"node": "Insert Riddles to Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"get all track rows": {
"main": [
[
{
"node": "update all track rows back to unused",
"type": "main",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Insert Riddles to Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"Anthropic Chat Model": {
"ai_languageModel": [
[
{
"node": "Riddle generation AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Render Youtube Short": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Riddle generation AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Update Audio Used Status": {
"main": [
[
{
"node": "Update Next Shorts title",
"type": "main",
"index": 0
}
]
]
},
"Update Next Shorts title": {
"main": [
[
{
"node": "Check if all audio tracks have been used",
"type": "main",
"index": 0
}
]
]
},
"Riddle generation AI Agent": {
"main": [
[
{
"node": "Fetch Audio From Sheet (Ensuring Rotation)",
"type": "main",
"index": 0
},
{
"node": "Convert Riddles JSON to 1 Text item for Vector Insertion",
"type": "main",
"index": 0
}
]
]
},
"Get Binary for Rendered Short": {
"main": [
[
{
"node": "Upload Binary to Youtube HTTP",
"type": "main",
"index": 0
}
]
]
},
"Upload Binary to Youtube HTTP": {
"main": [
[
{
"node": "Send Notification with YouTube link",
"type": "main",
"index": 0
}
]
]
},
"Insert Riddles to Vector Store": {
"main": [
[
{
"node": "Fetch Current Shorts Title (Numbered)",
"type": "main",
"index": 0
}
]
],
"ai_tool": [
[]
]
},
"Recursive Character Text Splitter": {
"ai_textSplitter": [
[
{
"node": "Default Data Loader",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"Youtube Upload HTTP request Setup": {
"main": [
[
{
"node": "Get Binary for Rendered Short",
"type": "main",
"index": 0
}
]
]
},
"Send Notification with YouTube link": {
"main": [
[
{
"node": "Update Audio Used Status",
"type": "main",
"index": 0
}
]
]
},
"Fetch Current Shorts Title (Numbered)": {
"main": [
[
{
"node": "Calculate Next Shorts Title Number (To update at the end)",
"type": "main",
"index": 0
}
]
]
},
"Vector Store to Find Previous Riddles": {
"ai_tool": [
[
{
"node": "Riddle generation AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Check if all audio tracks have been used": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Fetch Audio From Sheet (Ensuring Rotation)": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Convert Riddles JSON to 1 Text item for Vector Insertion": {
"main": [
[
{
"node": "Insert Riddles to Vector Store",
"type": "main",
"index": 0
}
]
]
},
"Calculate Next Shorts Title Number (To update at the end)": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow allows you to generate riddle-themed vertical videos (9:16), render them using Creatomate, and upload them directly to YouTube — all automatically. It's optimized for low-cost operation while still integrating AI and automation at key stages.
Source: https://n8n.io/workflows/3907/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Supercharge your trading decisions with this end-to-end AI automation that connects market intelligence, technical analysis, and automated trade execution — all without manual intervention.
WooriFisa. Uses agent, httpRequest, documentDefaultDataLoader, vectorStorePinecone. Scheduled trigger; 86 nodes.
This workflow automates patient communication for medical clinics using the WhatsApp Business API. It supports appointment booking, rescheduling, service inquiries, follow-ups, and document submission
WooriFisa 최종. Uses memoryMongoDbChat, agent, httpRequest, documentDefaultDataLoader. Scheduled trigger; 68 nodes.
Tech Radar. Uses googleDrive, documentDefaultDataLoader, stickyNote, mySql. Scheduled trigger; 53 nodes.