{ "id": "LF8gz3iz74u45a5i", "meta": { "instanceId": "workflow-8b049ec8", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:51.830835", "updatedAt": "2025-09-29T07:07:51.830851", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "YouTube Videos with AI Summaries on Discord", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "48c87027-7eea-40b9-a73c-4e002b748783", "name": "YouTube Video Trigger", "type": "n8n-nodes-base.rssFeedReadTrigger", "position": [ 560, 220 ], "parameters": { "feedUrl": "{{ $env.WEBHOOK_URL }}", "pollTimes": { "item": [ { "mode": "everyMinute" } ] } }, "typeVersion": 1, "notes": "This rssFeedReadTrigger node performs automated tasks as part of the workflow." }, { "id": "56166228-b365-4043-b48c-098b4de71f6f", "name": "Retrieve Caption Data", "type": "n8n-nodes-base.httpRequest", "position": [ 780, 220 ], "parameters": { "url": "{{ $env.API_BASE_URL }}", "options": {}, "sendQuery": true, "authentication": "{{ $credentials.predefinedCredentialType }}", "queryParameters": { "parameters": [ { "name": "videoId", "value": "={{ $json.id.match(/(?:[^:]*:){2}\\s*(.*)/)[1] }}" }, { "name": "part", "value": "snippet" } ] }, "nodeCredentialType": "YOUR_CREDENTIAL_HERE" }, "credentials": { "youTubeOAuth2Api": { "id": "uy3xy1Ks2ATwRGr4", "name": "Creator Magic - YouTube account" } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "c029ac6f-3071-4045-83f6-2dede0c1f358", "name": "Download Captions", "type": "n8n-nodes-base.httpRequest", "position": [ 1220, 220 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {}, "authentication": "{{ $credentials.predefinedCredentialType }}", "nodeCredentialType": "YOUR_CREDENTIAL_HERE" }, "credentials": { "youTubeOAuth2Api": { "id": "uy3xy1Ks2ATwRGr4", "name": "Creator Magic - YouTube account" } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "8b45dc14-f10f-4b50-8ca6-a9d0ccfee4dc", "name": "Caption File Conversion", "type": "n8n-nodes-base.extractFromFile", "position": [ 1440, 220 ], "parameters": { "options": {}, "operation": "text", "destinationKey": "YOUR_CREDENTIAL_HERE" }, "typeVersion": 1, "notes": "This extractFromFile node performs automated tasks as part of the workflow." }, { "id": "6527adb4-9087-40eb-b63a-8c4cdf5d0a40", "name": "Caption Summary with ChatGPT", "type": "n8n-nodes-base.noOp", "position": [ 1660, 220 ], "parameters": { "modelId": { "__rl": true, "mode": "list", "value": "gpt-3.5-turbo", "cachedResultName": "GPT-3.5-TURBO" }, "options": {}, "messages": { "values": [ { "content": "=Summarise this transcript into three bullet points to sum up what the video is about and why someone should watch it: {{ $json[\"content\"] }}" } ] } }, "credentials": { "openAiApi": { "id": "QpdCHVaJVRd9NNYl", "name": "OpenAi account" } }, "typeVersion": 1.3, "notes": "This openAi node performs automated tasks as part of the workflow." }, { "id": "2c83f230-bc37-4efb-9ee9-842bcefa0ef4", "name": "Post to Discord", "type": "n8n-nodes-base.discord", "position": [ 2000, 220 ], "parameters": { "content": "=๐ŸŒŸ New Video Alert! ๐ŸŒŸ\n\n**{{ $('YouTube Video Trigger').item.json[\"title\"] }}**\n\n*Whatโ€™s it about?*\n\n{{ $json[\"message\"][\"content\"] }}\n\n[Watch NOW]({{ $('YouTube Video Trigger').item.json[\"link\"] }}) and remember to share your thoughts!", "options": {}, "authentication": "{{ $credentials.webhook }}" }, "credentials": { "discordWebhookApi": { "id": "QQxpAIskycvb8fIE", "name": "Discord Webhook account" } }, "typeVersion": 2, "notes": "This discord node performs automated tasks as part of the workflow." }, { "id": "8408887e-1d89-402c-b350-93d5f96f4dea", "name": "Find English Captions", "type": "n8n-nodes-base.set", "position": [ 1000, 220 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "eaf7dcb5-91cf-4405-917b-38845f0ef78d", "name": "caption", "type": "object", "value": "={{ $jmespath( $json.items, \"[?snippet.language == 'en'] | [0]\" ) }}" } ] } }, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "71cc0977-1695-4797-9df2-b0a98e41d3de", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ 500, -20 ], "parameters": { "width": 448.11859838274916, "height": 417.2722371967648, "content": "### Summarise Your YouTube Videos with AI for Discord\n\n๐Ÿ“ฝ๏ธ [Watch the Video Tutorial]({{ $env.WEBHOOK_URL }}\n\n* Add your [YouTube channel ID]({{ $env.WEBHOOK_URL }} to the URL in the first node: `{{ $env.WEBHOOK_URL }}`.\n\n* Ensure authorization with the YouTube channel that you want to download captions from." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "e8fc6758-02ef-4b65-8ab5-474bd8e3862a", "connections": { "56166228-b365-4043-b48c-098b4de71f6f": { "main": [ [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f", "type": "main", "index": 0 } ], [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f-14fe379f", "type": "main", "index": 0 } ], [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f-64214582", "type": "main", "index": 0 } ], [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f-c3206ca4", "type": "main", "index": 0 } ], [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f-a86c7c5a", "type": "main", "index": 0 } ], [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f-765e293f", "type": "main", "index": 0 } ], [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f-f13d3cab", "type": "main", "index": 0 } ], [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f-b6a38523", "type": "main", "index": 0 } ], [ { "node": "error-handler-56166228-b365-4043-b48c-098b4de71f6f-ecac7208", "type": "main", "index": 0 } ] ] }, "c029ac6f-3071-4045-83f6-2dede0c1f358": { "main": [ [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358", "type": "main", "index": 0 } ], [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358-5a3ee8e0", "type": "main", "index": 0 } ], [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358-bc6589ed", "type": "main", "index": 0 } ], [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358-ae06b431", "type": "main", "index": 0 } ], [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358-d92aba74", "type": "main", "index": 0 } ], [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358-49a9b629", "type": "main", "index": 0 } ], [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358-5f78af4a", "type": "main", "index": 0 } ], [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358-f3a46dab", "type": "main", "index": 0 } ], [ { "node": "error-handler-c029ac6f-3071-4045-83f6-2dede0c1f358-00480902", "type": "main", "index": 0 } ] ] }, "8b45dc14-f10f-4b50-8ca6-a9d0ccfee4dc": { "main": [ [ { "node": "error-handler-8b45dc14-f10f-4b50-8ca6-a9d0ccfee4dc-20ecf2d1", "type": "main", "index": 0 } ] ] }, "6527adb4-9087-40eb-b63a-8c4cdf5d0a40": { "main": [ [ { "node": "error-handler-6527adb4-9087-40eb-b63a-8c4cdf5d0a40-52957036", "type": "main", "index": 0 } ] ] }, "2c83f230-bc37-4efb-9ee9-842bcefa0ef4": { "main": [ [ { "node": "error-handler-2c83f230-bc37-4efb-9ee9-842bcefa0ef4-70f83625", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: YouTube Videos with AI Summaries on Discord. This workflow integrates 8 different services: stickyNote, httpRequest, rssFeedReadTrigger, discord, set. It contains 15 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: YouTube Videos with AI Summaries on Discord. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }