🚀 appdiscoverability.com is live!
Ghost Team Logo

Get Instant Access

Enter your email to read the full resource and access all our free content.

By signing up, you'll also join our newsletter. We'll occasionally send you updates, tips, and other useful resources. You can unsubscribe any time.

n8n
Content Repurposing
LinkedIn
X
YouTube
Newsletter

MultiPlatform Content Repurposing: Complete Workflow & Guide

MultiPlatform Content Repurposing: Complete Workflow & Guide

Introduction

Transform YouTube Transcripts into LinkedIn, X, and Newsletter Content

About This Guide

This workflow transforms YouTube transcripts into multi-platform content including LinkedIn posts, X (Twitter) threads, and newsletter title ideas. It uses AI agents with custom training materials to maintain consistent brand voice across all platforms, automatically saving outputs to Airtable for content management.

Files & Documents

Files & Documents

Why You'll Want This

Why You'll Want This

  • ✅ Repurpose one piece of content across three platforms simultaneously
  • ✅ Maintain consistent brand voice using custom training materials
  • ✅ Generate both long-form and short-form X content automatically
  • ✅ Store all content drafts in Airtable for easy review and scheduling

What You'll Need to Run It

What You'll Need To Run It

  • n8n Account: To set up and manage the workflow
  • OpenRouter Account: API access for Gemini
  • Google Account: Access to Google Docs for training materials
  • Airtable Account: For storing generated content outputs

Content Repurpose Workflow

Content Repurpose Workflow

1️⃣ Manual Trigger (Node: n8n-nodes-base.manualTrigger)

Function: Initiates the workflow when you click "Execute workflow" in n8n.

Setup:

  • No configuration required
  • Simply click to run after pasting your transcript

2️⃣ Edit Fields - YouTube Transcript (Node: n8n-nodes-base.set)

Function: Stores the YouTube transcript as a variable for use across all generation branches.

Setup:

  • Create a field named "Youtube Transcript"
  • Paste your full transcript into the value field
  • This feeds into all three content generation paths simultaneously

3️⃣ LinkedIn Generation (Node: @n8n/n8n-nodes-langchain.agent)

Function: Creates multiple LinkedIn posts from the transcript using brand voice training.

Setup:

  • Set "Prompt Type" to "define"
  • Configure the prompt to:
    • Analyze the transcript for key topics
    • Reference training materials for voice consistency
    • Generate 3-7 posts covering different angles
  • Enable the output parser for structured JSON output
  • Set retry on fail with max 5 tries

Prompt Guidelines:

  • Include writing style patterns (e.g., "So..." openings, lowercase tone)
  • Specify formatting rules (arrows, emojis, word count targets)
  • Define content themes and hook patterns
  • Request JSON output with: hook, body, topic, estimated_engagement

4️⃣ X Generation (Node: @n8n/n8n-nodes-langchain.agent)

Function: Creates both long-form threads and short standalone X posts from the transcript.

Setup:

  • Set "Prompt Type" to "define"
  • Configure the prompt to generate two content types:
    • Long-form: 2-4 thread-starters (3-5 tweets each)
    • Short-form: 8-12 standalone posts
  • Enable the output parser for structured JSON output
  • Set retry on fail with max 5 tries

Prompt Guidelines:

  • Adapt LinkedIn style for X's faster pace
  • Maintain conversational tone and specific metrics
  • Keep tweets under 280 characters
  • Request JSON output with: type, content, topic, thread_count

5️⃣ Newsletter Generation (Node: @n8n/n8n-nodes-langchain.agent)

Function: Generates compelling newsletter title and subtitle combinations from the transcript.

Setup:

  • Set "Prompt Type" to "define"
  • Configure the prompt to create 5-7 title combinations
  • Enable the output parser for structured JSON output
  • Set retry on fail with max 5 tries

Prompt Guidelines:

  • Create curiosity-driven titles (5-8 words)
  • Include descriptive subtitles (8-15 words)
  • Specify key angle and rationale for each
  • Request JSON output with: title, subtitle, key_angle, rationale

6️⃣ Chat Model (Node: @n8n/n8n-nodes-langchain.lmChatOpenRouter)

Function: Provides the AI model for content generation across all three branches.

Setup:

  • Select model: Claude Sonnet 4.5 (or your preferred model)
  • Configure with your API credentials
  • Each generation branch requires its own Chat Model node

Note: You can substitute with direct Anthropic API access if preferred.

7️⃣ Training Material Tools (Node: n8n-nodes-base.googleDocsTool)

Function: Provides reference documents so the AI can match your exact writing style and voice.

Setup:

  • Set "Operation" to "get"
  • Enter the URL of your Google Doc containing:
    • Writing style analysis
    • Post type taxonomy
    • Engagement patterns
    • Voice guidelines
  • Connect to the relevant AI Agent node

Recommended Training Docs:

  • Content analysis of your past posts
  • Post type breakdown with examples
  • Platform-specific adaptation strategies

8️⃣ Structured Output Parsers (Node: @n8n/n8n-nodes-langchain.outputParserStructured)

Function: Ensures AI outputs valid JSON that can be processed by downstream nodes.

Setup for LinkedIn Parser:

json

{ "type": "object", "properties": { "posts": { "type": "array", "items": { "type": "object", "properties": { "hook": { "type": "string" }, "body": { "type": "string" }, "topic": { "type": "string" }, "estimated_engagement": { "type": "string", "enum": ["low", "medium", "high"] } }, "required": ["hook", "body", "topic", "estimated_engagement"] } } }, "required": ["posts"] }

Setup for X Parser:

json

{ "type": "object", "properties": { "posts": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["long", "short"] }, "content": { "type": "string" }, "topic": { "type": "string" }, "thread_count": { "type": "number" } }, "required": ["type", "content", "topic", "thread_count"] } } }, "required": ["posts"] }

Setup for Newsletter Parser:

json

{ "type": "object", "properties": { "ideas": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "subtitle": { "type": "string" }, "key_angle": { "type": "string" }, "rationale": { "type": "string" } }, "required": ["title", "subtitle", "key_angle", "rationale"] } } }, "required": ["ideas"] }

  • Enable "Auto Fix" to handle minor JSON formatting issues

9️⃣ Split Out Nodes (Node: n8n-nodes-base.splitOut)

Function: Separates the array of generated posts into individual items for database storage.

Setup:

  • LinkedIn Split: Set "Field to Split Out" to output.posts
  • X Split: Set "Field to Split Out" to output.posts
  • Newsletter Split: Set "Field to Split Out" to output.ideas

🔟 Airtable Storage (Node: n8n-nodes-base.airtable)

Function: Saves all generated content to Airtable tables for review and scheduling.

Setup for LinkedIn Table:

  • Set "Operation" to "upsert"
  • Create columns: Topic, Hook, Body, Estimated Engagement
  • Map fields from the split output
  • Set "Topic" as the matching column

Setup for X Table:

  • Set "Operation" to "upsert"
  • Create columns: Topic, Type, Content, Thread Count
  • Map fields from the split output
  • Set "Topic" as the matching column

Setup for Newsletter Table:

  • Set "Operation" to "upsert"
  • Create columns: Title, Subtitle, Key Angle, Rationale
  • Map fields from the split output
  • Set "Title" as the matching column

Workflow Architecture

Manual Trigger │ ▼ YouTube Transcript (Edit Fields) │ ├─────────────────┼─────────────────┐ ▼ ▼ ▼ LinkedIn Gen X Gen Newsletter Gen │ │ │ ▼ ▼ ▼ Split Out Split Out Split Out │ │ │ ▼ ▼ ▼ LinkedIn Table X Table Newsletter Table

What You'll Get

What You Get

This workflow yields organized content ready for each platform:

  • 3-7 LinkedIn posts with hooks, bodies, and engagement predictions
  • 2-4 X thread starters for long-form content
  • 8-12 standalone X posts for quick engagement
  • 5-7 newsletter title/subtitle combinations with strategic rationale

Benefits:

  • Single transcript creates weeks of content
  • Consistent voice across all platforms
  • Content stored and organized in Airtable
  • Ready for review, editing, and scheduling

Customization Tips

To use your own voice:

Create a Google Doc analyzing 50+ of your past posts

Link this doc to each AI Agent's training material tool

To add more platforms:

Duplicate an existing generation branch

Modify the prompt for the new platform's requirements

Create a new output parser schema

Add a new Airtable table

Get Help & Support

Get Help & Support

Need guidance? Contact us:

  • LinkedIn: https://www.linkedin.com/in/elliotgarreffa/
  • X (Twitter): https://x.com/elliot_garreffa

Interested in scaling your business?

Build AI growth systems.

Book a call: https://www.ghostteam.ai/begin

Ready to build your MCP App?

Book a strategy call with our team to understand what ChatGPT & Claude Apps can mean for your business