Templates / Generate AI UGC videos with HeyGen and post to Instagram and Facebook daily

Generate AI UGC videos with HeyGen and post to Instagram and Facebook daily

Ready for 3.0

by Jay Emp0 ✓ · 1,288 views · created 2026-03-23 · Content Creation, Multimodal AI

Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.

Nodes used (8)

Google SheetsOpenAI

What it does

Heygen Viral UGC Generation Stop manually creating short-form video content. This n8n workflow automatically generates AI talking-head UGC videos using HeyGen and publishes them to Instagram and Facebook every single day — fully on autopilot. !Live Instagram Reel - AI Talking Head Published by This Workflow Real reel posted to @pinkmatchaprints — generated and published entirely by this workflow. --- See It In Action: Real Results from Pink Matcha Watch a live reel generated by this workflow See all published reels on @pinkmatchaprints !Published Reels Grid - pinkmatchaprints Instagram Account Every single one of these videos was generated and posted automatically — no recording, no editing, no manual uploading. --- How It Works The workflow runs every day on a schedule. Here's the full pipeline: 1. Picks today's content from a Google Sheet using a day-of-year rotation across all rows marked Idea 2. Randomly selects a HeyGen talking-photo avatar from a pool of 14 for visual variation across posts 3. Generates a 30-second script using GPT-4.1-mini with a warm, spiritual persona called "The Shepherd" 4. Submits to HeyGen API to render a 720x1280 portrait talking-head video 5. Polls HeyGen every 50 seconds (up to 20 times, ~16 min max) until the video is ready 6. Publishes to Instagram and Facebook via upload-post.com with an auto-generated caption 7. Logs every step to a Production Logs Google Sheet — script, video ID, video URL, and status --- What You're Getting AI-Generated Scripts with a Defined Persona The workflow uses GPT-4.1-mini with a custom system prompt called "The Shepherd" — a calm, wise, spiritual guide. Every script is: - 75 to 90 words (~30 seconds when spoken naturally) - Written in warm, grounded, accessible language - Tailored to the specific content section from your workbook - Always ending with: "Visit the link in bio to learn more." A Content Rotation System That Never Repeats Your content pool lives in a Google Sheet. The workflow selects today's section using day-of-year modulo total rows — so it automatically cycles through your content library without manual scheduling. Add more rows to expand the rotation. Full Production Logging Every execution is tracked row by row in a Production Logs sheet. You can see exactly what ran, what script was used, what the HeyGen video ID is, and what the final status is. Async Video Generation with Smart Polling HeyGen renders videos asynchronously. The workflow handles this gracefully — it submits the job, waits, polls the status API, and routes automatically based on the result: - Still processing → waits and retries - Completed → extracts video URL and posts - Failed or timed out → logs the failure reason to the sheet Dual Platform Publishing Videos are published to both Instagram and Facebook in one execution using upload-post.com. The caption is auto-built from the section title and first 100 characters of the script. --- Google Sheets Structure The workflow uses a single Google Sheets workbook with two tabs: Tab 1: Workbook Content Your content pool. The workflow reads from this every day. !Workbook Content Sheet - Content Pool with Section Titles, Key Messages, and Status | Column | Description | |---|---| | sectiontitle | Title used in the video caption and script prompt | | workbookcontent | Full context for the AI to generate the script from | | keymessage | The core takeaway — passed to the AI as emphasis | | Status | Set to Idea to include in rotation. Any other value skips the row. | Tab 2: Production Logs Auto-populated. Do not edit manually. !Production Logs Sheet - Script, HeyGen Video ID, and Status Tracked Per Row | Column | Description | |---|---| | Date | Date the video was generated | | Section Title | Which content section was used | | Script Text | The generated script | | HeyGen Video ID | Used to poll render status | | Raw Video URL | Direct HeyGen video URL | | Final Video URL | Final URL passed to the publishing step | | Status | Lifecycle s

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.