YouTube to Google Sheets, trend ideas ready to use
You find a promising YouTube trend, open six tabs, copy the title, grab a link, try to judge the thumbnail, then lose the transcript somewhere along the way. Do that a few times and your “research session” quietly becomes your whole afternoon.
This YouTube Sheets automation hits content marketers first, honestly. But agency leads building client calendars and solo creators trying to stay consistent feel the same drag. The outcome is simple: trend ideas land in one Google Sheet, already cleaned up, deduped, and expanded with hooks and outlines.
Below you’ll see exactly what this workflow does, what you’ll need, and how the moving parts fit together before you decide to implement it.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: YouTube to Google Sheets, trend ideas ready to use
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", 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/merge.svg' width='40' height='40' /></div><br/>Merge"]
n2@{ icon: "mdi:database", form: "rounded", label: "Step 1 Results", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Find Duplicate Entries", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "YouTube Title Generator", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Analyze Thumbnail", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Update Rows", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>YouTube Video Scrape"]
n8["<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/>HTTP Request"]
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/form.svg' width='40' height='40' /></div><br/>On form submission"]
n10@{ icon: "mdi:robot", form: "rounded", label: "Outline Generator", pos: "b", h: 48 }
n0 --> n3
n0 --> n1
n1 --> n2
n8 --> n4
n2 --> n5
n5 --> n8
n10 --> n6
n9 --> n7
n7 --> n0
n3 --> n1
n4 --> n10
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 n9 trigger
class n4,n5,n10 ai
class n0 decision
class n2,n3,n6 database
class n7,n8 api
classDef customIcon fill:none,stroke:none
class n1,n7,n8,n9 customIcon
Why This Matters: Turning Trends Into Usable Ideas
YouTube “trend research” sounds lightweight until you actually do it. You search a keyword, open trending videos, and start collecting notes. Then the real work begins: deciding what’s worth copying (structure, not content), pulling details into a doc, and trying to write a better title without losing the original context. After a week, your ideas live in three places, duplicates sneak in, and you can’t remember why a link was saved. The worst part is the mental load. Your brain is doing admin when it should be spotting patterns.
It adds up fast. Here’s where it usually breaks down.
- You end up re-checking the same channels because there’s no clean record of what you already reviewed.
- Copy-pasting titles and URLs sounds quick, but it’s easy to mislabel rows or miss key context like thumbnail angle or narrative hook.
- Transcripts are useful, yet pulling them manually is tedious, so most people skip them and settle for shallow ideas.
- Duplicates slip into the backlog, which means your “idea list” grows while your confidence in it drops.
What You’ll Build: YouTube Trend Research to Sheet-Ready Concepts
This workflow turns a simple keyword into a short list of usable content angles, stored neatly in Google Sheets. It starts with a form submission (you type a topic like “AI automation”). n8n sends that keyword to an Apify-powered scrape via HTTP Request to pull trending YouTube videos and metadata. From there, a conditional check filters the results and looks up your existing sheet rows to avoid repeats. When a video passes the gate, it gets appended to your sheet, then AI steps in: it analyzes the thumbnail for what’s working visually, retrieves the transcript, generates a stronger “inspired-by” title, and finally produces an outline draft you can actually hand to a writer or use yourself. The sheet rows are updated with those AI outputs so you’re not hunting through chat logs later.
The workflow starts when you submit a keyword in the form. It then collects candidate videos, checks your Google Sheet for duplicates, and appends fresh rows. After that, OpenAI analyzes the thumbnail and transcript, then writes a title and outline before updating the same row so everything stays connected.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you research one keyword per day and shortlist 10 videos. Manually, you might spend about 3 minutes per video copying details into a sheet, then another 5 minutes skimming and drafting a better title and quick outline, so roughly 80 minutes total. With this workflow, the “human time” is closer to 5 minutes to submit the keyword and skim the sheet after it runs; the rest is automated processing time. That’s about an hour back each day you do research.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets for storing research and AI outputs.
- Apify to scrape video listings and transcripts.
- OpenAI API Key (get it from your OpenAI API settings page)
Skill level: Beginner. You’ll paste API keys, connect Google Sheets OAuth, and change a Sheet ID.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A keyword submission kicks things off. You type “Keyword or Topic” into the built-in n8n form. That single input becomes the seed for the whole research run.
YouTube trend data gets pulled in. An HTTP Request node calls Apify to fetch trending video listings related to your keyword. The workflow then uses a simple conditional gate to decide which results are worth processing (so you’re not filling your sheet with junk).
Duplicates are handled before they waste your time. n8n checks your Google Sheet for existing rows, merges the “new” and “existing” streams, and only appends what’s actually new. Clean backlog, less confusion later.
AI turns raw videos into usable briefs. OpenAI analyzes the thumbnail (so you understand the visual hook), pulls the transcript, generates a better title, then creates an outline draft. Finally, n8n updates the same Google Sheet row, keeping every insight tied to the exact video.
You can easily modify the filtering rules to be stricter or looser based on your niche. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Submission Trigger
Set up the form that collects a topic keyword and starts the workflow.
- Add and open Form Submission Trigger.
- Set Form Title to
YouTube Topic Research. - Add a required form field with Field Label set to
Keyword or Topic. - Set Form Description to
Enter a keyword or topic below, and I'll find trending videos related to that topic..
Step 2: Connect the Video Data Source
Pull trending YouTube listings from Apify using the submitted keyword.
- Add and open Fetch Video Listings.
- Set URL to
https://api.apify.com/v2/acts/h7sDV53CddomktSi5/run-sync-get-dataset-itemsand Method toPOST. - Set Specify Body to
jsonand paste the full JSON Body value as provided, including the expression{{ $json['Keyword or Topic'] }}insearchQueries. - In Header Parameters, set Accept to
application/jsonand Authorization toBearer [CONFIGURE_YOUR_TOKEN]with your Apify token.
Bearer [CONFIGURE_YOUR_TOKEN] will cause 401 errors. Replace it with your real Apify token.Step 3: Filter and De-duplicate Results
Filter videos by view count and prevent duplicates before writing to Google Sheets.
- Add and configure Conditional Gate with two conditions: Left Value
={{ $json.viewCount }}OperationgtRight Value1000, and Left Value={{ $json.viewCount }}OperationgtRight Value={{ $json.numberOfSubscribers }}. - Add Check Existing Rows and set Document to your spreadsheet and Sheet Name to your target tab (replace
[YOUR_ID]values). - In Check Existing Rows, add a filter with Lookup Column set to
idand Lookup Value set to={{ $json.id }}. - Add Combine Streams and set Mode to
combine, Join Mode tokeepNonMatches, Output Data From toinput2, and Fields To Match toid. - Ensure the execution flow matches: Conditional Gate outputs to both Check Existing Rows and Combine Streams in parallel.
Step 4: Append New Records to Google Sheets
Store the filtered video metadata in your sheet so downstream AI steps can enrich it.
- Add Append Sheet Records and set Operation to
append. - Set Document and Sheet Name to your target sheet (replace
[YOUR_ID]values). - Map the columns exactly as configured, including: id
={{ $json.id }}, url={{ $('Conditional Gate').item.json.url }}, title={{ $('Conditional Gate').item.json.title }}, thumbnailUrl={{ $('Conditional Gate').item.json.thumbnailUrl }}, and the other fields shown in the node.
Step 5: Set Up AI Enrichment (Thumbnail, Title, and Outline)
Analyze thumbnails, fetch transcripts, and generate improved titles and outlines using OpenAI.
- Add Thumbnail Insight with Resource set to
image, Operation toanalyze, and Image URLs set to={{ $('Append Sheet Records').item.json.thumbnailUrl }}. - Set Model in Thumbnail Insight to
gpt-4o-miniand keep the provided prompt text as-is. - Add Retrieve Transcript and set URL to
https://api.apify.com/v2/acts/1s7eXiaukVuOr4Ueg/run-sync-get-dataset-itemswith MethodPOST. Keep the provided JSON Body and set urls to{{ $('Append Sheet Records').item.json.url }}. - In Retrieve Transcript, set the Authorization header to
Bearer [CONFIGURE_YOUR_TOKEN]using your Apify token. - Add Generate Video Title with Model set to
gpt-4.1-mini, JSON Output enabled, and keep the provided message content that references{{ $('Append Sheet Records').item.json.title }},{{ $('Thumbnail Insight').item.json.choices[0].message.content }}, and{{ $('Retrieve Transcript').item.json.captions }}. - Add Create Outline Draft with Model set to
gpt-4.1and keep the provided system prompt and transcript input{{ $('Retrieve Transcript').item.json.captions }}.
Step 6: Update the Sheet With AI Outputs
Write the generated title, thumbnail text, transcript, and outline back to the original row.
- Add Modify Sheet Rows and set Operation to
update. - Set Document and Sheet Name to your target sheet (replace
[YOUR_ID]values). - Map id to
={{ $('Append Sheet Records').item.json.id }}and set the AI fields: newTitle to={{ $('Generate Video Title').item.json.choices[0].message.content.newTitle }}, thumbnailText to={{ $('Generate Video Title').item.json.choices[0].message.content.thumbnailText }}, newOutline to={{ $json.choices[0].message.content }}, videoTranscript to={{ $('Retrieve Transcript').item.json.captions }}, and thumbnailDescription to={{ $('Thumbnail Insight').item.json.choices[0].message.content }}.
Step 7: Test and Activate Your Workflow
Run a full test to ensure data flows through the parallel branch and AI enrichment steps.
- Click Execute Workflow and submit the form in Form Submission Trigger with a sample keyword.
- Confirm that Conditional Gate filters results and that it outputs to both Check Existing Rows and Combine Streams in parallel.
- Verify a new row is appended by Append Sheet Records and then enriched by Thumbnail Insight, Retrieve Transcript, Generate Video Title, and Create Outline Draft.
- Check the final row update from Modify Sheet Rows for populated fields:
newTitle,thumbnailText,newOutline,videoTranscript, andthumbnailDescription. - When satisfied, toggle the workflow to Active to accept live form submissions.
Troubleshooting Tips
- Google Sheets credentials can expire or need specific permissions. If things break, check the Google Sheets OAuth connection in n8n’s Credentials list first.
- Apify requests can fail if the API token isn’t added to both HTTP Request nodes (the Authorization header is easy to miss). Re-paste the token and re-run with a single keyword to confirm.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Quick Answers
About 20 minutes if you already have your accounts.
No. You’ll connect credentials, paste API keys, and update a Google Sheet ID.
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 costs (often just cents for small batches) and whatever Apify charges for your runs.
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 should. Most people tweak the filtering in the Conditional Gate so the sheet only gets videos that match their niche, then adjust the prompts in Thumbnail Insight, Generate Video Title, and Create Outline Draft to match brand voice. You can also swap the Google Sheets steps to write into a different tab for each content pillar. If you don’t want transcript-based writing, skip the transcript step and use thumbnail + metadata only.
Usually it’s OAuth permissions or the wrong Google account connected. Reconnect the Google Sheets credential in n8n, then confirm the account can access the target Sheet in Drive. Also double-check the documentId used in the “check rows” and “update rows” steps, because a single wrong ID looks like a permissions issue. If it fails only sometimes, you may be hitting Google API quotas during larger runs.
On n8n Cloud you’re mainly limited by plan executions and how many videos you pull per run; self-hosting removes execution caps, but your server still needs to handle the load. Practically, most teams run this a few times a week per niche keyword and keep the batch size modest so OpenAI and transcript pulls don’t bottleneck.
Often, yes, because this workflow has branching, deduping, and multi-step AI processing that gets awkward (and expensive) in simpler tools. n8n also makes it easier to mix “research scraping” with “update the same row later” behavior, which is the whole point of keeping a clean backlog. Zapier and Make are totally fine for lightweight two-app zaps, but this isn’t that. If your team wants to productionize this and keep costs predictable, n8n is usually the calmer choice. Talk to an automation expert if you want help picking the right stack.
You do the thinking. The workflow does the collecting, deduping, and drafting. Once it’s running, trend research stops feeling like a chore.
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.