Reddit to Google Sheets, leads delivered via Gmail
Searching Reddit for buying signals sounds simple until you’ve done it for a week. Tabs multiply, good threads slip by, and you end up replying late (or not at all) because you were busy copying links into a spreadsheet.
This Reddit lead automation hits marketers first, because timing matters. But agency owners and consultants feel it too when pipeline depends on “being the helpful person” in the right thread at the right moment.
This workflow turns Reddit into a repeatable lead source: it finds relevant posts, has AI summarize what matters, logs winners in Google Sheets, and emails you a clean Gmail digest so you can reply fast and stay organized.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Reddit to Google Sheets, leads delivered via Gmail
flowchart LR
subgraph sg0["Form Intake Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Engine", pos: "b", h: 48 }
n1@{ icon: "mdi:web", form: "rounded", label: "External API Call", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Structured Parser", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Competitor Review Agent", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Keyword Analysis Agent", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Records", pos: "b", h: 48 }
n6["<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/>Retrieve Reddit Posts"]
n7["<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/>Build Email HTML"]
n8@{ icon: "mdi:database", form: "rounded", label: "Append to Sheet", pos: "b", h: 48 }
n9@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Engine 2", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Structured Parser 2", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Eliminate Duplicates", 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/form.svg' width='40' height='40' /></div><br/>Form Intake Trigger"]
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Select Required Fields", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Criteria Post Filter", pos: "b", h: 48 }
n15["<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/>Combine Outputs"]
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map AI Output Fields", pos: "b", h: 48 }
n17@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Relevant Post Gate", pos: "b", h: 48 }
n18@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Email", pos: "b", h: 48 }
n12 --> n4
n6 --> n11
n5 --> n6
n8 --> n7
n9 -.-> n3
n1 -.-> n4
n15 --> n16
n4 --> n5
n11 --> n14
n3 --> n15
n7 --> n18
n13 --> n3
n13 --> n15
n17 --> n8
n0 -.-> n4
n14 --> n13
n2 -.-> n4
n10 -.-> n3
n16 --> 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 n12 trigger
class n2,n3,n4,n10 ai
class n0,n9 aiModel
class n14,n17 decision
class n8 database
class n1 api
class n7 code
classDef customIcon fill:none,stroke:none
class n6,n7,n12,n15 customIcon
Why This Matters: Catching High-Intent Reddit Threads Before They Go Cold
Reddit is one of the few places people still describe their problems in plain language. The downside is that the best lead threads don’t sit around waiting for you. They get answers quickly, they slide down the feed, and by the time you circle back, the moment is gone. Meanwhile you are juggling manual searches, half-baked keyword lists, and “I’ll log it later” notes that never make it into your CRM. It’s not just time. It’s mental load and missed timing, which is honestly the whole game on Reddit.
The friction compounds. Here’s where it usually breaks down.
- You scan multiple subreddits manually, then realize your keywords were off after an hour of reading.
- Good threads get bookmarked, but they don’t get tracked, so you can’t tell what you replied to or what converted.
- Sorting by “hot” hides fresh buying signals, yet sorting by “new” floods you with noise.
- When you finally find something promising, you still have to summarize it, capture the URL, and send it to someone else to act on it.
What You’ll Build: Reddit Lead Discovery Logged to Sheets and Emailed Daily
This workflow starts with a simple intake form where a user submits a website URL and an email address. From that URL, the workflow pulls context about the business, figures out the industry, and extracts practical keywords people would actually use on Reddit. Then it searches Reddit for posts that contain those keywords and applies common-sense filters, like posts with real text (not empty bodies), enough engagement to be worth your time (upvotes over 15), and recent activity (within about 90 days). Next, an AI agent reviews each candidate post, decides if it’s truly relevant, and writes a clear summary you can act on quickly. The “winners” get saved to Google Sheets and bundled into a professional HTML email that lands in Gmail.
The workflow begins when the form is submitted. After that, it runs keyword research, pulls and deduplicates Reddit posts, and uses AI to separate real opportunities from chatter. Finally, it logs the results and sends a digest so you can reply while the thread is still active.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you normally check 6 subreddits and run 5 searches each week, and you spend maybe 10 minutes per search scrolling and opening tabs. That’s about 5 hours of “looking” before you even write a reply. With this workflow, you spend about 5 minutes submitting your URL once, then you just read the Gmail digest and act. Even if you still skim Reddit a bit, most teams cut the heavy scanning down to under an hour a week, and the best threads are already in Sheets.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Reddit for searching posts via OAuth.
- Google Sheets to store qualified posts and summaries.
- Gmail to send the HTML digest to your inbox.
- OpenRouter API key (get it from your OpenRouter account settings).
Skill level: Intermediate. You’ll mostly connect accounts and paste API keys, but you should be comfortable testing runs and adjusting filters.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A form submission kicks things off. Someone enters their website URL and the email address that should receive the lead digest. That becomes the “source of truth” for the run.
The workflow learns what the business actually does. An external API call pulls page content, then AI agents extract industry context and turn that into keyword ideas you can realistically find on Reddit. This matters because generic keywords create junk results fast.
Reddit gets searched, then cleaned up. The workflow retrieves posts for each keyword, removes duplicates, and filters based on engagement and basic quality checks (upvotes over 15, non-empty text, and recent posts within about 90 days).
AI decides what’s worth your attention. Each post gets summarized and scored for relevance. Only posts that pass the “relevant” gate are mapped into consistent fields, appended to Google Sheets, and included in the final email.
You can easily modify the keyword rules and the Reddit filtering criteria based on your niche. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
Set up the intake form that starts the workflow and feeds initial inputs into the AI keyword analysis.
- Add and open Form Intake Trigger.
- Configure the form fields to capture the research topic, target industry, and any additional context needed by the AI agents.
- Save the node to generate the webhook URL for your form.
Step 2: Set Up AI Keyword Analysis and Reddit Intake
Connect the first AI agent, parse its output, and use it to fetch posts from Reddit.
- Open Keyword Analysis Agent and set its prompt to generate keyword lists and search criteria.
- Attach OpenRouter Chat Engine as the language model for Keyword Analysis Agent.
- Connect Structured Parser as the output parser for Keyword Analysis Agent.
- Link External API Call as an AI tool for Keyword Analysis Agent if your prompt references external enrichment.
- Configure Split Records to break the keyword list into individual items.
- Configure Retrieve Reddit Posts to search for posts based on each keyword.
Credential Required: Connect your OpenRouter credentials in OpenRouter Chat Engine. Structured Parser and External API Call are AI sub-nodes; add credentials to the parent nodes (Keyword Analysis Agent and OpenRouter Chat Engine) rather than the sub-nodes.
Credential Required: Connect your Reddit credentials in Retrieve Reddit Posts.
Step 3: Filter, De-duplicate, and Prepare Records
Clean the Reddit dataset, apply filters, and prepare fields for downstream AI and email generation.
- Configure Eliminate Duplicates to remove repeated posts from Retrieve Reddit Posts.
- Set conditions in Criteria Post Filter to keep only posts that match your quality criteria.
- In Select Required Fields, map only the fields you want to pass forward (e.g., title, URL, subreddit, post text).
⚠️ Common Pitfall: If Criteria Post Filter is too strict, the workflow may send no items to the AI or email steps. Start with broader criteria and tighten later.
Step 4: Run Parallel AI Analysis and Combine Outputs
Route filtered posts into parallel AI processing, then combine the analysis into a single structured output.
- Note that Select Required Fields outputs to both Competitor Review Agent and Combine Outputs in parallel.
- Attach OpenRouter Chat Engine 2 as the language model for Competitor Review Agent.
- Attach Structured Parser 2 as the output parser for Competitor Review Agent.
- Configure Combine Outputs to merge the AI review with the input fields from Select Required Fields.
- Use Map AI Output Fields to normalize final field names for filtering and output.
Credential Required: Connect your OpenRouter credentials in OpenRouter Chat Engine 2. Structured Parser 2 is an AI sub-node; add credentials to the parent node (Competitor Review Agent) rather than the sub-node.
Step 5: Gate Results, Store Data, and Send the Email
Apply a final relevance check, append to Google Sheets, build HTML, and dispatch the email.
- Set conditions in Relevant Post Gate to decide which results should be saved and emailed.
- Configure Append to Sheet to store the selected posts and AI summaries.
- Customize Build Email HTML to format the output into a clean email layout.
- Set up Dispatch Email with the recipient, subject, and HTML body generated by Build Email HTML.
Credential Required: Connect your Google Sheets credentials in Append to Sheet.
Credential Required: Connect your Gmail credentials in Dispatch Email.
Step 6: Test and Activate Your Workflow
Validate each step end-to-end before enabling the workflow for production use.
- Click Execute Workflow and submit a test entry to Form Intake Trigger.
- Confirm that Retrieve Reddit Posts, Eliminate Duplicates, and Criteria Post Filter produce expected items.
- Verify that Competitor Review Agent and Combine Outputs return structured data and that Map AI Output Fields formats it correctly.
- Check that Append to Sheet creates a new row and Dispatch Email sends a formatted message.
- When satisfied, toggle the workflow to Active for continuous use.
Troubleshooting Tips
- Reddit credentials can expire or need specific permissions. If things break, check your Reddit app settings (Client ID/Secret) and the connected OAuth account inside n8n first.
- If you’re using Wait-like behavior (or you’re pulling lots of keywords at once), processing times vary. Bump up batching size and watch for downstream nodes that fail because a search returned no items.
- OpenRouter prompts ship generic by default. Add your positioning and “what counts as a lead” criteria early, or you will keep second-guessing summaries in the Gmail digest.
Quick Answers
About an hour if your Reddit, Google, and OpenRouter accounts are ready.
No. You’ll connect accounts, add API keys, and adjust a few filters and prompts.
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 usage (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, and you probably should. You can tighten or loosen the post rules by changing the “Criteria Post Filter” conditions (upvotes threshold, age, empty text checks), and you can steer the output by editing the AI agent prompts in the Keyword Analysis Agent and Competitor Review Agent. Common tweaks include adding “must mention budget” language, focusing on specific subreddits, and changing the Sheet columns to match your pipeline stages.
Usually it’s expired OAuth or a Reddit app misconfiguration. Re-check the Reddit Client ID/Secret, confirm the redirect URL matches what n8n expects, and reconnect the credential. If it fails only on larger runs, you may also be hitting rate limits, so reduce how many keywords you search at once.
It depends on how many keywords you generate and how many posts each search returns. On n8n Cloud, your monthly executions depend on plan; self-hosting removes execution limits and shifts the constraint to your server and API rate limits. Practically, this workflow can review dozens of posts per run, but if you try to process hundreds at once, Reddit limits and AI costs start to matter. Batching helps, and the “Split Records” node is already built for that.
Often, yes, because this is not a simple “new item → send message” zap. n8n is better suited for multi-step logic like deduping, filtering, looping through posts, and gating results before they hit Google Sheets. You also get a realistic self-hosting path, which matters once you run this daily. Zapier and Make can still work if you simplify the workflow (fewer keywords, no agent-style analysis). Talk to an automation expert if you want help choosing the cleanest setup for your volume.
Once this is running, Reddit becomes a steady input instead of a daily scavenger hunt. The workflow does the sorting and the logging, and you get to focus on writing replies that actually win business.
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.