RSS to HeyGen, videos logged in Google Sheets
Turning news into video sounds simple until you’re knee-deep in RSS tabs, half-copied links, and “where did I save that draft?” chaos. Then you still have to write a script, render a clip, and log what went out.
This is the kind of mess that slows down marketing managers trying to post consistently. It also hits content creators and small agency teams hard. With this HeyGen RSS automation, you publish steady avatar videos and keep a clean spreadsheet trail without babysitting the process.
Below you’ll see exactly what the workflow does, what you get out of it, and what you need to run it in n8n.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: RSS to HeyGen, videos logged in Google Sheets
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "RSS Read", pos: "b", h: 48 }
n2@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n4["<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/>Get Avatar Video"]
n5["<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/>Create Avatar Video"]
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Setup Heygen", 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/>Download video"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Limit", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Google Drive", pos: "b", h: 48 }
n10["<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/code.svg' width='40' height='40' /></div><br/>parse caption"]
n11@{ icon: "mdi:cog", form: "rounded", label: "Limit1", pos: "b", h: 48 }
n12@{ icon: "mdi:database", form: "rounded", label: "log news to sheets", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Log video url and title to s..", pos: "b", h: 48 }
n14@{ icon: "mdi:brain", form: "rounded", label: "write script", pos: "b", h: 48 }
n3 --> n4
n8 --> n0
n11 --> n12
n0 --> n10
n1 --> n11
n6 --> n5
n14 -.-> n0
n10 --> n6
n7 --> n9
n4 --> n7
n4 --> n13
n12 --> n8
n5 --> n3
n2 --> n1
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 n2 trigger
class n0 ai
class n14 aiModel
class n12,n13 database
class n4,n5,n7 api
class n10 code
class n9 disabled
classDef customIcon fill:none,stroke:none
class n4,n5,n7,n10 customIcon
The Problem: RSS Content Gets Stuck in “Draft Limbo”
RSS feeds are a great source of ideas. The problem is everything that happens after you find a headline. You copy the title into a doc, paste the link somewhere else, write a quick script, open HeyGen, choose an avatar, render, wait, download, upload, and then try to remember what you actually published. Miss one small step and you get duplicate videos, broken links in your log, or a week later you’re reusing the same story by accident. It’s not hard work. It’s just relentless.
The friction compounds fast. Especially once “one video” becomes “one video every day.”
- Manual script writing for every headline turns into a recurring daily task that quietly eats about an hour.
- HeyGen rendering is easy to start, but it still needs checking and re-checking if you don’t have a status loop.
- Without a proper Google Sheets log, you lose track of which RSS links were used and what video URL matches which story.
- Uploading finished files to Google Drive is often an afterthought, so teams end up with missing assets when it’s time to schedule posts.
The Solution: RSS → Script → HeyGen Video → Google Sheets Log
This workflow takes an RSS item and pushes it through a simple production line. It starts when you trigger it in n8n, pulls fresh headlines from your RSS feed, and records the news item in Google Sheets so you have a paper trail from the beginning. Next, it uses an AI step (GPT-4o via the OpenAI chat node, orchestrated by an agent) to turn the headline and content into a short 30–60 second script that actually sounds like spoken video, not a blog post. That script is passed into HeyGen through HTTP requests to generate an avatar clip, then n8n waits and checks until the render is ready. Finally, it downloads the video, uploads it into Google Drive, and logs the final video URL and title back into Google Sheets so publishing becomes a “pick from the list” task, not a scavenger hunt.
The workflow begins with an RSS pull and a quick cap on how many items you process. AI turns the chosen item into a tight script, and HeyGen renders the avatar video. When the download link is available, the video is stored in Drive and your spreadsheet is updated with the final metadata.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you publish 5 avatar news clips a week. Manually, a typical run looks like 10 minutes to pick and copy the RSS item, about 25 minutes to write and tweak a short script, then another 15 minutes bouncing between HeyGen, downloads, Drive uploads, and spreadsheet logging. Call it roughly 50 minutes per video, or about 4 hours weekly. With this workflow, you trigger it, let it generate and render, and only review the finished output and sheet entry. For most teams that’s closer to 10 minutes of attention per video.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- HeyGen for avatar video generation via API.
- Google Sheets to track headlines, sources, and outputs.
- HeyGen API key (get it from your HeyGen account settings).
Skill level: Intermediate. You’ll connect accounts, add API keys, and be comfortable testing a few runs.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
You manually trigger a run (or swap to a schedule). The current workflow starts from a Manual Start Trigger, which is perfect for testing and for “run it when I’m ready” publishing.
Fresh RSS items are pulled, then limited. n8n reads your RSS feed and caps how many items to process, so you don’t accidentally turn your whole feed into 40 videos overnight.
AI writes a short spoken script. The workflow uses an AI orchestrator plus a chat model (GPT-4o in the provided build) to turn the RSS content into a 30–60 second script, then parses and cleans it so HeyGen gets something usable.
HeyGen renders the avatar clip, then Drive and Sheets get updated. n8n sends the script to HeyGen via HTTP, waits for rendering, fetches the download link, uploads the video to Google Drive, and logs the final title + URL into Google Sheets.
You can easily modify the RSS source to another feed based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Manual Trigger
This workflow starts manually so you can test the full flow on demand.
- Add the Manual Start Trigger node as the entry point.
- Connect Manual Start Trigger to Retrieve RSS Feed to begin data ingestion.
- Keep Flowpast Branding as a visual reference only; it does not affect execution.
Step 2: Connect the RSS Feed and Sheet Logging
Pull news items from RSS and store the results in Google Sheets for tracking.
- Configure Retrieve RSS Feed with your target RSS URL.
- Use Initial Cap to limit the incoming items before logging.
- Connect Initial Cap to Record News to Sheets to store the selected items.
- Connect Record News to Sheets to Cap Results to enforce an additional cap on processed items.
- Credential Required: Connect your Google Sheets credentials in Record News to Sheets.
⚠️ Common Pitfall: If Record News to Sheets is missing credentials, the workflow will fail before any AI processing begins.
Step 3: Set Up AI Script Generation
The AI stage creates and parses the script that will be used for avatar video generation.
- Connect Cap Results to AI Orchestrator to hand off capped RSS items.
- Ensure Compose Script is connected as the language model for AI Orchestrator via the AI language model connection.
- Connect AI Orchestrator to Parse Captions to transform the AI output.
- Validate the parsing logic in Parse Captions to match the format expected by the avatar generator.
- Credential Required: Connect your OpenAI credentials in Compose Script (used by AI Orchestrator).
Tip: Keep AI prompt updates inside AI Orchestrator and leave Compose Script focused on model settings and credentials.
Step 4: Configure Avatar Video Generation Pipeline
These nodes format inputs, call the avatar API, and wait for the render to complete.
- Connect Parse Captions to Configure Heygen to map the parsed script into the API payload.
- Connect Configure Heygen to Generate Avatar Clip to initiate the render.
- Connect Generate Avatar Clip to Delay Interval to give the rendering service time to process.
- Connect Delay Interval to Fetch Avatar Clip to retrieve the completed video.
⚠️ Common Pitfall: If the render time varies, adjust Delay Interval to avoid fetching before the video is ready.
Step 5: Configure Output and Parallel Logging
Once the avatar clip is fetched, the workflow branches to download and log the output simultaneously.
- Confirm that Fetch Avatar Clip outputs to both Download Rendered Video and Log Video URL to Sheets in parallel.
- Connect Download Rendered Video to Upload to Drive for file storage (note: Upload to Drive is disabled by default).
- Connect Log Video URL to Sheets to store the final URL or metadata.
- Credential Required: Connect your Google Drive credentials in Upload to Drive.
- Credential Required: Connect your Google Sheets credentials in Log Video URL to Sheets.
Tip: If you only need URLs and not files, keep Upload to Drive disabled to reduce execution time.
Step 6: Test and Activate Your Workflow
Run a controlled test to validate all integrations before enabling the workflow for production use.
- Click Execute Workflow from Manual Start Trigger to run a manual test.
- Verify that Retrieve RSS Feed outputs items and that Record News to Sheets writes rows.
- Confirm that AI Orchestrator produces a script, Parse Captions formats it, and Generate Avatar Clip starts rendering.
- Check that Fetch Avatar Clip returns a URL and that Log Video URL to Sheets captures it.
- If needed, enable Upload to Drive and confirm the file appears in Google Drive.
- Turn the workflow Active only after all nodes pass and credentials are verified.
Common Gotchas
- Google Sheets credentials can expire or need specific permissions. If things break, check the connected Google account inside n8n credentials and confirm it still has access to the target spreadsheet.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Frequently Asked Questions
About 45 minutes if your accounts and API keys are ready.
No. You’ll mostly paste credentials and adjust a few fields. The only “code” part is optional, and it’s already provided in the 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 HeyGen plan costs plus AI usage (OpenAI API calls are usually a few cents per script).
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. Set your avatar_id and voice_id in the Configure Heygen node, then adjust the prompt in the Compose Script node so the script matches your tone. Common tweaks include adding a recurring intro line, forcing a shorter runtime, and changing how it references sources (for example, “According to CNN…” vs. a neutral summary).
Most of the time it’s an invalid or expired HeyGen API key in the Configure Heygen step. Double-check that your HeyGen plan supports API access, then confirm the HTTP Request nodes are hitting the right endpoints and that the payload still includes your avatar and voice IDs. If the workflow starts the render but never finds the finished clip, increase the wait time so HeyGen has longer to complete the video.
A lot, as long as you cap your RSS items and your HeyGen plan can keep up. On n8n Cloud, your monthly execution limit depends on the plan, while self-hosting is mainly limited by your server. Practically speaking, teams usually run this in batches (like 5–20 items) to keep review and publishing under control.
Often, yes, because this flow needs polling (wait + re-check), multi-step logging, and a bit of formatting logic for the script. Zapier and Make can do parts of it, but you’ll usually end up paying more once you add loops, delays, and higher task volume. n8n also gives you the self-hosted route, which is handy if you want to run frequent batches without watching task counters. That said, if you only need “RSS → Google Sheets” and nothing else, Zapier is frankly fine. If you’re not sure, Talk to an automation expert and get a straight answer for your use case.
You end up with videos you can actually ship, plus a spreadsheet that tells the truth about what happened. Set it up once, then spend your time on distribution and creative direction instead of tab-hopping.
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.