YouTube to Google Sheets, smarter Reddit promo picks
You publish a YouTube video… then Reddit promotion turns into a scavenger hunt. Searching subreddits, opening tabs, guessing which threads are still active, and trying to write comments that don’t sound like an ad gets old fast.
Creators feel this first, honestly. A marketing manager doing “organic growth” on top of everything else feels it too. Same with an agency owner trying to give clients repeatable promotion. This Reddit promo automation gives you a curated list of real posting opportunities plus ready-to-edit comments, saved neatly in Google Sheets.
You’ll see how the workflow takes one YouTube link, finds relevant Reddit threads, drafts human-sounding replies, and emails you a weekly digest so you can review and post when it makes sense.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: YouTube to Google Sheets, smarter Reddit promo picks
flowchart LR
subgraph sg0["Form Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Generate Email HTML"]
n2@{ icon: "mdi:database", form: "rounded", label: "Append Data", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Remove Duplicates", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>Form"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Posts by Criteria", pos: "b", h: 48 }
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Send to your email", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Structured Output", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "AI Brain", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/reddit.svg' width='40' height='40' /></div><br/>Reddit"]
n10@{ icon: "mdi:cog", form: "rounded", label: "YouTube", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "YT Keyword Analyst", pos: "b", h: 48 }
n12@{ icon: "mdi:brain", form: "rounded", label: "Brain", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Keep Certain Fields", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Wait 5 sec", pos: "b", h: 48 }
n16@{ icon: "mdi:robot", form: "rounded", label: "Structured_Output", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "Social Post Comment", pos: "b", h: 48 }
n18@{ icon: "mdi:database", form: "rounded", label: "Store Humanized Comment", pos: "b", h: 48 }
n19@{ icon: "mdi:brain", form: "rounded", label: "Brain1", pos: "b", h: 48 }
n20@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n21@{ icon: "mdi:swap-horizontal", form: "rounded", label: "relevant?", pos: "b", h: 48 }
n22@{ icon: "mdi:robot", form: "rounded", label: "Is this post relevant?", pos: "b", h: 48 }
n23@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n24@{ icon: "mdi:database", form: "rounded", label: "Get Reddit Posts & Proposed ..", pos: "b", h: 48 }
n20 --> n1
n4 --> n10
n12 -.-> n22
n19 -.-> n17
n9 --> n3
n10 --> n11
n8 -.-> n11
n0 --> n9
n21 --> n15
n21 --> n14
n15 --> n2
n2 --> n17
n14 --> n24
n14 --> n22
n3 --> n5
n7 -.-> n11
n16 -.-> n17
n11 --> n0
n1 --> n6
n13 --> n14
n17 --> n18
n22 --> n21
n18 --> n14
n5 --> n13
n23 -.-> n22
n24 --> n20
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n4 trigger
class n7,n11,n16,n17,n22,n23 ai
class n8,n12,n19 aiModel
class n5,n20,n21 decision
class n2,n18,n24 database
class n1 code
classDef customIcon fill:none,stroke:none
class n1,n4,n9 customIcon
Why This Matters: Reddit Promotion Is Time-Heavy and Easy to Get Wrong
Reddit can drive real views for smaller YouTube channels, but only when you show up in the right threads with the right tone. Manually, that means digging through searches, checking post age, scanning comments to see if the conversation is still alive, and then writing something that’s genuinely helpful. Do it once, it’s fine. Try doing it every week and you start cutting corners, which is when you get ignored or downvoted. Worse, you end up spending your best creative energy on repetitive “hunt and peck” work instead of improving the next video.
The friction compounds. Here’s where it usually breaks down.
- Finding threads that are both relevant and still active can eat about 1 hour per video, especially if you’re cross-checking multiple subreddits.
- It’s easy to promote in the wrong place, so you waste time writing comments that you never feel confident posting.
- Without consistent criteria (upvotes, ratio, recency), your “strategy” becomes guesswork and you can’t tell what’s working.
- Copy-paste outreach backfires on Reddit, so you end up rewriting the same message over and over anyway.
What You’ll Build: YouTube Link → Reddit Opportunities → Sheet + Email Digest
This workflow starts with a simple form submission: your YouTube video URL and the email address where you want the digest sent. n8n pulls your video’s title, description, and tags from YouTube, then uses an AI agent to turn that content into strong search keywords. Those keywords feed a Reddit search, where posts are filtered by practical quality checks (like recency and engagement) before any AI writing happens. Next, another AI agent reviews each candidate thread and decides if it’s actually a good match for your video. Only the relevant posts move forward to comment drafting, where a second AI agent writes a humanized reply that’s designed to add value first and mention your video subtly. Finally, the workflow stores the thread URLs and drafted comments in Google Sheets and emails you a clean HTML summary so you can review, tweak, and publish on your schedule.
The workflow begins when you submit a YouTube link through the built-in form trigger. From there, YouTube data becomes keywords, keywords become filtered Reddit posts, and filtered posts become drafted comments you can actually use. Your final deliverables are a Google Sheet you can keep building over time and a weekly email digest that surfaces the best opportunities.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you promote one new YouTube video each week and you try to find 10 good Reddit threads for it. Manually, you might spend about 5 minutes evaluating each candidate post (age, engagement, relevance), plus another 10 minutes writing a non-cringe comment, which is roughly 2 to 3 hours total. With this workflow, you submit the URL in a minute, let it run in the background, then spend about 10 to 20 minutes reviewing a pre-filtered sheet and polishing a few drafts. That’s usually a couple hours back per week, and the quality stays consistent.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- YouTube to pull video title, description, tags.
- Reddit to search and evaluate threads.
- OpenRouter API key (get it from your OpenRouter account dashboard)
Skill level: Intermediate. You won’t code, but you will connect OAuth accounts and paste an API key into the right place.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
You submit a YouTube URL through a simple form. That form capture includes your email address, so the workflow knows where to send the digest when it’s done.
YouTube details get extracted and turned into search intent. n8n pulls the video title, description, and tags, then an AI agent converts that into a keyword list and a classification prompt tailored to this specific video.
Reddit posts are fetched, deduped, and filtered by clear rules. The workflow searches Reddit for those keywords, removes duplicates, then enforces guardrails like upvotes over 15, high upvote ratio, non-empty text, and posts from the last 14 days.
AI checks relevance, drafts comments, and saves everything. A relevance agent approves or rejects each post. For approved posts, a second agent generates a humanized reply, then the post URL and draft are stored in Google Sheets and summarized in a clean HTML email via Gmail.
You can easily modify the filtering rules (like “upvotes > 15”) to match your niche and risk tolerance. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Submission Trigger
This workflow begins when a form is submitted, which kicks off content retrieval and AI processing.
- Add and open Form Submission Trigger.
- Configure the form fields you want to collect (e.g., keywords or campaign context).
- Ensure Form Submission Trigger connects to Retrieve YouTube Data as shown in the execution flow.
- Leave Flowpast Branding as-is; it is a documentation note and does not affect execution.
Step 2: Connect YouTube and Reddit Data Sources
This section pulls YouTube data, extracts keywords using AI, and collects Reddit posts for matching.
- Open Retrieve YouTube Data and configure the search or channel settings you need.
- Credential Required: Connect your YouTube OAuth2 credentials in Retrieve YouTube Data.
- In YouTube Keyword Agent, attach Primary AI Model as the language model.
- Credential Required: Connect your OpenRouter credentials in Primary AI Model. The Structured Result Parser is a sub-node; add credentials to the parent model, not the parser.
- Confirm Structured Result Parser is connected as the output parser for YouTube Keyword Agent.
- Verify YouTube Keyword Agent outputs to Separate Items, then to Fetch Reddit Feed.
- Credential Required: Connect your Reddit OAuth2 credentials in Fetch Reddit Feed.
- Ensure Fetch Reddit Feed connects to Eliminate Duplicates to avoid repeats.
Step 3: Filter and Prepare Post Data
Apply rules, reduce fields, and prepare items for batch processing.
- Open Filter Posts by Rules and add your IF conditions to keep only posts that match your criteria.
- Connect Eliminate Duplicates to Filter Posts by Rules to enforce the flow order.
- In Select Key Fields, define the exact fields to pass forward (e.g., title, URL, subreddit).
- Confirm the flow Filter Posts by Rules → Select Key Fields → Iterate Records.
Step 4: Iterate Records and Check Existing Drafts
The workflow batches each post and looks up prior drafts to avoid duplicate outreach.
- Open Iterate Records and set the batch size you want to process per run.
- Note that Iterate Records outputs to both Retrieve Posts & Drafts and Assess Post Relevance in parallel.
- Credential Required: Connect your Google Sheets credentials in Retrieve Posts & Drafts.
- Confirm Retrieve Posts & Drafts connects to Conditional Check and then to Compose Email Markup.
Step 5: Assess Relevance and Gate Processing
AI evaluates relevance, then the workflow routes based on the result.
- In Assess Post Relevance, attach Secondary AI Model as the language model.
- Credential Required: Connect your OpenRouter credentials in Secondary AI Model. The Relevance Output Parser is a sub-node; add credentials to the parent model, not the parser.
- Confirm Assess Post Relevance routes to Relevance Gate.
- Set Relevance Gate conditions to route relevant items to Delay Five Seconds and non-relevant items back to Iterate Records.
- Open Delay Five Seconds and set the wait duration if you want to throttle writes or API calls.
Step 6: Append Records and Generate Comments
Relevant posts are logged, then AI generates a humanized reply and stores it.
- Credential Required: Connect your Google Sheets credentials in Append Sheet Records and Store Humanized Reply.
- Confirm the flow Delay Five Seconds → Append Sheet Records → Generate Social Comment.
- In Generate Social Comment, attach Tertiary AI Model as the language model.
- Credential Required: Connect your OpenRouter credentials in Tertiary AI Model. The Comment Output Parser is a sub-node; add credentials to the parent model, not the parser.
- Verify Generate Social Comment connects to Store Humanized Reply and then loops back to Iterate Records.
Step 7: Configure Email Notification Output
An email is composed and sent when the conditional path allows it.
- Open Compose Email Markup and build the HTML/body content you want to send.
- Ensure Conditional Check routes to Compose Email Markup, and then to Dispatch Email Notice.
- Credential Required: Connect your Gmail OAuth2 credentials in Dispatch Email Notice.
Step 8: Test and Activate Your Workflow
Run a manual test to validate each branch and then activate the workflow for production use.
- Click Execute Workflow and submit a test entry to Form Submission Trigger.
- Verify items flow through Retrieve YouTube Data, YouTube Keyword Agent, Fetch Reddit Feed, and Eliminate Duplicates.
- Confirm the parallel processing from Iterate Records reaches both Retrieve Posts & Drafts and Assess Post Relevance.
- Check Google Sheets to ensure Append Sheet Records and Store Humanized Reply wrote data successfully.
- Verify Dispatch Email Notice sends an email when Conditional Check evaluates true.
- When the test is successful, toggle the workflow to Active for production use.
Troubleshooting Tips
- YouTube OAuth credentials can expire or need specific permissions. If things break, check your YouTube credential status in n8n’s Credentials tab first.
- If you’re using Wait nodes or external processing, timing varies. This workflow includes a short delay; bump it up if downstream steps fail because a previous step hasn’t returned data yet.
- OpenRouter prompts that stay generic produce generic comments. Add your channel tone (and what not to say) early, or you will be editing outputs forever.
Quick Answers
About 30 minutes if your accounts are ready.
No. You’ll mainly connect accounts, paste an API key, and adjust a few filters.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenRouter API costs, which are usually a few cents per run depending on how many posts you process.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you probably should. Most people start by changing the “Filter Posts by Rules” checks (upvotes, recency, ratio) to fit their niche, then tweak the “Generate Social Comment” agent prompt to match their voice. You can also swap Gmail for another email provider, or skip email entirely and just rely on the “Store Humanized Reply” Google Sheets step. If you want a “daily” version instead of weekly, you’d adjust the trigger and keep the same middle logic.
Usually it’s an expired OAuth token or a Reddit app setting mismatch. Re-check your Reddit app’s Client ID and Secret, then reconnect the Reddit credential inside n8n. If you’re pulling lots of posts at once, rate limiting can also show up as random failures, so lowering batch size and keeping the built-in delay helps.
On n8n Cloud you’re mainly limited by your monthly executions and how many Reddit posts you choose to evaluate per run. Self-hosted has no execution cap (it depends on your server), and this workflow can comfortably process dozens of candidate posts in a run, then narrow them down through filters and relevance checks.
Often, yes, because this workflow isn’t a simple “if X then Y.” You’re doing multi-step filtering, looping through posts in batches, parsing structured AI output, and saving a growing library to Sheets. n8n handles that kind of branching and iteration cleanly, and self-hosting gives you a lot of headroom if you run it frequently. Zapier or Make can still work for a lightweight version, but you may hit limits once you add AI steps and per-item processing. Talk to an automation expert if you want the simplest option for your exact setup.
Once this is running, Reddit promotion stops being a weekly time sink and becomes a simple review step. The workflow handles the repetitive sorting and drafting so you can focus on posting thoughtfully and making better videos.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.