🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

YouTube to Google Sheets, lead research stays current

Lisa Granqvist Partner Workflow Automation Expert

Your YouTube lead list gets outdated the moment you make it. Subscribers jump, views spike, channels pivot, and the spreadsheet you trusted turns into a stale guess.

Marketing managers feel it when influencer outreach stalls. Agency owners feel it when client prospecting needs proof. And a solo founder doing partnerships feels it because there’s no time to re-check every channel. This YouTube Sheets automation keeps your research current without living in tabs.

You’ll see what the workflow pulls, how it calculates recent performance, and how it updates Google Sheets so your outreach list stays reliable.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: YouTube to Google Sheets, lead research stays current

The Challenge: YouTube leads go stale fast

Channel research usually starts with good intentions: you find a creator, copy a few stats, paste a link, and promise yourself you’ll “circle back” later. Then later becomes never. Meanwhile, your list quietly rots. A channel that looked perfect two weeks ago might have tanked in recent views, or it might have blown up and now ignores cold outreach. The worst part is the mental load. You’re never sure your data is current, so you double-check everything right before you send a message.

It adds up fast. Here’s where it breaks down.

  • You end up copying subscriber counts and total views by hand, which is slow and easy to mistype.
  • “Recent performance” turns into vibes because you’re not consistently checking the last few uploads.
  • Contact hunting becomes a messy mix of guessing, Googling, and half-finished notes in the sheet.
  • Once the list grows past a few dozen channels, updating it becomes a recurring chore you keep postponing.

The Fix: A live YouTube intelligence sheet

This n8n workflow turns a simple “channel added to a spreadsheet” moment into a full refresh of useful, outreach-ready data. When you enter a new YouTube channel in Google Sheets, the automation calls the YouTube Data API to pull the channel profile and core statistics. Next, it fetches the five most recent uploads, then looks up view stats for those videos so you get a quick snapshot of what’s happening right now (not last year). After that, it attempts to find public contact hints by querying an external search API (SerpAPI) so your outreach has somewhere to start. Finally, it formats everything neatly and updates the same row in Google Sheets, creating a living dashboard you can trust.

The workflow starts with a Google Sheets trigger that detects a new channel entry. It then gathers channel metrics, recent upload performance, and contact signals through HTTP requests and a small calculation step. At the end, it writes the cleaned, compiled results back into your sheet, ready for sorting and outreach.

What Changes: Before vs. After

Real-World Impact

Say you’re building an outreach list of 40 YouTube channels for a partnership push. Manually, you might spend about 10 minutes per channel collecting profile stats, then another 10 minutes checking the five latest videos and doing a quick contact search. That’s roughly 20 minutes each, or about 13 hours total. With this workflow, adding a channel row takes maybe a minute, then you wait while the APIs fetch stats and the sheet updates automatically. Even if the processing takes a few minutes per channel in the background, you’re not doing the work.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for the tracking spreadsheet and trigger.
  • YouTube Data API to fetch channel and video statistics.
  • SerpAPI key (get it from your SerpAPI dashboard) to search for public contact hints.

Skill level: Intermediate. You’ll connect accounts, add API keys, and map a few columns in your sheet.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A new channel gets added in Google Sheets. The workflow watches your spreadsheet, so a fresh row (or a flagged row) kicks everything off without you touching n8n.

Channel profile stats are pulled via the YouTube API. It collects the basics you normally copy by hand, like subscriber count, total views, and the channel overview data you need for qualification.

Recent uploads get analyzed for momentum. The automation retrieves the five latest videos, fetches view stats for each, then uses a small code step to aggregate totals so you can compare channels consistently.

Contact hints are looked up and written back to your sheet. A search request (via SerpAPI) attempts to find public email signals, then the workflow assembles a clean payload and updates the original row in Google Sheets.

You can easily modify the “five latest uploads” logic to analyze 10 videos instead, or switch the contact lookup to a different data source based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Google Sheets Trigger

This workflow starts when a new row is added to your Google Sheet.

  1. Add the Channel Entry Trigger node as the trigger.
  2. Set Event to rowAdded.
  3. Select your spreadsheet in Document ID (e.g., Youtube Channel Intelligence Collector).
  4. Choose the correct tab in Sheet Name (e.g., Sheet1).
  5. Credential Required: Connect your googleSheetsTriggerOAuth2Api credentials.

Make sure your sheet includes a Channel ID column, as downstream nodes reference {{ $('Channel Entry Trigger').item.json['Channel ID'] }}.

Step 2: Connect Google Sheets

This workflow writes results back into your spreadsheet after data enrichment.

  1. Add the Update Sheet Records node to update the same spreadsheet.
  2. Set Operation to update.
  3. Choose the same Document ID and Sheet Name used by Channel Entry Trigger.
  4. In Columns, map values exactly:
    • Email{{ $json.Email }}
    • Channel ID{{ $('Channel Entry Trigger').item.json['Channel ID'] }}
    • Recent Views{{ $json['Recent Views'] }}
    • Total Subscribers{{ $json['Total Subscribers'] }}
  5. Set Matching Columns to Channel ID to update existing rows.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials.

Step 3: Set Up Processing Nodes

These nodes fetch channel data, recent uploads, and view statistics, then calculate totals.

  1. Configure Fetch Channel Profile with URL set to https://www.googleapis.com/youtube/v3/channels?part=statistics,snippet&id=[YOUR_ID]&key=[CONFIGURE_YOUR_API_KEY].
  2. In Retrieve Recent Uploads, set URL to https://www.googleapis.com/youtube/v3/search and enable Send Query.
  3. Set the Query Parameters in Retrieve Recent Uploads:
    • channelId{{ $json.items[0].id }}
    • partsnippet
    • orderdate
    • maxResults5
    • key[CONFIGURE_YOUR_API_KEY]
  4. In Fetch Video View Stats, set URL to =https://www.googleapis.com/youtube/v3/videos?part=statistics&id={{ $json.items[0].id.videoId }},{{ $json.items[1].id.videoId }},{{ $json.items[2].id.videoId }},{{ $json.items[3].id.videoId }},{{ $json.items[4].id.videoId }},[YOUR_ID],[YOUR_ID]&key=[CONFIGURE_YOUR_API_KEY].
  5. In Map Views Fields, map view counts to fields using:
    • Video 1 views{{ $json.items[0].statistics.viewCount }}
    • Video 2 views{{ $json.items[1].statistics.viewCount }}
    • Video 3 views{{ $json.items[2].statistics.viewCount }}
    • Video 4 views{{ $json.items[3].statistics.viewCount }}
    • Video 5 views{{ $json.items[4].statistics.viewCount }}
  6. In Aggregate View Totals, keep the provided JavaScript Code to sum all fields that include views.

⚠️ Common Pitfall: Replace [YOUR_ID] and [CONFIGURE_YOUR_API_KEY] in all YouTube and SerpAPI URLs before testing.

Step 4: Configure Output and Enrichment Nodes

These nodes pull channel email data and build the payload sent back to Google Sheets.

  1. Configure Lookup Channel Email with URL set to =https://serpapi.com/search.json?engine=youtube_channel_about&channel_url=https://www.youtube.com/channel/{{ $('Channel Entry Trigger').item.json['Channel ID'] }}&api_key=[CONFIGURE_YOUR_API_KEY].
  2. In Assemble Sheet Payload, map fields:
    • Recent Views{{ $('Aggregate View Totals').item.json.totalViews }}
    • Total Subscribers{{ $('Fetch Channel Profile').item.json.items[0].statistics.subscriberCount }}
    • Email{{ $json.channel_about_page.email }}
  3. Confirm execution order follows the flow: Channel Entry TriggerFetch Channel ProfileRetrieve Recent UploadsFetch Video View StatsMap Views FieldsAggregate View TotalsLookup Channel EmailAssemble Sheet PayloadUpdate Sheet Records.

The Flowpast Branding sticky note is informational only and does not affect execution.

Step 5: Test and Activate Your Workflow

Validate the full run and then enable the workflow for production use.

  1. Click Execute Workflow and add a new row in your sheet to trigger Channel Entry Trigger.
  2. Verify that Fetch Channel Profile and Retrieve Recent Uploads return data without errors.
  3. Check that Aggregate View Totals outputs a totalViews field.
  4. Confirm Update Sheet Records updates the matching row with Email, Recent Views, and Total Subscribers.
  5. Toggle the workflow to Active once the test run completes successfully.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • YouTube Data API credentials can expire or be blocked by project settings. If things break, check your Google Cloud Console API key restrictions and quota page 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.
  • SerpAPI can return inconsistent “email-like” text depending on the query and region. Review the sheet output for false positives and adjust the search query in the HTTP Request node if needed.

Common Questions

How quickly can I implement this YouTube Sheets automation automation?

About 30 minutes if your APIs are already set up.

Can non-technical teams implement this YouTube Sheets automation?

Yes, but someone should be comfortable pasting API keys and matching spreadsheet columns. You won’t write code unless you want to tweak the view aggregation logic.

Is n8n free to use for this YouTube Sheets automation workflow?

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 YouTube Data API usage (usually pennies at small scale) and SerpAPI costs based on your query volume.

Where can I host n8n to run this automation?

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.

How do I adapt this YouTube Sheets automation solution to my specific challenges?

You can change the “Retrieve Recent Uploads” request to pull 10 videos instead of five, then keep the same “Aggregate View Totals” code step. If you don’t want email discovery, disable “Lookup Channel Email” and still write the rest of the metrics back through “Update Sheet Records”. Common customizations include adding a channel score column, filtering out channels below a subscriber threshold, and writing notes to a second sheet for outreach status.

Why is my Google Sheets connection failing in this workflow?

Usually it’s an expired Google authorization or the spreadsheet permissions changed. Reconnect the Google Sheets credential in n8n, confirm the sheet is still shared with the right Google account, then re-check that the sheet tab name and column mapping still match what the workflow expects.

What’s the capacity of this YouTube Sheets automation solution?

On most setups, you can comfortably process a few hundred channels a month, and more if you batch carefully and stay within API quotas. The limiting factor is usually YouTube API quota and how many SerpAPI searches you run, not n8n itself. If you self-host, executions aren’t capped by plan, but your server and API limits still matter. If you need high volume, add batching (Split in Batches) and slow down requests to avoid rate limits.

Is this YouTube Sheets automation automation better than using Zapier or Make?

For this workflow, n8n has a few advantages: more flexible logic for chaining multiple API calls, easier data shaping with code when you need it, and a self-hosting option when usage grows. Zapier or Make can work, but complex multi-request flows tend to get pricey and harder to debug. Also, pulling recent uploads, then fetching per-video stats, then aggregating totals is where “simple zaps” start to creak. If you’re unsure, Talk to an automation expert and get a quick recommendation.

Once this is running, your spreadsheet stops being “research you did” and starts being “research you have.” Honestly, that’s the difference between dabbling in outreach and running a repeatable lead engine.

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal