🔓 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, comments logged clean

Lisa Granqvist Partner Workflow Automation Expert

Copying YouTube comments into a spreadsheet is one of those tasks that looks “quick” until you’re 40 minutes deep, you’ve lost a thread, and you’re not sure which comment came from which video.

YouTube comment logging hits marketers hard when you’re trying to pull message testing insights. Creators feel it when you want to spot patterns in what your audience keeps asking. And growth teams get stuck when campaign reporting needs real examples, not vibes.

This workflow takes a list of video URLs, crawls the comments, and writes them into Google Sheets in a clean, analysis-ready format. You’ll see how it works, what you need, and how to avoid the common setup headaches.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: YouTube to Google Sheets, comments logged clean

The Problem: YouTube Comments Don’t Turn Into Usable Data

YouTube comments are full of market research. Objections, feature requests, competitor mentions, and the exact language people use when they’re excited or annoyed. The problem is getting those comments out in a way you can actually work with. Manual copy-paste breaks threads, loses author context, and turns links into a mess. After that, you still have to clean everything before you can filter, tag, or summarize. It’s not just time. It’s attention, and it’s easy to miss the one comment that would have changed your next campaign.

It adds up fast. Here’s where it breaks down in the real world:

  • Pulling comments across multiple videos can burn about 2 hours a week, and that’s before you even start analysis.
  • You lose reply chains when you paste one comment at a time, so the “why” behind a complaint disappears.
  • Teams end up working from partial samples because grabbing “just the top comments” feels faster, even when it skews conclusions.
  • Without a consistent structure (video URL, author, comment link, thread), filtering and pivoting becomes a chore.

The Solution: Crawl Comments From Video URLs Into Google Sheets

This n8n workflow turns YouTube comments into something you can actually use: a linked Google Sheet with rows you can filter, sort, and share. You start with a simple “Video URLs” tab where you paste the YouTube links you care about and mark them as Ready. When the workflow runs, it loops through each Ready URL, calls the YouTube API to fetch comments, and checks that the response is valid before moving on. Each comment gets expanded into individual records and written into a “Results” tab. Once a video is processed, the workflow updates its status to Finished, so you always know what’s done and what still needs attention.

The workflow starts with a manual run inside n8n, so you stay in control. Then it reads your sheet, grabs comments via HTTP requests, and only inserts rows when real comment data exists. Finally, it updates the status column so the same URLs don’t get re-processed by accident.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you’re analyzing 10 videos for a campaign retro. Manually, if you spend maybe 15 minutes per video opening it, scrolling, copying comments, and trying to keep reply threads straight, that’s about 2.5 hours of busywork. With this workflow, you paste 10 URLs into the “Video URLs” tab, mark them Ready, then run n8n (about 5 minutes of setup time). The API calls and sheet updates run in the background, and you come back to a filled “Results” tab that’s ready for filters and pivots.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store URLs and results.
  • YouTube Data API to retrieve video comments via HTTP request.
  • Google Cloud Console credentials (create OAuth/API access in Google Cloud Console)

Skill level: Intermediate. You’ll connect Google credentials, duplicate a Sheet template, and paste a YouTube API request into the HTTP node.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

You run it on demand. The workflow starts when you click Execute Workflow in n8n, which is useful when you’re building a one-time dataset for research or reporting.

It pulls your URL queue from Google Sheets. n8n reads the “Video URLs” tab and filters down to the rows marked Ready, so you control exactly what gets processed.

It fetches and expands comment data. For each video URL, an HTTP request hits the YouTube API, the workflow checks for a successful response, then expands the returned items so each comment becomes its own record.

It writes clean rows and updates statuses. Comments are upserted into the “Results” tab, and the original URL row is updated to Finished (or flagged as Error) so your sheet stays accurate.

You can easily modify the “Ready/Finished” status logic to run automatically when new URLs are added, based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

Start the workflow with a manual trigger so you can test runs on demand.

  1. Add and keep Manual Execution Start as the trigger node.
  2. Leave all parameters at their defaults for Manual Execution Start.
  3. Confirm the connection from Manual Execution Start to Retrieve Video URL List.

Step 2: Connect Google Sheets

Pull the list of video URLs that are ready for processing.

  1. Select Retrieve Video URL List and set the spreadsheet to YouTube - Crawl Video Comments.
  2. Set Sheet Name to Video URLs.
  3. In Filters, add a filter where status equals ready.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials for Retrieve Video URL List.
  5. Ensure the output flows from Retrieve Video URL List to Validate Video URL Present.

Tip: Ensure the Video URLs sheet includes a status column and a video_url column for filtering and extraction.

Step 3: Set Up Batch Processing and the YouTube API Call

Validate each video URL, batch through records, and call the YouTube Comments API with pagination.

  1. In Validate Video URL Present, set the condition to check that {{ $json.video_url }} is not empty.
  2. Keep Batch Iterate Records connected after Validate Video URL Present to iterate through each URL.
  3. Open YouTube Comments API Call and set URL to https://www.googleapis.com/youtube/v3/commentThreads.
  4. Enable Send Query and add query parameters: part = snippet, videoId = {{ $json.video_url.match(/(?:v=|\/)([0-9A-Za-z_-]{11})/)[1] || ''}}, limit = 100.
  5. In Pagination, set pageToken to {{ $response.body.nextPageToken }} and Complete When to {{ !$response.body.nextPageToken}}.
  6. Credential Required: Connect your youTubeOAuth2Api credentials for YouTube Comments API Call.

⚠️ Common Pitfall: If video_url does not contain a valid 11-character video ID, YouTube Comments API Call will return errors. Validate your URL format in the source sheet.

Step 4: Configure Comment Validation and Upsert

Verify API success, expand comment items, and upsert comment data into the results sheet.

  1. In Verify Response Success, set the condition to check {{ $json.statusCode }} equals 200.
  2. Set Expand Comment Items to split out Field To Split Out = body.items.
  3. In Confirm Comment Exists, set the condition to check {{ $json.snippet.videoId }} exists.
  4. Configure Upsert Comment Rows with Operation = appendOrUpdate and Matching Columns = comment_id.
  5. Map columns in Upsert Comment Rows: likes = {{ $json.snippet.topLevelComment.snippet.likeCount }}, reply = {{ $json.snippet.totalReplyCount }}, comment = {{ $json.snippet.topLevelComment.snippet.textOriginal }}, video_url = =https://www.youtube.com/watch?v={{ $json.snippet.videoId }}, comment_id = {{ $json.snippet.topLevelComment.id }}, author_name = {{ $json.snippet.topLevelComment.snippet.authorDisplayName }}, published_at = {{ $json.snippet.topLevelComment.snippet.publishedAt.toString().slice(0, 19).replace('T', ' ') }}.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials for Upsert Comment Rows.

Step 5: Configure Status Updates and Error Path

Update the source sheet with success or error status after each video is processed.

  1. In Update Sheet Status, set Operation to update and map status to finish.
  2. Set row_number to {{ $('Retrieve Video URL List').item.json.row_number }} and last_fetched_time to {{ $now.toISO().toString().slice(0, 19).replace('T', ' ') }}.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials for Update Sheet Status.
  4. In Mark Status Error, set Operation to update and map status to error.
  5. Set row_number to {{ $('Retrieve Video URL List').item.json.row_number }} and last_fetched_time to {{ $now.toISO().toString().slice(0, 19).replace('T', ' ') }}.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials for Mark Status Error.

Tip: Mark Status Error is reached when Verify Response Success fails or Confirm Comment Exists returns false, keeping your sheet accurate.

Step 6: Test and Activate Your Workflow

Run a manual test, verify data in Google Sheets, then activate the workflow.

  1. Click Execute Workflow from Manual Execution Start to run a test.
  2. Confirm that Upsert Comment Rows adds or updates rows in the Results sheet.
  3. Check the Video URLs sheet to see status updated to finish and last_fetched_time populated, or error if failures occurred.
  4. Once confirmed, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the Credentials section in n8n and confirm the Google account has access to the Sheet 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.
  • YouTube API requests can fail quietly when quota limits or missing scopes are involved. If “Verify Response Success” routes to the error path, check your Google Cloud Console API quota and make sure the YouTube Data API is enabled for the same project.

Frequently Asked Questions

How long does it take to set up this YouTube comment logging automation?

About 30 minutes if your Google Cloud and Sheet are ready.

Do I need coding skills to automate YouTube comment logging?

No. You’ll mostly copy configuration details and connect credentials. The only “technical” part is pasting the YouTube API request into the HTTP Request node.

Is n8n free to use for this YouTube comment logging 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, which is typically free for small pulls but limited by quota.

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.

Can I customize this YouTube comment logging workflow for automatic runs when new URLs are added?

Yes, but you’ll swap the manual trigger for a Google Sheets trigger that watches the “Video URLs” tab. Keep the same Ready/Finished status field so you still control what gets processed. Many teams also add a “Channel” or “Campaign” column and map it into the rows written to the Results tab.

Why is my Google Sheets connection failing in this workflow?

Usually it’s expired Google credentials or the wrong account connected in n8n. Reconnect Google Sheets, then confirm the Sheet is shared with that Google user and the nodes point to the correct tabs (“Video URLs” vs “Results”). If the YouTube API call succeeds but inserts fail, it can also be a permissions scope issue in Google Cloud Console.

How many comments can this YouTube comment logging automation handle?

It depends on your YouTube API quota and how many executions your n8n plan allows, but processing dozens of videos in a run is normal.

Is this YouTube comment logging automation better than using Zapier or Make?

Often, yes, because pulling YouTube comments usually needs looping, branching, and error handling that gets pricey or awkward in simple “zap” style tools. n8n makes it easier to batch through a sheet of URLs, validate API responses, and route failures to an error status without you babysitting it. Self-hosting is a big deal too if you plan to run this frequently. Zapier or Make can still be fine for tiny workflows, like logging a single event from one app to another. If you’re unsure, Talk to an automation expert and get a quick recommendation based on volume.

Once your comment data lands in Google Sheets cleanly, the real work gets easier: sorting, tagging, summarizing, and spotting patterns you can act on. Set it up once, then reuse it whenever a new batch of videos needs answers.

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