Reddit to Google Sheets, scored ideas ready to use
Reading Reddit “for research” starts out fine. Then you realize you’ve opened 30 tabs, copied half-baked notes into a doc, and still can’t answer the real question: is there an opportunity here, or just noise?
This is where Reddit ideas automation helps. Marketers chasing positioning angles feel it first, but founders validating offers and consultants hunting patterns hit the same wall. You will turn trending threads into scored, usable ideas inside Google Sheets, without living in your browser.
This workflow pulls Reddit posts, filters for quality, uses GPT-4 to assess viability, and appends a structured opportunity report to Sheets. It also drafts a Gmail response based on sentiment, so outreach is ready when you are.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Reddit to Google Sheets, scored ideas ready to use
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model2", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Post Sentiment Analysis", pos: "b", h: 48 }
n5@{ icon: "mdi:message-outline", form: "rounded", label: "Positive Posts Draft", pos: "b", h: 48 }
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Neutral Posts Draft", pos: "b", h: 48 }
n7@{ icon: "mdi:message-outline", form: "rounded", label: "Negative Posts Draft", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Find Proper Solutions", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Post Summarization", pos: "b", h: 48 }
n10["<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/merge.svg' width='40' height='40' /></div><br/>Merge Input"]
n11@{ icon: "mdi:database", form: "rounded", label: "Output The Results", pos: "b", h: 48 }
n12["<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/merge.svg' width='40' height='40' /></div><br/>Merge 3 Inputs"]
n13@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Posts By Features", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Posts By Content", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-vertical", form: "rounded", label: "Select Key Fields", pos: "b", h: 48 }
n16@{ icon: "mdi:robot", form: "rounded", label: "Analysis Content By AI", pos: "b", h: 48 }
n17["<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/>Get Posts"]
n17 --> n13
n10 --> n14
n12 --> n11
n1 -.-> n16
n15 --> n10
n15 --> n16
n2 -.-> n9
n3 -.-> n4
n9 --> n12
n8 --> n12
n16 --> n10
n14 --> n9
n14 --> n8
n14 --> n12
n14 --> n4
n4 --> n5
n4 --> n6
n4 --> n7
n13 --> n15
n0 --> n17
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 n0 trigger
class n4,n8,n9,n16 ai
class n1,n2,n3 aiModel
class n13,n14 decision
class n11 database
classDef customIcon fill:none,stroke:none
class n10,n12,n17 customIcon
The Problem: Reddit “Research” Doesn’t Turn Into Decisions
Reddit is packed with raw demand: complaints, workarounds, “is there a tool for…”, and the kind of unfiltered language you wish customers used on landing pages. The problem is the volume. A single subreddit can generate hundreds of posts a day, and the good stuff hides between memes, repeats, and edge-case rants. After an hour of scrolling, you’re left with a handful of links and a vague feeling that “there might be something here.” Then you do it again next week. Same cycle.
The friction compounds. And it’s not just time, it’s consistency.
- You keep re-reading the same types of threads because nothing is stored in a clean, searchable format.
- High-signal posts get missed when you’re busy, which means you only see trends after they’re already obvious.
- Manual notes don’t include a consistent score, so prioritization turns into gut feel (and debate).
- When you finally want to reach out, you still have to write a draft from scratch and remember the context.
The Solution: AI-Scored Reddit Opportunities in Google Sheets
This workflow watches Reddit posts you care about, checks that they meet basic quality signals (think: enough engagement to be worth your time), and then turns each candidate into a structured opportunity. It maps the important fields, runs an AI assessment to judge “is this a real business problem,” filters out low-value content, and generates both a summary and a set of proposed business solutions. From there, everything gets merged into a single record and appended to Google Sheets, so your backlog builds automatically as trends emerge. Finally, sentiment analysis chooses the right tone and creates a Gmail draft you can send or adapt when you’re ready to talk to someone.
The workflow starts with a manual run in n8n (or you can trigger it on a schedule later). It retrieves Reddit posts, applies relevance gates, and uses GPT-4 to score and summarize what’s worth keeping. The output lands in Google Sheets, with email drafts created based on the sentiment of the discussion.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you track 5 subreddits and you normally review about 20 posts per subreddit each week. If you spend even 2 minutes per post opening, skimming, and taking notes, that’s roughly 3 hours weekly, and it still leaves you with messy notes and no scoring. With this workflow, you run it once, wait a few minutes for AI processing, and your sheet gets populated automatically (plus Gmail drafts if you want to follow up). For many teams, that’s about 10 hours back in a week because the “deep read” only happens on the top-scoring ideas.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Reddit to retrieve posts from target subreddits.
- Google Sheets to store scored opportunity rows.
- OpenAI API key (get it from your OpenAI dashboard).
Skill level: Intermediate. You’ll connect credentials and tweak filters, but you won’t be writing code.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A run kicks everything off. The workflow starts from a manual trigger in n8n, then immediately retrieves Reddit posts from the subreddits you configured.
Quick quality checks happen before AI touches anything. An early filter validates post metrics so you’re not paying to analyze content that nobody engaged with.
AI turns raw threads into structured opportunities. GPT-4 assesses viability, then separate AI steps produce a clean summary and propose business solutions, while another check removes irrelevant content that slips through.
Results land where you’ll actually use them. The final merged output is appended to Google Sheets, then sentiment analysis decides which Gmail draft to create (positive, neutral, or negative) so you can respond in the right voice.
You can easily modify the target subreddits and scoring thresholds based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Manual Trigger
Set up the manual trigger so you can run the workflow on demand during testing and iteration.
- Add the Manual Execution Start node as the workflow trigger.
- Leave all parameters in Manual Execution Start at their defaults.
- Connect Manual Execution Start to Retrieve Reddit Posts.
Step 2: Connect Reddit Data Retrieval
Pull targeted Reddit posts from the desired subreddit and keyword.
- Add the Retrieve Reddit Posts node.
- Set Operation to
searchand Keyword tolooking for a solution. - Set Subreddit to
=smallbusiness, Limit to20, and Sort tohot. - Credential Required: Connect your redditOAuth2Api credentials.
- Connect Retrieve Reddit Posts to Validate Post Metrics.
Step 3: Set Up Processing and AI Analysis
Filter posts by quality, map essential fields, and run AI checks and summarization with parallel branches.
- In Validate Post Metrics, configure the conditions to match:
Ups >2using{{ $json.ups }}, Selftext is not empty using{{ $json.selftext }}, and Created after the last 180 days using{{ DateTime.fromSeconds($json.created).toISO() }}compared to{{ $today.minus(180,'days').toISO() }}. - In Map Essential Fields, map the following fields with expressions: upvotes →
{{ $json.ups }}, subreddit_subscribers →{{ $json.subreddit_subscribers }}, postcontent →{{ $json.selftext }}, url →{{ $json.url }}, and date →{{ DateTime.fromSeconds($json.created).toISO() }}. - Map Essential Fields outputs to both Combine Entry Streams and AI Content Assessment in parallel.
- Configure AI Content Assessment with the provided prompt text and confirm it references
{{ $json.postcontent }}. OpenAI credentials are added via OpenAI Chat Engine A — ensure OpenAI Chat Engine A has openAiApi connected. - Set Combine Entry Streams to Mode
combineand Combine BycombineByPosition, then connect it to Content Relevance Check. - In Content Relevance Check, validate that
{{ $json.output }}equalsyes. - Content Relevance Check outputs to Generate Post Summary, Propose Business Solutions, Merge Triple Outputs, and Analyze Sentiment in parallel.
- Ensure Generate Post Summary uses OpenAI Chat Engine B as its language model with openAiApi credentials connected to OpenAI Chat Engine B.
- Configure Propose Business Solutions to use model
gpt-4o-miniand keep the message content referencing{{ $json.postcontent }}. Credential Required: Connect your openAiApi credentials. - Set Merge Triple Outputs to Mode
combine, Combine BycombineByPosition, and Number Inputs to3. - In Analyze Sentiment, set Input Text to
{{ $json.postcontent }}. Credentials are supplied via OpenAI Chat Engine C — ensure OpenAI Chat Engine C has openAiApi connected.
Step 4: Configure Output and Action Nodes
Append the analyzed content to Google Sheets and draft sentiment-based emails in Gmail.
- Connect Merge Triple Outputs to Append Results to Sheet.
- In Append Results to Sheet, set Operation to
append, Document ID to[YOUR_ID], and Sheet Name togid=0. - Map column values in Append Results to Sheet as follows: Upvotes →
{{ $json.upvotes }}, Post_url →{{ $json.url }}, Post_date →{{ $json.date }}, Post_summary →{{ $json.response.text }}, Post_solution →{{ $json.message.content }}, Subreddit_size →{{ $json.subreddit_subscribers }}. - Credential Required: Connect your googleSheetsOAuth2Api credentials.
- Analyze Sentiment outputs to Draft Positive Email, Draft Neutral Email, and Draft Negative Email in parallel.
- In Draft Positive Email, set Resource to
draft, Subject toPositive Post, and Message to{{ $json.postcontent }}. Credential Required: Connect your gmailOAuth2 credentials. - In Draft Neutral Email, set Resource to
draft, Subject toNeutral Post, and Message to{{ $json.postcontent }}. Credential Required: Connect your gmailOAuth2 credentials. - In Draft Negative Email, set Resource to
draft, Subject toNegative Post, and Message to{{ $json.postcontent }}. Credential Required: Connect your gmailOAuth2 credentials.
Step 5: Test and Activate Your Workflow
Run a manual test to verify data collection, AI outputs, and downstream actions before turning it on.
- Click Execute Workflow to run Manual Execution Start and fetch live Reddit posts.
- Confirm that posts pass Validate Post Metrics and that Map Essential Fields outputs the mapped fields.
- Verify that Generate Post Summary and Propose Business Solutions produce outputs, and that Merge Triple Outputs combines three inputs before Append Results to Sheet.
- Check your Google Sheet for new appended rows and your Gmail drafts for the three sentiment-based messages.
- Once confirmed, toggle the workflow to Active so it’s ready for production runs.
Common Gotchas
- Google Sheets credentials can expire or need specific permissions. If things break, check the connected Google account and the sheet sharing settings first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Frequently Asked Questions
About 30 minutes if your credentials are ready.
No. You’ll mostly connect accounts and tweak a few fields like subreddits and score thresholds.
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 OpenAI API usage, which is usually a few cents per run depending on how many posts you analyze.
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, but you’ll swap the data source. Replace the “Retrieve Reddit Posts” node with an HTTP Request (or a dedicated X/Twitter source), then keep the same mapping and AI assessment steps so your scoring stays consistent. Common customizations include changing the target communities, tightening the “Content Relevance Check,” and adjusting the scoring thresholds in the opportunity calculation logic.
Usually it’s a permission issue or expired Google auth. Reconnect your Google Sheets credential in n8n, then confirm the exact spreadsheet is shared with that Google account. Also check the sheet tab name, because renaming it can make an “Append” action look like it’s broken when it’s really pointing to a missing worksheet.
It depends on how many executions you can run and how many posts you choose to analyze per run, but most small teams comfortably process a few hundred posts a week.
Often, yes, if you care about scoring logic and filtering. This workflow leans on multiple AI steps, branching (If nodes), and merging outputs, which is where Zapier and Make can get expensive or awkward. n8n also gives you the self-host option, so you can run a lot of research without watching task counts every day. The tradeoff is setup: you’ll spend a little more time up front getting prompts and thresholds right. If you’re unsure, Talk to an automation expert and you can sanity-check the approach in 15 minutes.
Once this is running, your “maybe ideas” stop living in tabs and start living in a system. The workflow handles the repeatable research, so you can spend your attention on the few opportunities that actually deserve it.
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.