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 →
{
"nodes": [
{
"id": "55cfbfaf-861c-40a8-b3d7-cf88f96f615d",
"name": "When clicking \u2018Test workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-464,
800
],
"parameters": {},
"typeVersion": 1
},
{
"id": "033de7ce-be75-4d9f-8cc1-d9978146e393",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1200,
720
],
"parameters": {
"jsonSchemaExample": "{\n \"level\": \"beginner/intermediate/advanced\",\n \"topics\": \"\u2022 Topic 1\\n\u2022 Topic 2\\n\u2022 Topic 3\",\n \"summary\": \"Concise summary paragraph of the content...\",\n \"key_takeaways\": \"\u2022 First key takeaway\\n\u2022 Second key takeaway\\n\u2022 Third key takeaway\"\n}"
},
"typeVersion": 1.2
},
{
"id": "fd76d54d-a8fc-4122-96eb-649983ea1174",
"name": "Summary",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"onError": "continueErrorOutput",
"position": [
1104,
496
],
"parameters": {
"text": "={{ $json.text }}\n",
"messages": {
"messageValues": [
{
"message": "=# Role\nExpert Content Analyzer specialized in transforming video transcripts into structured, readable summaries for database systems.\n\n# Task\nAnalyze the provided video transcript and generate a structured output with bullet-pointed topics and key takeaways that display properly in Airtable.\n\n# Specifics\n\nProcess the complete transcript to extract essential information\nFormat both topics and key takeaways as clear bullet points with proper symbols\nEnsure all formatting is optimized for Airtable readability\nYour expertise is crucial for our content management workflow\n\n# Context\nThis prompt processes video transcripts from our content library and generates structured summaries that are stored in Airtable. Team members rely on this information to quickly understand video content without watching the full videos.\n\n# Output Format\njsonCopy{\n \"level\": \"beginner/intermediate/advanced\",\n \"topics\": \"\u2022 Topic 1\\n\u2022 Topic 2\\n\u2022 Topic 3\",\n \"summary\": \"Concise summary paragraph of the content...\",\n \"key_takeaways\": \"\u2022 First key takeaway\\n\u2022 Second key takeaway\\n\u2022 Third key takeaway\"\n}\n\n# Process\n\nThoroughly read the provided transcript: {{ $json.text }}\nDetermine the content difficulty level\nIdentify main topics and format them as bullet points\nCreate a concise yet comprehensive summary paragraph\nExtract key insights and format them as bullet points\nStructure everything into valid JSON with the specified keys\n\n# Note\nBoth \"topics\" and \"key_takeaways\" should be formatted as strings with bullet points (\u2022) separated by newline characters (\\n) for proper display in Airtable. The summary should remain a single paragraph string."
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"retryOnFail": true,
"typeVersion": 1.5
},
{
"id": "d5827ebb-1d86-4812-985a-25139f213455",
"name": "tutorial",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"onError": "continueErrorOutput",
"position": [
1104,
-496
],
"parameters": {
"text": "={{ $json.text }}\n",
"messages": {
"messageValues": [
{
"message": "=# Role\n\nYou are an expert technical writer specialized in creating clear, structured tutorials from raw video transcripts. You excel at organizing information logically, identifying key steps, and presenting complex technical concepts in an accessible format.\n\n# Task\n\nTransform the provided YouTube transcript about AI automation into a comprehensive, step-by-step tutorial that can be easily read and followed in Airtable. Include all relevant code snippets, command sequences, and technical details.\n\n# Specifics\n\n- Break down the content into clear, sequential steps with numbered headings\n- Include all code snippets exactly as presented in the transcript, formatted properly for readability\n- Add descriptive explanations for each step to ensure understanding\n- Include any resource links, tools, or prerequisites mentioned\n- Format the content to be easily readable in Airtable (avoid complex formatting that may not render well)\n- Identify and emphasize key concepts, warnings, or best practices\n- I'm counting on your expertise to create a tutorial I can immediately implement for my AI project.\n\n# Context\n\nThis tutorial will be used as a reference guide for implementing AI automation solutions. Users will follow these steps in Airtable to build their own automation workflows, so clarity and accuracy are essential. The quality of this tutorial directly impacts users' ability to successfully implement AI automation in their projects.\n\n# Examples\n\nHere's an example of how to format a step in the tutorial:\n\n## Step 1: Setting Up the Environment\n\n1. Install the required packages:\n```python\npip install openai pandas numpy scikit-learn\n```\n\n2. Configure your API keys:\n```python\nimport os\nos.environ[\"OPENAI_API_KEY\"] = \"your-api-key-here\"\n```\n\n3. Import the necessary libraries:\n```python\nimport openai\nimport pandas as pd\nimport numpy as np\nfrom sklearn.model_selection import train_test_split\n```\n\n**Note:** Make sure you have Python 3.8+ installed before proceeding.\n\n# Notes\n\n- Present all steps in the exact sequence they appear in the transcript\n- Include all code snippets, even if they seem repetitive\n- Format the output to be optimized for Airtable viewing\n- When code spans multiple segments in the transcript, combine them into complete, functional code blocks\n- If the transcript mentions downloading files or resources, include the exact URLs or instructions\n- Only output the tutorial, nothing else, no comments"
}
]
},
"promptType": "define"
},
"retryOnFail": true,
"typeVersion": 1.5
},
{
"id": "dc5ca7a5-1aaf-4fb1-b3ab-d6e23ad40875",
"name": "blogpost",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1104,
304
],
"parameters": {
"text": "={{ $json.text }}",
"messages": {
"messageValues": [
{
"message": "=Role\nYou are a specialized AI Automation content strategist with deep expertise in translating technical concepts into compelling business benefits, particularly skilled at creating content that generates qualified leads for automation services.\nTask\nTransform the provided YouTube transcript about AI Automation into a conversion-optimized blog post that educates potential clients on automation benefits while subtly positioning the service as the solution to their business challenges.\nSpecifics\n\nStructure the content with benefit-focused H2 and H3 headings that include terms like \"AI Automation,\" \"Workflow Efficiency,\" and \"Business Scaling\"\nCreate an attention-grabbing introduction highlighting a common pain point that AI Automation solves\nPresent case studies or real-world examples from the transcript as social proof\nInclude specific, measurable outcomes achieved through automation (time saved, error reduction, cost savings)\nIncorporate a strategic mix of educational content (80%) and subtle sales messaging (20%)\nEnd with a clear, low-friction call-to-action that encourages lead generation\nThis content will directly impact our lead generation efforts and business growth\n\nContext\nThis blog post targets business decision-makers who are aware of operational inefficiencies but uncertain about how AI Automation could specifically benefit their organization. They seek credible information before engaging with solution providers. Your content needs to build trust while highlighting the competitive advantage gained through implementing AI Automation solutions.\nExamples\nOriginal Transcript Snippet:\n\"We implemented this process automation for a manufacturing client and they were spending about 15 hours a week just on data entry. After our solution, that went down to basically zero manual work and they could reassign those employees to higher-value tasks.\"\nTransformed Blog Section:\nHow AI Automation Eliminates Hidden Operational Costs\nMany businesses don't realize the true cost of manual processes until they're eliminated. As demonstrated in a recent manufacturing implementation:\n\n\"After our solution, manual data entry work went down to basically zero and they could reassign those employees to higher-value tasks.\"\n\nThis transformation represents not just the 15 hours saved weekly but also:\n\nImproved data accuracy by eliminating human error\nEnhanced employee satisfaction through more meaningful work\nFaster decision-making with real-time data availability\n\nThese compounding benefits explain why 73% of organizations that implement automation report significant competitive advantages within the first year.\nNotes\n\nFocus on solving problems rather than explaining technical features\nAddress common objections (complexity, implementation time, ROI) preemptively\nUse statistics and third-party validation to build credibility\nMake sure the reader can envision how automation would work in their specific business context"
}
]
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "2cae4569-4306-4544-9640-8818a51af58d",
"name": "youtube script",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1104,
-96
],
"parameters": {
"text": "={{ $json.text }}",
"messages": {
"messageValues": [
{
"message": "=# Role\n\nYou are an expert YouTube script editor who specializes in transforming raw video transcripts into engaging, lead-generating content focused on AI automation.\n\n# Task\n\nAnalyze the provided video transcript and generate a structured YouTube script in JSON format that includes:\n- A string of 5 compelling titles formatted as bullet points\n- An attention-grabbing hook\n- A string of clear step-by-step instructions formatted as bullet points\n- A persuasive conclusion\n\n# Specifics\n\n- Ensure the hook captures viewer attention within the first 10 seconds\n- Design titles using proven YouTube clickbait formulas (benefit-driven, curiosity-based, or problem-solution formats)\n- Format the titles as a single string with bullet points (\u2022 Title 1\\n\u2022 Title 2\\n\u2022 etc.)\n- Structure the step-by-step section as a single string with numbered bullet points (1. Step one\\n2. Step two\\n etc.)\n- Craft a conclusion with a strong call-to-action that encourages lead generation\n- Format the output as valid JSON with the following structure: \n ```\n {\n \"titles\": \"\u2022 Title 1\\n\u2022 Title 2\\n\u2022 Title 3\\n\u2022 Title 4\\n\u2022 Title 5\",\n \"hook\": \"engaging opening statement\",\n \"steps\": \"1. Step one\\n2. Step two\\n3. Step three\\n...\",\n \"conclusion\": \"final thoughts with CTA\"\n }\n ```\n- I'm counting on your expertise to create a script that will be immediately usable in Airtable without additional formatting.\n\n# Context\n\nIn today's competitive AI space, converting viewers into leads is critical for business growth. This script will be used for a YouTube channel focused on AI automation solutions that help businesses save time and increase productivity. The target audience consists of business owners and entrepreneurs looking to leverage AI tools but who may feel overwhelmed by the technical aspects.\n\n# Examples\n\nOriginal transcript snippet:\n```\nSo I was trying to automate my email responses and I discovered this amazing tool called EmailGPT. It literally saved me 3 hours every day. Let me show you how it works...\n```\n\nJSON output:\n```json\n{\n \"titles\": \"\u2022 How I Saved 15+ Hours Weekly with This AI Email Hack\\n\u2022 The AI Email Automation Secret Nobody Is Talking About\\n\u2022 STOP Managing Emails Manually! This AI Tool Changed Everything\\n\u2022 I Automated My Entire Email Workflow With This ONE Tool\\n\u2022 Email Automation Masterclass: From 3 Hours to 15 Minutes Daily\",\n \"hook\": \"Imagine waking up tomorrow, opening your inbox, and having EVERYTHING already organized and 80% of replies drafted for you. Not in some distant AI future - but right now, with a tool most people don't even know exists.\",\n \"steps\": \"1. Identify your most time-consuming email patterns\\n2. Set up EmailGPT with your preferred response style\\n3. Create custom templates for different types of inquiries\\n4. Configure priority settings for VIP contacts\\n5. Implement the one-click response system\",\n \"conclusion\": \"This isn't just about saving time - it's about reclaiming your focus for what truly matters in your business. Click the link in the description to get a 7-day free trial of EmailGPT and my bonus template pack that will help you automate 90% of your email workflow from day one.\"\n}\n```\n\n# Notes\n\n- Ensure all bullet points and line breaks use the correct escape characters (\\n) for proper display in Airtable\n- Focus on transformation, not just summarization - make the content more compelling than the original\n- Emphasize concrete benefits and results rather than features\n- Use numbers, statistics, and time-saving claims to increase perceived value\n- Always ensure the JSON is properly formatted with no syntax errors"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "1c57f1ea-4bc7-47f4-8d38-7c2dfc78256d",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1200,
128
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"titles\": {\n \"type\": \"string\",\n \"description\": \"5 compelling titles for the YouTube video formatted as bullet points\"\n },\n \"hook\": {\n \"type\": \"string\",\n \"description\": \"An attention-grabbing opening statement to capture viewer attention in the first 10 seconds\"\n },\n \"steps\": {\n \"type\": \"string\",\n \"description\": \"A list of clear, actionable steps for the AI automation process formatted as bullet points\"\n },\n \"conclusion\": {\n \"type\": \"string\",\n \"description\": \"Final thoughts with a call-to-action that encourages lead generation\"\n }\n },\n \"required\": [\"titles\", \"hook\", \"steps\", \"conclusion\"]\n}"
},
"typeVersion": 1.2
},
{
"id": "09d9d6eb-47a0-4c5c-bd18-0f9e939da089",
"name": "linkedin",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1104,
896
],
"parameters": {
"text": "={{ $json.text }}",
"messages": {
"messageValues": [
{
"message": "=# Role\nYou are an expert LinkedIn content strategist specializing in creating viral lead-generation posts that convert YouTube content into engaging professional narratives.\n\n# Task\nTransform the provided YouTube transcript into a compelling LinkedIn post that attracts potential leads by offering a valuable lead magnet when users comment with a specific trigger word.\n\n# Specifics\n\nWrite in a conversational, authentic tone that builds credibility and creates curiosity\nStructure the post with short paragraphs and line breaks for optimal readability on mobile\nInclude a clear pain point, solution, and benefit structure\nMention 3-5 specific outcomes or advantages readers will gain\nEnd with a strong call-to-action requesting comments with the trigger word: \"[TRIGGER_WORD]\"\nInclude numbered lists or check marks (\u2713) for formatting key points (no other emoticons)\nKeep the post around 2000 characters for optimal LinkedIn engagement\nI'm counting on your expertise to help me generate quality leads for my business with this post\n\n# Context\nLinkedIn's algorithm favors posts that generate meaningful engagement in the first hour. This post will serve as the top-of-funnel entry point for my lead generation strategy, connecting video content with potential clients. The trigger word mechanic creates a natural way to identify interested prospects while boosting the post's visibility through comment activity.\n\n# Examples\nPain Point \u2192 Solution \u2192 Benefits \u2192 CTA Format:\nAre you tired of struggling with [PAIN POINT] for your business?\nI just discovered a game-changing [SOLUTION] called \"[NAME]\" that revolutionizes how we [BENEFIT].\nThis approach delivers impressive results because:\n\nIt [SPECIFIC ADVANTAGE 1]\nIt enables [SPECIFIC ADVANTAGE 2]\nIt produces [SPECIFIC ADVANTAGE 3] with minimal effort\n\nI tested this with [SPECIFIC EXAMPLE] and the results were remarkable:\n\n[RESULT 1]\n[RESULT 2]\n[RESULT 3]\n\nFor businesses implementing this solution, this means:\n\n[BUSINESS BENEFIT 1]\n[BUSINESS BENEFIT 2]\n[BUSINESS BENEFIT 3]\n\nI've created a [LEAD MAGNET TYPE] that walks you through the entire process step-by-step.\nComment \"[TRIGGER_WORD]\" below if you'd like access to it!\nWhat challenges are you facing with [TOPIC]? Let me know in the comments.\nWatch the full video here: [LINK]\n\n# Notes\n\nFocus on solving a specific problem rather than just promoting content\nUse bullet points strategically to break up text and highlight key benefits\nAlways include social proof or results to build credibility\nThe trigger word should be simple, memorable, and relevant to the content\noutput only the post, nothing else"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "effb5ced-6e8e-4b09-a03c-20f772511797",
"name": "newsletter",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1104,
1088
],
"parameters": {
"text": "={{ $json.text }}",
"messages": {
"messageValues": [
{
"message": "=# Role\nYou are an expert AI marketing copywriter specializing in creating compelling newsletter content that generates qualified leads for technology services.\n\n# Task\nWrite a concise, engaging newsletter announcement for a video on AI automation using the provided transcript as your source material. Include a clear call-to-action that encourages readers to watch the video and take the next step in their customer journey.\nSpecifics\n\nExtract the most valuable insights and benefits from the transcript\nStructure the newsletter with a captivating headline, brief introduction, 3-4 key points, and strong CTA\nKeep the tone professional yet conversational to resonate with business decision-makers\nHighlight specific pain points the AI automation solves and quantifiable results when possible\nI'm counting on your expertise to create a newsletter that truly drives conversion - this could be the difference between meeting our quarterly goals or falling short\n\n# Context\nThis newsletter will be distributed to our email list of business professionals interested in operational efficiency. Many recipients are considering automation solutions but need concrete examples of implementation and ROI. The video demonstrates our AI automation platform's capabilities, and this newsletter serves as a critical touchpoint in nurturing leads toward a consultation call.\n\n# Examples\nSubject Line: [REVEALED] How Company X Slashed Processing Time by 73% Using Our AI Automation\nHi [First Name],\nLast week, we sat down with Company X's CTO to discuss how they transformed their customer service workflow using intelligent automation.\nIn this exclusive 12-minute video, you'll discover:\n\nThe specific bottleneck that was costing them $240K annually in manual processing\nThe 3-step implementation process their team followed with zero disruption to operations\nHow their ROI surpassed projections within just 47 days of deployment\n\n\u2192 [Watch the video now] (link)\nHave questions about how these results might translate to your industry? Reserve a 30-minute consultation with our solutions team this week.\nLooking forward to helping you automate with confidence,\n[Name]\n\n# Notes\n\nFocus on tangible benefits rather than technical specifications\nKeep the newsletter under 250 words for optimal readability\nEnsure mobile responsiveness in the design\nInclude social sharing options to expand reach beyond the email list"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "0a63dc2a-bab9-4207-9aa1-2ba5515f07e2",
"name": "tweet",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1104,
1280
],
"parameters": {
"text": "={{ $json.text }}",
"messages": {
"messageValues": [
{
"message": "=# Role\nYou are an expert social media copywriter specializing in creating high-conversion promotional tweets for AI automation content with a proven track record of generating quality leads.\n\n# Task\nCreate a compelling tweet (280 characters max) to promote a video based on the provided transcript that highlights the value of AI automation while encouraging click-through and lead generation.\n\n# Specifics\n\nFocus on a single, powerful benefit or insight from the transcript that resonates with business owners seeking automation solutions\nInclude a clear call-to-action that motivates viewers to watch the video\nIncorporate relevant hashtags (#AIautomation #productivity) to increase visibility\nUse emotionally resonant language that speaks to pain points or aspirations\nThis tweet will directly impact our lead generation efforts, so make every word count\n\n# Context\nOur company specializes in AI automation solutions that help businesses save time, reduce costs, and scale operations. The tweets we create serve as the first touchpoint for potential clients, making them crucial for our marketing funnel. A well-crafted tweet can significantly increase our video views and lead generation metrics.\n\n# Examples\nTranscript snippet: \"In this video, I show how our AI tool reduced email processing time by 78%, allowing the team to focus on strategic priorities.\"\nTweet example 1: \"\ud83e\udd16 We cut email processing time by 78% using our AI automation tool! See exactly how it works in our latest video and discover how much time YOUR team could save. #AIautomation #productivity Watch now: [LINK]\"\nTweet example 2: \"Drowning in emails? Our clients now save 15+ hours weekly with our AI automation solution. I break down the exact process in this video. Your team deserves this freedom! #TimeBack #AIpower Watch: [LINK]\"\n\n# Notes\n\nAlways maintain authenticity and avoid hype-filled language that might reduce credibility\nFocus on concrete results and benefits rather than technical features\nRemember that the goal is lead generation, so create curiosity that drives video views"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "42fbe06e-bfea-4533-9c93-78822426e030",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
176,
-992
],
"parameters": {
"model": "openai/gpt-4.1-nano",
"options": {}
},
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "36aee75f-1281-4753-a207-58527934e8ac",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
-16,
784
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "selected",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9b0116d5-ff89-413c-818a-df5e4dfeea16",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.Status }}",
"rightValue": "selected"
}
]
},
"renameOutput": true
},
{
"outputKey": "delete",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8349c3b7-c787-4a60-b1e8-8ea1ddb27ca1",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.Status }}",
"rightValue": "delete"
}
]
},
"renameOutput": true
},
{
"outputKey": "not selected",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "74fd739e-7d2e-4974-8619-8061c4e9f273",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.Status }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "13d37ef7-4f67-401f-987b-da5ddcbdebc7",
"name": "filter tutorial output",
"type": "n8n-nodes-base.filter",
"position": [
880,
-400
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.output }}",
"rightValue": "tutorial"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7612d69e-0d12-46d7-9400-6c096f040c64",
"name": "Filter youtube output",
"type": "n8n-nodes-base.filter",
"position": [
880,
16
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c7392ceb-4386-49c6-a62c-1fe615a7ef24",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.output }}",
"rightValue": "youtube"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a5204c09-bc72-4e7e-8213-7310ebafec61",
"name": "Filter blog post output",
"type": "n8n-nodes-base.filter",
"position": [
880,
304
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.output }}",
"rightValue": "blog-post"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "7141402d-c2b1-489d-b7df-d28bb82599c5",
"name": "Filter summary output",
"type": "n8n-nodes-base.filter",
"position": [
880,
608
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.output }}",
"rightValue": "summary"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3faf8cd9-5c5b-4911-972f-4a4a5517a6b9",
"name": "Filter linkedin output",
"type": "n8n-nodes-base.filter",
"position": [
880,
896
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.output }}",
"rightValue": "linkedin"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "995f2459-6a78-4d61-b03b-e35b2d287d50",
"name": "Filter newsletter output",
"type": "n8n-nodes-base.filter",
"position": [
880,
1088
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.output }}",
"rightValue": "newsletter"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e6d0a826-2424-41b2-b316-c1f49ecaf0e8",
"name": "Filter tweeter output",
"type": "n8n-nodes-base.filter",
"position": [
880,
1280
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "618610e8-0be1-4f27-84c1-7ea959c7f9b7",
"operator": {
"type": "array",
"operation": "contains",
"rightType": "any"
},
"leftValue": "={{ $json.output }}",
"rightValue": "tweeter"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "2313b3ed-906c-48dd-8c57-92f068671822",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
336,
352
],
"parameters": {
"color": 4,
"width": 292,
"height": 408,
"content": "## Use Scrape Creator API\nhttps://docs.scrapecreators.com/v1/youtube/video/transcript"
},
"typeVersion": 1
},
{
"id": "10744dc9-825a-4f05-8eca-c9410020f166",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
736,
-672
],
"parameters": {
"color": 3,
"width": 272,
"height": 2140,
"content": "## filter the outputs we want to process"
},
"typeVersion": 1
},
{
"id": "fd2cf497-c136-494f-a3a6-973aee8c3b7a",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1024,
-672
],
"parameters": {
"color": 5,
"width": 416,
"height": 2140,
"content": "## Create all the content pieces"
},
"typeVersion": 1
},
{
"id": "428a0ca0-6312-42bb-b556-e1af798478bc",
"name": "Get Transcript",
"type": "n8n-nodes-base.httpRequest",
"position": [
432,
608
],
"parameters": {
"url": "https://api.scrapecreators.com/v1/youtube/video/transcript",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "url",
"value": "={{ $json.url }}"
}
]
}
},
"credentials": {
"httpQueryAuth": {
"name": "<your credential>"
},
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "023e1241-b4b5-472a-839d-c874e827306a",
"name": "Get YouTube URLs",
"type": "n8n-nodes-base.airtable",
"position": [
-240,
800
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appOfTK0sDWqNiJyl",
"cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl",
"cachedResultName": "youtube content engine"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblwIb9n00Onm32Ky",
"cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl/tblwIb9n00Onm32Ky",
"cachedResultName": "videos"
},
"options": {},
"operation": "search"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "cd8f4990-f940-421e-a5c5-05047ecd457c",
"name": "No Operation, do nothing",
"type": "n8n-nodes-base.noOp",
"position": [
208,
992
],
"parameters": {},
"typeVersion": 1
},
{
"id": "595851f9-1270-4139-97c9-4debad1d6772",
"name": "Extract Data",
"type": "n8n-nodes-base.set",
"position": [
208,
608
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b8783799-f5aa-43d2-b640-1bcefeeb0cc1",
"name": "url",
"type": "string",
"value": "={{ $json.url }}"
},
{
"id": "d6ab6e50-4e19-4964-9886-42f671d99170",
"name": "output",
"type": "array",
"value": "={{ $json.output }}"
},
{
"id": "c76b0e8b-4613-4394-92fb-a5e98ff193b5",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "eb39aa8e-1096-4203-9d42-e4d23637a31f",
"name": "Extract Tanscript+url+output+title",
"type": "n8n-nodes-base.set",
"position": [
656,
608
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1cf484b6-5616-45c0-befc-1489aa2248dd",
"name": "text",
"type": "string",
"value": "={{ $json.transcript_only_text }}"
},
{
"id": "3722fbc4-3c9e-4221-be21-aaa40ce319e5",
"name": "url",
"type": "string",
"value": "={{ $('Extract Data').item.json.url }}"
},
{
"id": "b524b194-ce3d-4f47-a58a-03d12d477834",
"name": "output",
"type": "array",
"value": "={{ $('Extract Data').item.json.output }}"
},
{
"id": "50229ea4-3dfe-4805-9f5a-5b529f5815a7",
"name": "title",
"type": "string",
"value": "={{ $('Extract Data').item.json.title }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "4c0b0a6e-79d4-4076-8f7a-d8b5625543ab",
"name": "Update Airtable",
"type": "n8n-nodes-base.airtable",
"onError": "continueRegularOutput",
"position": [
1728,
416
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appOfTK0sDWqNiJyl",
"cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl",
"cachedResultName": "youtube content engine"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblwIb9n00Onm32Ky",
"cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl/tblwIb9n00Onm32Ky",
"cachedResultName": "videos"
},
"columns": {
"value": {
"url": "={{ $json.url }}",
"title": "={{ $json.title }}",
"Status": "processed",
"summary": "={{ $json.summary.output.summary }}",
"tweeter": "={{ $json.newsletter }}",
"linkedin": "={{ $json.linkedinPost }}",
"tutorial": "={{ $json.tutorial }}",
"blog_post": "={{ $json.blogPost }}",
"newsletter": "={{ $json.newsletter }}",
"youtube_hook": "={{ $json.youtubeItem.output.hook }}",
"youtube_steps": "={{ $json.youtubeItem.output.steps }}",
"key_take_aways": "={{ $json.summary.output.key_takeaways }}",
"youtube_titles": "={{ $json.youtubeItem.output.titles }}",
"youtube_conclusion": "={{ $json.youtubeItem.output.conclusion }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "url",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "selected",
"value": "selected"
},
{
"name": "delete",
"value": "delete"
},
{
"name": "processed",
"value": "processed"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "output",
"type": "array",
"display": true,
"options": [
{
"name": "summary",
"value": "summary"
},
{
"name": "tutorial",
"value": "tutorial"
},
{
"name": "blog-post",
"value": "blog-post"
},
{
"name": "linkedin",
"value": "linkedin"
},
{
"name": "newsletter",
"value": "newsletter"
},
{
"name": "tweeter",
"value": "tweeter"
},
{
"name": "youtube",
"value": "youtube"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "output",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "summary",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "summary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tutorial",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "tutorial",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "key_take_aways",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "key_take_aways",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "blog_post",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "blog_post",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "linkedin",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "linkedin",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "newsletter",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "newsletter",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tweeter",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "tweeter",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "youtube_titles",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "youtube_titles",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "youtube_hook",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "youtube_hook",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "youtube_steps",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "youtube_steps",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "youtube_conclusion",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "youtube_conclusion",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"url"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "ab19d9ac-437a-433d-98e0-5d94b6b77313",
"name": "Delete Selected Records",
"type": "n8n-nodes-base.airtable",
"position": [
208,
800
],
"parameters": {
"id": "={{ $json.id }}",
"base": {
"__rl": true,
"mode": "list",
"value": "appOfTK0sDWqNiJyl",
"cachedResultUrl": "https://airtable.com/appOfTK0sDWqNiJyl",
"cachedResultName": "youtube content engine"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblwIb9n00Onm32Ky",
"cachedResultUrl": "https://airtable.com/appIzgbxc7lD4bJxA/tblwIb9n00Onm32Ky",
"cachedResultName": "videos"
},
"operation": "deleteRecord"
},
"credentials": {
"airtableTokenApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "9c804303-0d83-4017-8842-0e60b0cc3d5d",
"name": "Match Items",
"type": "n8n-nodes-base.code",
"onError": "continueRegularOutput",
"position": [
1504,
416
],
"parameters": {
"jsCode": "// Get all URLs and tutorials\nconst urlsAndTitles = $(\"Extract Tanscript+url+output+title\").all().map(item => item.json)\n\n\n// Safely get items from a node, handling cases where the node didn't execute\nfunction safeGetAll(nodeName) {\n try {\n return $(nodeName).all() || [];\n } catch (error) {\n console.log(`Node ${nodeName} not executed or error: ${error.message}`);\n return [];\n }\n}\n\n// Create an array of matched pairs\nconst matchedItems = urlsAndTitles.map((item, index) => {\n return {\n url: item.url,\n title:item.title,\n tutorial: safeGetAll(\"tutorial\").map(item => item.json.text)[index] || \"\",\n youtubeItem: safeGetAll(\"youtube script\").map(item => item.json)[index] || \"\",\n summary: safeGetAll(\"Summary\").map(item => item.json)[index] || \"\",\n linkedinPost: safeGetAll(\"linkedin\").map(item => item.json.text)[index] || \"\",\n tweet: safeGetAll(\"tweet\").map(item => item.json.text)[index] || \"\",\n newsletter: safeGetAll(\"newsletter\").map(item => item.json.text)[index] || \"\",\n blogPost: safeGetAll(\"blogpost\").map(item => item.json.text)[index] || \"\",\n }\n});\n\nreturn matchedItems;"
},
"typeVersion": 2
},
{
"id": "29a3d5e7-e0ff-4498-8e23-c47bce3ebfca",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
-624
],
"parameters": {
"width": 432,
"height": 208,
"content": "## Airtable Template\nhttps://airtable.com/appOfTK0sDWqNiJyl/shrlNAbAT5bVQgJHb"
},
"typeVersion": 1
},
{
"id": "bfc73816-f01b-4dd8-a136-cb46616661d7",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
-384
],
"parameters": {
"width": 432,
"height": 176,
"content": "## Video\n[Watch the Video](https://youtu.be/cbpMAyPNNlM?si=W8gn8TRjXSXpXC7G)\n"
},
"typeVersion": 1
}
],
"connections": {
"tweet": {
"main": [
[
{
"node": "Match Items",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "Extract Data",
"type": "main",
"index": 0
}
],
[
{
"node": "Delete Selected Records",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"Summary": {
"main": [
[
{
"node": "Match Items",
"type": "main",
"index": 0
}
]
]
},
"blogpost": {
"main": [
[
{
"node": "Match Items",
"type": "main",
"index": 0
}
]
]
},
"linkedin": {
"main": [
[
{
"node": "Match Items",
"type": "main",
"index": 0
}
]
]
},
"tutorial": {
"main": [
[
{
"node": "Match Items",
"type": "main",
"index": 0
}
]
]
},
"newsletter": {
"main": [
[
{
"node": "Match Items",
"type": "main",
"index": 0
}
]
]
},
"Match Items": {
"main": [
[
{
"node": "Update Airtable",
"type": "main",
"index": 0
}
]
]
},
"Extract Data": {
"main": [
[
{
"node": "Get Transcript",
"type": "main",
"index": 0
}
]
]
},
"Get Transcript": {
"main": [
[
{
"node": "Extract Tanscript+url+output+title",
"type": "main",
"index": 0
}
]
]
},
"youtube script": {
"main": [
[
{
"node": "Match Items",
"type": "main",
"index": 0
}
]
]
},
"Get YouTube URLs": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Filter summary output": {
"main": [
[
{
"node": "Summary",
"type": "main",
"index": 0
}
]
]
},
"Filter tweeter output": {
"main": [
[
{
"node": "tweet",
"type": "main",
"index": 0
}
]
]
},
"Filter youtube output": {
"main": [
[
{
"node": "youtube script",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "youtube script",
"type": "ai_languageModel",
"index": 0
},
{
"node": "blogpost",
"type": "ai_languageModel",
"index": 0
},
{
"node": "tutorial",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Summary",
"type": "ai_languageModel",
"index": 0
},
{
"node": "linkedin",
"type": "ai_languageModel",
"index": 0
},
{
"node": "newsletter",
"type": "ai_languageModel",
"index": 0
},
{
"node": "tweet",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Filter linkedin output": {
"main": [
[
{
"node": "linkedin",
"type": "main",
"index": 0
}
]
]
},
"filter tutorial output": {
"main": [
[
{
"node": "tutorial",
"type": "main",
"index": 0
}
]
]
},
"Filter blog post output": {
"main": [
[
{
"node": "blogpost",
"type": "main",
"index": 0
}
]
]
},
"Filter newsletter output": {
"main": [
[
{
"node": "newsletter",
"type": "main",
"index": 0
}
]
]
},
"No Operation, do nothing": {
"main": [
[]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Summary",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "youtube script",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"When clicking \u2018Test workflow\u2019": {
"main": [
[
{
"node": "Get YouTube URLs",
"type": "main",
"index": 0
}
]
]
},
"Extract Tanscript+url+output+title": {
"main": [
[
{
"node": "filter tutorial output",
"type": "main",
"index": 0
},
{
"node": "Filter youtube output",
"type": "main",
"index": 0
},
{
"node": "Filter blog post output",
"type": "main",
"index": 0
},
{
"node": "Filter summary output",
"type": "main",
"index": 0
},
{
"node": "Filter linkedin output",
"type": "main",
"index": 0
},
{
"node": "Filter newsletter output",
"type": "main",
"index": 0
},
{
"node": "Filter tweeter output",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
airtableTokenApihttpHeaderAuthhttpQueryAuthopenRouterApi
About this workflow
Content-Repurposer. Uses outputParserStructured, chainLlm, lmChatOpenRouter, httpRequest. Event-driven trigger; 32 nodes.
Source: https://github.com/Codimart/n8n-ai-agents-starter-kit/blob/main/workflows/content-repurposer.json — original creator credit. Request a take-down →