🎬 Generate YouTube, Reels, and TikTok scripts from one topic with GPT-4o-mini, Google Sheets, and Gmail

⚑ 223 views · 🎬 Content Creation & Video

πŸ’‘ Pro Tip β€” Since TikTok doesn’t have a public API, getting data usually means fragile HTTP scraping. ScraperNode is a community node that gives you clean JSON for TikTok profiles, videos, and comments β€” drop it into your workflow and skip the parsing.

View All Scrapers

Description

Description

Submit one video topic using a simple form and GPT-4o-mini generates three platform-ready scripts in a single AI call. You get a structured 700–900 word YouTube long-form script, a fast-paced 100–130 word Instagram Reels script with visual cues, and a punchy 50–70 word TikTok script that ends with a comment question. All three scripts are logged to Google Sheets and delivered to your inbox in one email ready to record. Built for content creators, social media managers, and marketing agencies who want to repurpose one topic across three platforms without writing anything manually.


What This Workflow Does


Setup Requirements

Tools Needed

Credentials Required

Estimated Setup Time: 10–15 minutes


Step-by-Step Setup

  1. Import the workflow β€” Open n8n β†’ Workflows β†’ Import from JSON β†’ paste the workflow JSON β†’ click Import

  2. Fill in Config Values β€” Open node 2. Set β€” Config Values β†’ replace all three placeholders:

FieldWhat to enter
PASTE_YOUR_GOOGLE_SHEET_ID_HEREThe ID from your Google Sheet URL (the string between /d/ and /edit)
PASTE_YOUR_EMAIL_HEREThe email address where the three scripts should be sent
PASTE_YOUR_NAME_HEREYour name for the email greeting and sign-off
  1. Connect OpenAI β€” Open node 4. OpenAI β€” GPT-4o-mini Model β†’ click the credential dropdown β†’ add your OpenAI API key β†’ test the connection

  2. Create your Google Sheet tab β€” Open your Google Sheet β†’ add a tab named exactly Video Scripts β†’ add these 9 column headers in row 1: Date, Topic, Platform, Script Length, Hook, Script, CTA, Tags, Submitted By

  3. Connect Google Sheets β€” Open node 7. Google Sheets β€” Log Video Scripts β†’ click the credential dropdown β†’ add Google Sheets OAuth2 β†’ sign in with your Google account β†’ authorize access

  4. Connect Gmail β€” Open node 10. Gmail β€” Send Scripts Email β†’ click the credential dropdown β†’ add Gmail OAuth2 β†’ sign in with the Gmail account that matches your email address β†’ authorize access

  5. Activate the workflow β€” Toggle the workflow to Active β†’ copy the Form URL from node 1. Form β€” Multi-Platform Video Topic β†’ open it in a browser to submit your first topic


How It Works (Step by Step)

Step 1 β€” Form: Multi-Platform Video Topic You open the form URL in a browser and fill in five fields: the video topic, target audience, your niche or industry, tone of voice (optional, defaults to β€œeducational and engaging”), and your name. Submitting the form starts the workflow.

Step 2 β€” Set: Config Values Your Google Sheet ID, recipient email, sender name, and all five form inputs are stored here. Today’s date is auto-generated. Tone of voice defaults to β€œeducational and engaging” if left blank on the form. Your niche is passed to the AI so all three scripts are personalized for your industry.

Step 3 β€” AI Agent: Write 3 Platform Scripts GPT-4o-mini receives the video topic, target audience, niche, and tone. In one call it generates all three scripts simultaneously. The YouTube script is 700–900 words with intro, three main points, and conclusion. The Instagram Reels script is 100–130 words, fast-paced, with visual cues in brackets (e.g. [hold up phone]). The TikTok script is 50–70 words, covers one idea only, and ends with a question for viewers to answer in the comments. Every script includes a hook, full spoken script, platform-specific CTA, and 8 hashtags.

Step 4 β€” OpenAI: GPT-4o-mini Model This is the language model powering the script generation. It runs at temperature 0.7 for natural, varied language and is capped at 2,500 tokens to comfortably fit all three scripts in one response.

Step 5 β€” Parser: Structured Scripts Output This step enforces the exact nested schema GPT-4o-mini must return: a top-level object with three keys (youtube, reels, tiktok), each containing four fields (hook, script, cta, tags). All twelve fields are validated before any logging or emailing begins.

Step 6 β€” Code: Split Scripts for Sheets The three-platform object is converted into three separate rows β€” one for YouTube, one for Instagram Reels, one for TikTok β€” so each can be written to Google Sheets as its own row. An isLastRow flag is set to true only on the TikTok row (the third). The full scripts object is attached to the TikTok row only, so the email builder has all three scripts available when it fires.

Step 7 β€” Google Sheets: Log Video Scripts Each of the three rows is appended to your Video Scripts tab. All 9 columns are populated: date, topic, platform, script length label, hook, full script, CTA, tags as a space-separated hashtag string, and submitter name.

Step 8 β€” IF: All Scripts Logged? After each row is written, this check reads the isLastRow flag. If true (YES path β€” the TikTok row was the last one), the workflow moves to build and send the Gmail. If false (NO path β€” the YouTube or Reels row was just logged), the workflow routes to 11. Set β€” More Scripts and the loop continues to the next row.

Step 9 β€” Code: Build Email The full scripts object (carried on the TikTok row) is used to build one complete email. The body is organized into three clearly labeled sections β€” YOUTUBE, INSTAGRAM REELS, and TIKTOK β€” each with hook, script, CTA, and tags. The email subject includes the video topic and today’s date.

Step 10 β€” Gmail: Send Scripts Email The complete email is sent to your configured address with no attribution footer. All three platform scripts arrive in one clean message organized by section, ready to copy and record.

Step 11 β€” Set: More Scripts This step handles non-final rows (YouTube and Reels) during the logging loop. It sets a brief in-progress message and the loop continues to the next row.


Key Features

βœ… All three scripts in one GPT call β€” One API request generates YouTube, Reels, and TikTok simultaneously β€” faster and cheaper than three separate calls βœ… Visual cues built into the Reels script β€” Instagram Reels includes on-screen action prompts in brackets so you know exactly what to do in front of the camera βœ… TikTok ends with a comment prompt β€” Every TikTok script closes with a specific question designed to drive comments β€” built into the prompt structure, not added manually βœ… Niche personalization across all three β€” Your industry is passed to GPT so the examples, language, and hashtags are relevant to your actual audience on every platform βœ… Gmail fires exactly once β€” The isLastRow flag ensures you receive one email with all three scripts after all three rows are logged β€” never one email per platform βœ… Structured output enforced β€” A nested schema parser validates all 12 fields across three platforms before any logging or emailing begins βœ… Permanent script library in Sheets β€” Every submission adds three rows to your Video Scripts tab β€” over time you build a searchable library of scripts organized by topic and platform βœ… Tone defaults to educational if blank β€” Leaving the Tone of Voice field empty on the form triggers a sensible default instead of failing the workflow


Customisation Options

Add a fourth platform β€” LinkedIn β€” In node 3. AI Agent β€” Write 3 Platform Scripts, edit the prompt to request a fourth platform object with a linkedin key β€” a 150–200 word professional text post β€” and update the schema parser in node 5 to require it.

Change the YouTube script length β€” In node 3. AI Agent β€” Write 3 Platform Scripts, change the youtube script instruction from β€œ700 to 900 words” to a longer or shorter target β€” and update maxTokens in node 4. OpenAI β€” GPT-4o-mini Model from 2500 to accommodate longer output.

Send scripts to a Slack channel β€” After node 10. Gmail β€” Send Scripts Email, add a Slack step that posts the video topic, all three hooks, and a note that scripts are ready to a #content-team channel so your team sees new scripts without checking email.

Log to separate sheet tabs per niche β€” In node 2. Set β€” Config Values, make sheetName dynamic using the niche value (e.g. Video Scripts β€” Legal Marketing) so different niche batches automatically sort into their own dedicated tabs.

Add a Google Docs save for each script β€” After node 7. Google Sheets β€” Log Video Scripts, add a Google Docs create step that saves each platform’s full script as its own document in a Drive folder β€” giving you editable individual files alongside the sheet log.


Troubleshooting

Form submission not starting the workflow:

GPT not returning all three scripts:

Google Sheets not logging all three rows:

Gmail not arriving after all three rows are logged:

Email arrives but scripts are missing or empty:


Support

Need help setting this up or want a custom version built for your team or agency?

πŸ“§ Email: info@isawow.com 🌐 Website: https://isawow.com/

πŸ”— Nodes Used

Google Sheets, Gmail, AI Agent, OpenAI Chat Model, Structured Output Parser, n8n Form Trigger

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup