AutomationFlowsAI & RAG › Send Youtube Video Summaries to Obsidian via Dropbox

Send Youtube Video Summaries to Obsidian via Dropbox

ByI versus AI @iversusai on n8n.io

[](https://www.youtube.com/watch?v=B6kP8vdGP1M)

Cron / scheduled trigger★★★★☆ complexityAI-powered21 nodesOpenAIYouTubeDropboxHTTP Request
AI & RAG Trigger: Cron / scheduled Nodes: 21 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #3886 — we link there as the canonical source.

This workflow follows the HTTP Request → OpenAI 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 →

Download .json
{
  "id": "yyGN6Kh0MQGkjNfe",
  "name": "[PRODUCT] IversusAI_YT_Summary_Automation_v4",
  "tags": [
    {
      "id": "UOLMRF3EoMC1PdRu",
      "name": "IversusAI",
      "createdAt": "2024-10-31T03:56:19.150Z",
      "updatedAt": "2024-10-31T03:56:19.150Z"
    },
    {
      "id": "oA78CsgmGGXoD0q1",
      "name": "Products",
      "createdAt": "2024-12-20T01:38:24.876Z",
      "updatedAt": "2024-12-20T01:38:24.876Z"
    },
    {
      "id": "yanvSZ7JutVz5Z2K",
      "name": "Gumroad",
      "createdAt": "2024-10-31T03:59:10.004Z",
      "updatedAt": "2024-10-31T03:59:10.004Z"
    }
  ],
  "nodes": [
    {
      "id": "9b6cbdbf-731f-47aa-bd15-4b060cc4b5e9",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1140,
        -620
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5bb50cac-2283-4b5f-87ec-44518340bd3f",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1140,
        -20
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b5d0d8e8-71e4-4666-9def-c6d832de41a8",
      "name": "Create Links",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "This step uses GPT-4o Mini to create Obsidian-style internal links (e.g., `[[Topic]]`). It analyzes the video title ('Get Video Details') and the main content ('Combine Content') to identify relevant keywords and concepts. The output is a single line of formatted links, sent to 'Assemble Note'.",
      "position": [
        1900,
        -80
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.6
    },
    {
      "id": "c91f0864-64ba-4ec1-8c47-7d706b8693d6",
      "name": "Create Frontmatter",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "Generates the YAML frontmatter section for the note using OpenAI (GPT-4o Mini). Input comes from 'Combine Content', supplemented by data from 'Get Playlist Videos' and 'Get Video Details'. The prompt guides the AI to create appropriate tags, aliases, etc. The resulting YAML block is passed to 'Create Links'.",
      "position": [
        1520,
        -80
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.6
    },
    {
      "id": "f2bdbade-60b9-449f-ad2a-e039f16f8ecb",
      "name": "Summarize Video",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "This node leverages OpenAI (GPT-4o) to generate a structured breakdown of the video content. It receives the cleaned transcript from 'Clean Transcript', along with context like title/channel ('Get Video Details') and video link ('Get Playlist Videos'). The AI follows specific instructions to create the summary, which then moves to the 'Combine Content' node.",
      "position": [
        460,
        280
      ],
      "parameters": {},
      "typeVersion": 1.6
    },
    {
      "id": "3c42b68c-f6b1-4107-af2f-b89a5c27e999",
      "name": "Remove from Source Playlist",
      "type": "n8n-nodes-base.youTube",
      "notes": "The final action for a successfully processed video. This step removes the video item from the original YouTube playlist (using the video ID from 'Get Playlist Videos') now that its note has been saved to Dropbox. This marks the end of the workflow for this item.",
      "position": [
        2160,
        280
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "67de761c-349e-4535-9293-b34557431316",
      "name": "Clean Transcript",
      "type": "n8n-nodes-base.code",
      "notes": "This node executes custom Javascript to refine the raw VTT transcript received from 'Get Video Transcript'. The code performs several cleaning steps including timestamp formatting, tag removal, line consolidation, and vowel removal. The processed transcript is then outputted to the 'Summarize Video' node.",
      "position": [
        240,
        280
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 2
    },
    {
      "id": "e502e75f-7d05-4b5a-9196-8975bf9f63e1",
      "name": "Create File",
      "type": "n8n-nodes-base.convertToFile",
      "notes": "Takes the complete text content from 'Assemble Note' and converts it into a binary file format. This prepares the data to be saved as a Markdown (.md) file in the next step, 'Save Note to Dropbox'.",
      "position": [
        1680,
        280
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.1
    },
    {
      "id": "a74449ab-e058-4ada-a090-a2f1118f7865",
      "name": "Save Note to Dropbox",
      "type": "n8n-nodes-base.dropbox",
      "notes": "This step saves the generated note to Dropbox. It receives the file data from 'Create File' and uses a cleaned-up version of the video title (from 'Get Playlist Videos') for the filename within the '/Transcripts/' folder. Completion triggers the 'Remove from Source Playlist' node.",
      "position": [
        1920,
        280
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "37a91857-08a9-48c4-94de-9536d24ab8d0",
      "name": "Combine Content",
      "type": "n8n-nodes-base.set",
      "notes": "Receives the AI summary from 'Summarize Video'. This step gathers key details (title, channel, link, likes, duration) directly from 'Get Video Details' and 'Get Playlist Videos', combining them with the summary into a single block of Markdown text. This combined content serves as input for the 'Create Frontmatter' node.",
      "position": [
        840,
        280
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 3.4
    },
    {
      "id": "4b235295-f406-427e-a2ee-997048ead0bb",
      "name": "Assemble Note",
      "type": "n8n-nodes-base.set",
      "notes": "This node constructs the final output text by piecing together various data points: frontmatter from 'Create Frontmatter', video metadata (including calculating duration) from 'Get Video Details' & 'Get Playlist Videos', the AI summary from 'Summarize Video', and the generated links from 'Create Links'. The complete text is then sent to 'Create File'.",
      "position": [
        2280,
        -80
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 3.4
    },
    {
      "id": "f376e8c3-2eab-4456-9f83-e417cd6efbd6",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        140
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a3e2a50f-b8c9-45a9-adbb-ea43f8f29d26",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1420,
        -220
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "007a4377-df57-452d-bee0-0a0fb73b6ca4",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1480,
        140
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "df5894be-363b-4454-9891-ee15283846db",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        -340
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d42e0b9d-91c4-4bec-a911-3d8b960bf980",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1340,
        -340
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b6a89178-6b52-4917-8eb3-ff95dcdc8b5c",
      "name": "Get Video Transcript",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Using the subtitle URL obtained from 'Get Video Details', this step fetches the raw transcript content (in VTT format) via RapidAPI. This raw text is then passed along to the 'Clean Transcript' node for refinement.",
      "position": [
        760,
        -80
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "2c36d68a-fc12-4cde-a105-7d30fbb73f16",
      "name": "Get Video Details",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "For each unique video identified by 'Filter Processed Videos', this node calls the RapidAPI service. It requests detailed video information like title, channel name, like count, duration (in seconds), and subtitle availability. The results are forwarded to 'Get Video Transcript'.",
      "position": [
        520,
        -80
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "694ddd09-7f91-4b24-bbf7-ae5d068e89ea",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        -220
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "53188df4-8954-4107-8a46-7ca598ef12fe",
      "name": "Run Workflow on Schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "This node initiates the entire process. It runs automatically at the defined interval and sends a trigger signal to the 'Get Playlist Videos' node to start the workflow.",
      "position": [
        -200,
        100
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "314fd199-a8a2-4018-9086-4a1f5b6c9db6",
      "name": "Get Playlist Videos",
      "type": "n8n-nodes-base.youTube",
      "notes": "Triggered by the schedule, this step fetches the complete list of videos from the target YouTube playlist. The collected video data is then passed to the 'Filter Processed Videos' node.",
      "position": [
        280,
        -80
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1",
    "saveDataSuccessExecution": "none"
  },
  "versionId": "931b9a9c-fd55-41a6-b364-922b8bb2ffe7",
  "connections": {
    "Create File": {
      "main": [
        [
          {
            "node": "Save Note to Dropbox",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Links": {
      "main": [
        [
          {
            "node": "Assemble Note",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Assemble Note": {
      "main": [
        [
          {
            "node": "Create File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine Content": {
      "main": [
        [
          {
            "node": "Create Frontmatter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Video": {
      "main": [
        [
          {
            "node": "Combine Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean Transcript": {
      "main": [
        [
          {
            "node": "Summarize Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video Details": {
      "main": [
        [
          {
            "node": "Get Video Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Frontmatter": {
      "main": [
        [
          {
            "node": "Create Links",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Playlist Videos": {
      "main": [
        [
          {
            "node": "Get Video Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video Transcript": {
      "main": [
        [
          {
            "node": "Clean Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Note to Dropbox": {
      "main": [
        [
          {
            "node": "Remove from Source Playlist",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run Workflow on Schedule": {
      "main": [
        [
          {
            "node": "Get Playlist Videos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

[](https://www.youtube.com/watch?v=B6kP8vdGP1M)

Source: https://n8n.io/workflows/3886/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Takes a product image from Google Sheets, adds frozen effect with Gemini, generates ASMR video with Veo3, writes captions with GPT-4o, and posts to 4 platforms automatically. Schedule trigger picks fi

HTTP Request, Google Sheets, OpenAI +2
AI & RAG

AI Institutional Stock Valuation Engine with Risk Scoring & Scenario Targets

Google Sheets, XML, HTTP Request +3
AI & RAG

Overview This is a production-grade, fully automated stock analysis system built entirely in n8n. It combines institutional-level financial analysis, dual AI model consensus, and a self-improving back

Google Sheets, XML, HTTP Request +3
AI & RAG

The Problem That it Solves

Google Drive Trigger, OpenAI, Google Drive +5
AI & RAG

This automation is a complete end-to-end system designed to find, qualify, and contact B2B leads — fully automated and powered by AI. Searches for target companies on LinkedIn via Ghost Genius API, us

Google Sheets, HTTP Request, OpenAI +1