🔓 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

Google Sheets + HeyGen: YouTube videos published for you

Lisa Granqvist Partner Workflow Automation Expert

Your YouTube consistency usually breaks in the same place. You have ideas, maybe even a rough outline, but turning that into a finished upload means too many tiny steps, too many tabs, and way too many chances to stall out.

YouTube managers feel it when the content calendar slips. A solo creator feels it when filming time disappears. And an agency lead feels it when “we’ll publish Friday” quietly becomes next week. This YouTube video automation takes a Google Sheet row and turns it into a real, published video.

Below, you’ll see exactly what the workflow does, what it replaces, and what you need to get it running in n8n without turning your life into a tech project.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + HeyGen: YouTube videos published for you

The Problem: Publishing videos is a repeatable mess

Most YouTube channels don’t fail because the ideas are bad. They fail because publishing is exhausting. You collect topics in one place, research in another, write scripts in a doc, generate or record the video somewhere else, then spend another chunk of time doing the upload, the metadata, the tags, the thumbnail details, and the “did we log this anywhere?” admin work. Miss one step and you either publish late or publish sloppy. Do it weekly and it becomes a second job.

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

  • You end up copy-pasting titles, descriptions, and tags from old videos because writing fresh metadata every time is a grind.
  • Uploading and then “finishing” the video in YouTube Studio often takes about 30 minutes per video once you include checks and tweaks.
  • Research gets half-done because it’s buried behind the production work, so the script quality slips over time.
  • No clean tracking exists, so you can’t tell what’s queued, what’s rendering, and what actually went live.

The Solution: Google Sheets to HeyGen to YouTube, fully automated

This workflow turns your Google Sheet into a production queue. On a schedule (weekly is common), n8n pulls a “To Do” idea from your sheet, grabs supporting details from the web using an HTTP request, then uses an AI agent to draft a ready-to-narrate script. That script is sent to HeyGen to generate an avatar video. n8n waits while HeyGen renders, retrieves the finished video file, and uploads it to YouTube. After upload, a second AI step generates your title, description, tags, and hashtags, then the workflow updates metadata and flips visibility to Public. Finally, it logs the publish details back to Google Sheets, so you always know what happened.

The flow starts with a scheduled pull from Google Sheets. In the middle, AI handles the script and YouTube metadata while HeyGen handles the actual video creation. At the end, YouTube receives a real upload (not a draft sitting on your desktop), and your sheet is updated as the source of truth.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you publish one video a week for an affiliate channel. Manually, it’s often about 2 hours to research and shape a script, another hour to produce a clean voice/video output, then about 30 minutes to upload and write metadata, so roughly 4 hours total. With this workflow, you add a row in Google Sheets (about 5 minutes), then wait for rendering and upload in the background (often under an hour, depending on HeyGen). You mostly review and approve when you want, and the rest ships itself.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your content queue and status tracking
  • HeyGen API to generate the avatar video
  • YouTube Data API (OAuth) (enable it in Google Cloud Console)
  • OpenAI API key (create it in your OpenAI dashboard)

Skill level: Intermediate. You’ll connect accounts, paste API keys, and do light troubleshooting if a permission or rate limit pops up.

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

How It Works

A scheduled run pulls the next idea. n8n starts on a schedule trigger, fetches rows from Google Sheets, filters for your “To Do” status, sorts, and limits to a single record so you publish one item per run.

Context is fetched from the web. Using an HTTP request, the workflow pulls content from a product page or source URL. A small parsing step extracts the useful bits, so the AI isn’t guessing or hallucinating from a blank prompt.

The script and metadata are generated. An AI agent writes the transcript, then another AI step produces YouTube-ready title ideas, a description, tags, and hashtags. Output parsers structure the responses so the next nodes can use them reliably.

HeyGen renders, then YouTube publishes. The script is sent to HeyGen for avatar generation, the workflow waits for rendering, retrieves the finished video file, uploads to YouTube, updates metadata, and finally sets the video to Public after an optional email approval step.

You can easily modify the Google Sheets “status” rules to change what gets picked up next based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Scheduled Trigger

Set up the workflow schedule so the automation starts on a recurring basis.

  1. Add the Scheduled Run Trigger node at the start of the workflow.
  2. Configure the schedule options inside Scheduled Run Trigger to match your publishing cadence.
  3. Connect Scheduled Run Trigger to Fetch Sheet Rows to begin the data pipeline.
⚠️ Common Pitfall: Scheduled Run Trigger is disabled in the workflow. Enable it before production runs.

Step 2: Connect Google Sheets

Pull source rows from your spreadsheet and later write back status updates.

  1. Open Fetch Sheet Rows and select the spreadsheet and sheet that contain your video queue.
  2. Credential Required: Connect your Google Sheets credentials in Fetch Sheet Rows.
  3. Open Modify Sheet Row and map the fields you want to update after publishing.
  4. Credential Required: Connect your Google Sheets credentials in Modify Sheet Row (use the same account as Fetch Sheet Rows).

Step 3: Prepare and Filter Records

Filter, sort, and normalize the sheet data before generating the script.

  1. Configure Record Filter to select only rows ready for processing.
  2. Set sorting logic in Sort Records to define processing order.
  3. Use Custom Script to transform or calculate fields before mapping.
  4. Use Modify Fields to shape the dataset that feeds downstream nodes.
  5. Limit batch size with Record Limiter to avoid overloading external services.

Step 4: Generate the Video Script with AI

Fetch external content, parse it, and generate a structured script using AI.

  1. Configure External API Request to fetch source content for the video.
  2. Use Parse HTML Content to extract clean text for AI input.
  3. Set up AI Script Composer to generate the script from the parsed content.
  4. Open OpenAI Chat Engine and attach it as the language model for AI Script Composer.
  5. Credential Required: Connect your OpenAI credentials in OpenAI Chat Engine.
  6. Attach Formatted Output Parser to AI Script Composer for structured output. This is a sub-node—credentials (if needed) should be configured on OpenAI Chat Engine, not the parser.

Step 5: Render and Retrieve the Video Asset

Send the script to your rendering service, wait for completion, and download the output.

  1. Configure Generate Video Asset to submit the script to your video rendering API.
  2. Use Await Video Render to pause the workflow until rendering completes.
  3. Configure Fetch Video Link to retrieve the final asset URL.
  4. Set up Retrieve Video File to download the rendered video file for upload.

Step 6: Publish to YouTube and Enrich Metadata

Upload the video, generate metadata using AI, and update YouTube and your sheet.

  1. Configure Publish Video Upload to upload the video file to YouTube.
  2. Credential Required: Connect your YouTube OAuth2 credentials in Publish Video Upload.
  3. Set up YouTube Metadata Agent to generate optimized title/description/tags.
  4. Open OpenAI Chat Engine 2 and attach it as the language model for YouTube Metadata Agent.
  5. Credential Required: Connect your OpenAI credentials in OpenAI Chat Engine 2.
  6. Attach Metadata Output Parser to YouTube Metadata Agent for structured outputs. This is a sub-node—credentials (if needed) should be configured on OpenAI Chat Engine 2, not the parser.
  7. Configure Send & Await Email if you require manual approval before updating metadata.
  8. Credential Required: Connect your Email (SMTP) credentials in Send & Await Email.
  9. Set up Update YouTube Metadata to apply AI-generated metadata to the uploaded video.
  10. Credential Required: Connect your YouTube OAuth2 credentials in Update YouTube Metadata.
  11. Use Modify Sheet Row to mark the video as published and store the YouTube URL.
⚠️ Common Pitfall: Send & Await Email is disabled in the workflow. Enable it only if you need email approval; otherwise, remove or bypass the node to avoid stalled runs.

Step 7: Test and Activate Your Workflow

Run a full test to verify data flow, asset creation, and YouTube publishing before turning on automation.

  1. Click Execute Workflow to run a manual test from Scheduled Run Trigger.
  2. Verify that Fetch Sheet Rows pulls a row, passes through Record Filter and Sort Records, and reaches External API Request.
  3. Confirm that AI Script Composer generates structured output and that Generate Video Asset starts rendering.
  4. Check that Publish Video Upload posts the video and Update YouTube Metadata applies the AI-generated fields.
  5. After successful testing, enable Scheduled Run Trigger to activate the workflow 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 n8n Credentials page and confirm the connected Google account still has access to the sheet.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • HeyGen or YouTube API calls can fail on quota or missing scopes. If uploads start failing, review your Google Cloud OAuth scopes and YouTube Data API quota usage before you rewrite the workflow.

Frequently Asked Questions

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

About an hour if your APIs are ready.

Do I need coding skills to automate YouTube video automation?

No. You’ll mostly connect accounts, paste keys, and test one run. If you can handle basic “does this account have permission?” troubleshooting, you’re fine.

Is n8n free to use for this YouTube video 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 OpenAI API usage (often a few cents per video) plus HeyGen generation costs.

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 video automation workflow for a different content source (like Airtable or Notion)?

Yes, and it’s one of the easiest swaps. Replace the “Fetch Sheet Rows” and “Modify Sheet Row” Google Sheets nodes with Airtable or Notion nodes, then keep the same status logic (To Do → Published). Common customizations include changing the idea fields, adding a “client” column for agencies, and inserting a second approval step before the YouTube upload.

Why is my HeyGen connection failing in this workflow?

Usually it’s an invalid or expired HeyGen API key, or the request is missing a required parameter for your chosen avatar/voice. Check the HeyGen API response inside the “Generate Video Asset” HTTP node and confirm your account has enough credits to render. If it fails only sometimes, it can be rate limiting or a render job timing out, so increasing the Wait node duration helps.

How many videos can this YouTube video automation automation handle?

A lot, as long as your YouTube quota and HeyGen plan can keep up.

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

Often, yes for this specific use case. Zapier and Make are great for simple “send X to Y,” but this workflow has branching, waiting for renders, structured AI outputs, and multi-step YouTube updates, which can get expensive or awkward elsewhere. n8n also gives you the self-hosted route, so you’re not paying per tiny step forever. The tradeoff is you have more knobs to configure, which is honestly a good thing once you want control. If you’re unsure, Talk to an automation expert and you’ll get a straight answer based on your volume.

Set it up once, keep the sheet filled, and let publishing happen in the background. The workflow handles the repetitive stuff, so you can spend your time on ideas and strategy instead.

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