Reddit to Google Drive, comic ads ready to ship
You sit down to “make new ads,” and somehow you end up deep in Reddit tabs, copying quotes into a doc, then trying to turn raw frustration into something you can actually run. It’s slow. And honestly, it kills momentum.
Performance marketers feel it when testing stalls. Copywriters feel it when the brief is vague. Founders running ads themselves feel it most, because Reddit ad automation is the difference between shipping concepts weekly and shipping them never.
This workflow pulls real pain points from Reddit, uses AI to turn them into emotional angles, converts the best ones into 4-panel comic prompts, generates images, and drops finished creatives into Google Drive. You’ll see how it works, what you need, and where teams usually trip up.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Reddit to Google Drive, comic ads ready to ship
flowchart LR
subgraph sg0["When a Form is Submitted Flow"]
direction LR
n0["<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/>When a Form is Submitted"]
n1@{ icon: "mdi:robot", form: "rounded", label: "Generate Reddit Keyword from..", pos: "b", h: 48 }
n2["<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/>Search Reddit Posts Using Ke.."]
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Posts With 2+ Upvotes..", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Classify Post Relevance to P..", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "GPT Model: Classify Relevance", pos: "b", h: 48 }
n6@{ icon: "mdi:wrench", form: "rounded", label: "Support Relevance Classifica..", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Parse Relevance Classifier O..", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Format Relevant Reddit Post ..", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Aggregate Relevant Reddit Data", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Generate 10 Ad Angles From R..", pos: "b", h: 48 }
n11@{ icon: "mdi:brain", form: "rounded", label: "Ad Angle Generation", pos: "b", h: 48 }
n12@{ icon: "mdi:wrench", form: "rounded", label: "Support Ad Angle Generation", pos: "b", h: 48 }
n13@{ icon: "mdi:robot", form: "rounded", label: "Rank Top 10 Ad Angles", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Create Comic Prompts from Ad..", pos: "b", h: 48 }
n15@{ icon: "mdi:brain", form: "rounded", label: "Comic Prompt Creation", pos: "b", h: 48 }
n16@{ icon: "mdi:wrench", form: "rounded", label: "Support Comic Prompt Creation", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "Parse Comic Prompt JSON Output", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Comic Prompt Objects", pos: "b", h: 48 }
n19@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Through Comic Prompts", pos: "b", h: 48 }
n20["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Generate Comic Image via Dum.."]
n21["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Comic Image URL"]
n22@{ icon: "mdi:cog", form: "rounded", label: "Upload Image to Google Drive", pos: "b", h: 48 }
n11 -.-> n10
n15 -.-> n14
n21 --> n22
n13 --> n14
n0 --> n1
n19 --> n20
n18 --> n19
n12 -.-> n10
n22 --> n19
n5 -.-> n4
n16 -.-> n14
n9 --> n10
n17 -.-> n14
n6 -.-> n4
n7 -.-> n4
n2 --> n3
n4 --> n8
n8 --> n9
n14 --> n18
n20 --> n21
n3 --> n4
n10 --> n13
n1 --> n2
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 n1,n4,n7,n10,n13,n14,n17 ai
class n5,n11,n15 aiModel
class n6,n12,n16 ai
class n3 decision
class n20,n21 api
classDef customIcon fill:none,stroke:none
class n0,n2,n20,n21 customIcon
The Problem: Great Ads Start as Messy Research
Real performance creative usually starts in unglamorous places. Reddit threads, angry comments, long rants, half-formed “does anyone else…” posts. That’s where the language is honest. The problem is turning that raw material into usable ad concepts takes forever, and it’s easy to do it poorly. You skim a few threads, cherry-pick one quote, then write angles that sound like marketing instead of the customer. Next thing you know, you’ve burned half a day and still don’t have a single creative ready to share with a designer or upload into a campaign.
The friction compounds, because research isn’t a one-time job. Testing needs fresh inputs constantly.
- Finding the right threads can take an hour, especially when your product category is broad or weird.
- Low-quality posts waste your attention, so you end up reading paragraphs that never translate into a hook.
- Even good pain points get diluted when they’re rewritten from memory instead of using the customer’s exact phrasing.
- You still have to brief visuals, and that’s where many “good angles” die in Slack drafts.
The Solution: Reddit Pain Points → Comic Creatives in Drive
This n8n workflow starts with a simple form where you enter your brand name, website, and a plain-English product description. From that, AI generates a Reddit search keyword that matches how your audience actually talks. The workflow searches Reddit for threads, filters out low-effort posts (it checks for at least a couple upvotes and enough text to be meaningful), then uses an AI “relevance check” to keep only posts that truly match your product. With that cleaned set of pain points, it generates 10 emotionally-driven ad angles using real customer language, ranks them, and keeps the top three. Finally, it rewrites each angle into a 4-panel comic story (pain → tension → product → resolution), sends those prompts to Dumpling AI to generate comic-style images, and uploads the finished panels into your Google Drive folder.
The workflow starts with your product info and ends with a ready-to-share Drive folder. In between, it does the boring parts people skip: filtering, structuring, ranking, and converting “insight” into visual-ready creative.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you want new creative every Monday. Manually, you might spend about 2 hours reading Reddit, another hour turning notes into 10 angles, then 2 more hours writing a visual brief or rough storyboard. Call it 5 hours before anyone has an asset. With this workflow: 5 minutes to submit the form, maybe 15 minutes while Reddit posts are filtered and angles are ranked, then another 20 minutes for image generation and upload. You still review and polish, but you’re starting from a Drive folder full of comic panels, not an empty doc.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Reddit integration for searching relevant threads
- OpenAI (GPT-4o) to generate and rank ad angles
- Dumpling AI API key (get it from your Dumpling AI dashboard)
- Google Drive to store and share final comic panels
Skill level: Intermediate. You’ll connect a few accounts, paste API keys, and edit prompts if you want tighter brand voice.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
Form submission kicks it off. You enter brand name, website, and a product description in the built-in n8n form trigger. That single input becomes the “brief” for everything downstream.
Reddit is searched, then cleaned up. AI generates a search keyword from your product description, Reddit posts are pulled, and an IF filter removes low-signal threads (at least 2 upvotes and enough text to be meaningful). The workflow then structures what’s left into consistent fields so later steps don’t break.
AI turns pain points into angles and comic prompts. A relevance classifier discards posts that don’t truly match your product. Then GPT drafts 10 emotional angles using real language, ranks them, and rewrites the top three into 4-panel comic scenes (pain, tension, product, resolution).
Dumpling AI generates images, and Drive gets the final assets. Each prompt is processed in batches, image URLs are retrieved after a short wait, and the comics are uploaded to the Google Drive folder you choose. At the end, you have something you can review, share, or drop into a creative testing pipeline.
You can easily modify the Reddit filtering thresholds to widen or tighten your inputs based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Submission Trigger
Set up the intake form that kicks off the workflow and captures product details.
- Add the Form Submission Trigger node and set Form Title to
Add Details Here. - In Form Fields, add required fields: Brand Name, Website, and Product Explanation.
- Connect Form Submission Trigger to Derive Reddit Keyword to pass the form payload into the keyword extraction step.
Step 2: Connect Reddit Search and Filter Popular Posts
Generate a search keyword and pull relevant Reddit threads, then filter for higher-quality text posts.
- Open Derive Reddit Keyword and confirm the prompt uses the expression
{{$json['Product Explanation']}}to extract a search term from the form submission. - Credential Required: Connect your openAiApi credentials in Derive Reddit Keyword.
- In Search Reddit Threads, set Operation to
search, Location toallReddit, Limit to10, and Keyword to{{ $json.message.content }}. - Credential Required: Connect your redditOAuth2Api credentials in Search Reddit Threads.
- Configure Filter Popular Text Posts with two conditions: ups
gte2using{{ $json.ups }}, and selftextnotEmptyusing{{ $json.selftext }}.
Step 3: Set Up AI Relevance Classification
Use an AI agent to assess each Reddit post’s relevance and map the relevant fields for aggregation.
- In Assess Post Relevance, keep the Text prompt as provided, which references
{{ $('Form Submission Trigger').item.json['Product Explanation'] }}and Reddit post fields from Search Reddit Threads. - Ensure Relevance Model GPT is connected as the language model for Assess Post Relevance. Credential Required: Connect your openAiApi credentials in Relevance Model GPT.
- Confirm Relevance Think Tool and Parse Relevance JSON are connected to Assess Post Relevance. These are AI sub-nodes; add credentials on Relevance Model GPT, not on the sub-nodes.
- In Map Relevant Post Fields, map fields using expressions: upvotes
{{ $('Search Reddit Threads').item.json.ups }}, subreddit{{ $('Search Reddit Threads').item.json.subreddit }}, originalPost{{ $('Search Reddit Threads').item.json.selftext }}, title{{ $('Search Reddit Threads').item.json.title }}, and url{{ $('Search Reddit Threads').item.json.url }}. - Set Aggregate Relevant Post Data to Aggregate =
aggregateAllItemDatato compile relevant posts into one payload.
Step 4: Set Up Ad Angle Generation and Ranking
Create ad angles from Reddit insights and rank the best options for visual prompts.
- In Draft 10 Ad Angles, confirm the prompt includes
{{ JSON.stringify($json.data) }}and{{ $('Form Submission Trigger').item.json['Product Explanation'] }}. - Ensure Ad Angle Model GPT is connected to Draft 10 Ad Angles. Credential Required: Connect your openAiApi credentials in Ad Angle Model GPT. Ad Angle Think Tool is a sub-node; credentials should be on the model node.
- In Rank Best Ad Angles, verify the prompt references
{{ $('Form Submission Trigger').item.json['Product Explanation'] }}and{{ $json.output }}for ranking. - Credential Required: Connect your openAiApi credentials in Rank Best Ad Angles.
Step 5: Configure Comic Prompt Creation and Image Pipeline
Convert ranked ad angles into comic prompts, generate images, and upload them to Google Drive.
- In Compose Comic Prompt Set, verify the Text prompt references
{{ $('Form Submission Trigger').item.json['Product Explanation'] }}and{{ $json.message.content }}, and outputs JSON with a prompt field. - Ensure Comic Prompt Model GPT is connected to Compose Comic Prompt Set. Credential Required: Connect your openAiApi credentials in Comic Prompt Model GPT. Comic Prompt Think Tool and Parse Comic Prompt JSON are sub-nodes; credentials should be on the model node.
- Set Split Prompt Objects to split Field to Split Out =
output, then connect to Iterate Comic Prompts for per-prompt processing. - In Request Comic Image, set URL to
https://app.dumplingai.com/api/v1/generate-ai-image, Method toPOST, and use the provided JSON body that includes{{ $json.prompt.replace(/\n/g, ' ').replace(/\r/g, '').replace(/\s+/g, ' ').trim() }}. - Credential Required: Connect your httpHeaderAuth credentials in Request Comic Image.
- In Retrieve Image URL, set URL to
{{ $json.images[0].url }}to fetch the generated image. - In Upload to Drive, set Name to
{{ $json.images[0].url.split('/').pop() }}, Drive toMy Drive, and Folder to your target folder. - Credential Required: Connect your googleDriveOAuth2Api credentials in Upload to Drive.
[YOUR_ID] with a real Google Drive folder ID to avoid upload failures.Step 6: Test and Activate Your Workflow
Run a full test with sample inputs and verify that images are uploaded to Drive.
- Click Execute Workflow and submit the form in Form Submission Trigger using sample values for brand, website, and product explanation.
- Confirm that Search Reddit Threads returns results and Filter Popular Text Posts passes items with
ups >= 2and non-emptyselftext. - Verify Upload to Drive creates image files with names derived from
{{ $json.images[0].url.split('/').pop() }}in the selected folder. - Once testing is successful, toggle the workflow to Active to accept real submissions.
Common Gotchas
- Reddit credentials can expire or need specific permissions. If things break, check your n8n Reddit credential settings and re-auth the integration 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.
- Google Drive uploads can silently land in the wrong place if the folder ID is off. Verify the destination folder ID in the “Upload to Drive” step before you run it at scale.
Frequently Asked Questions
About 45 minutes if you already have the accounts and keys.
No. You’ll mainly connect accounts, paste API keys, and tweak a few 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 OpenAI and Dumpling AI usage costs per run.
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 it’s one of the best tweaks to make. Update the GPT prompt that writes the 4-panel scenes to include your style rules, then adjust the Dumpling AI image generation request settings to match (manga lines, ink sketch, flatter colors, whatever you want). Many teams also change the “pain → tension → product → resolution” format to fit their offer, like adding a comparison panel or an objection-handling panel.
Usually it’s an expired OAuth connection or the Drive account doesn’t have access to the target folder. Reconnect Google Drive in n8n credentials, then double-check the folder ID in the upload step. If you’re uploading lots of images in batches, Drive can also rate-limit briefly, so a small wait or retry helps.
It’s built to produce 3 top angles per run, which usually means 12 comic panels, and you can run it as often as your n8n plan and API limits allow.
For this specific use case, yes, most of the time. You need branching logic (filters, relevance checks, top-3 selection), batching, and multi-step AI prompting, and those flows get clunky and expensive in tools priced per task. n8n also lets you self-host, which matters if you want to run lots of tests without watching a task meter. Zapier or Make can still be fine for a lightweight version, like “form submission → Slack message,” but they’re not ideal for the full research-to-creative pipeline. If you want help deciding, Talk to an automation expert.
You’re not outsourcing your marketing brain to AI. You’re outsourcing the scraping, sorting, and first-draft grunt work so you can spend your time choosing the winners and shipping tests.
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.