Auto-Upload Videos from Google Drive to Instagram, TikTok & YouTube with Airtable Tracking

Overview

This workflow automates the entire process of uploading videos from a Google Drive folder to Instagram, TikTok, and YouTube simultaneously. When a new video file is added to a designated Google Drive folder, the workflow automatically extracts the audio, generates an AI-powered description using OpenAI, creates a tracking record in Airtable, uploads the video to all three social platforms via upload-post.com, and updates the Airtable record with status and URLs. It also includes error handling with Telegram notifications.

This is an ideal solution for content creators, social media managers, and marketing teams who need to distribute video content across multiple platforms quickly and consistently while maintaining a centralized tracking system.

Workflow Steps

  1. Google Drive Trigger (OAuth2) — Watches a specific Google Drive folder for new file creation events. Polls every minute to detect newly added videos.

  2. Google Drive (OAuth2) — Downloads the newly detected video file from Google Drive using the file ID provided by the trigger.

  3. Read video from Google Drive (No auth) — Saves the downloaded video file to the local filesystem with its original filename (spaces replaced by underscores).

  4. Get Audio from Video (OpenAI API Key) — Sends the video file to OpenAI's Whisper model to transcribe the audio into text. This transcription is used to generate a context-aware description.

  5. Generate Description for Videos (OpenAI API Key) — Uses GPT-4o to create an engaging social media description based on the audio transcription and example descriptions provided in the system prompt. The model is instructed to reply only with the description text.

  6. Set Variables (No auth) — Defines three key configuration variables:

    • airtable_app_id: Your Airtable base ID
    • airtable_table_id: Your Airtable table ID
    • upload_post_user: Your upload-post.com username
  7. Create Airtable Record (Airtable Token API) — Creates a new record in Airtable with the video name field to track the upload process.

  8. Edit Airtable Fields1 (No auth) — Prepares data for updating the Airtable record with the generated description, original video name, Google Drive link, and current upload date.

  9. Update Airtable with Description (Airtable Token API) — Updates the Airtable record with the description, video name, Google Drive links, and upload date.

  10. Read Video for TikTok (No auth) — Reads the saved video file from disk for TikTok upload.

  11. Read Video for Instagram (No auth) — Reads the saved video file from disk for Instagram upload.

  12. Read Video for YouTube (No auth) — Reads the saved video file from disk for YouTube upload.

  13. Upload Video to TikTok (Header Auth — API Key) — Sends a multipart/form-data POST request to upload-post.com API with the video, generated description (as title), platform set to "tiktok", and the configured user.

  14. Upload Video to Instagram (Header Auth — API Key) — Same as above but with platform set to "instagram".

  15. Upload Video to YouTube (Header Auth — API Key) — Same as above but with platform set to "youtube" and title truncated to 70 characters.

  16. Edit Airtable Fields (No auth) — Prepares TikTok upload results (success status and URL) for Airtable update.

  17. Edit Airtable Fields 2 (No auth) — Prepares Instagram upload results for Airtable update.

  18. Edit Airtable Fields 3 (No auth) — Prepares YouTube upload results for Airtable update.

  19. Update TikTok Status (Airtable Token API) — Updates the Airtable record with TikTok upload status and URL.

  20. Update Instagram Status (Airtable Token API) — Updates the Airtable record with Instagram upload status and URL.

  21. Update YouTube Status - Success (Airtable Token API) — Updates the Airtable record with YouTube upload status and URL.

  22. Error Trigger (No auth) — Catches any errors that occur during workflow execution.

  23. If (No auth) — Checks if the error message does NOT contain "The DNS server returned an error" to avoid spamming on transient network issues.

  24. Telegram (Bot Token) — Sends an error notification message to a configured Telegram chat if a non-DNS error occurs.

Setup Instructions

Required Accounts & Services

  1. Google Drive — You need a Google account with access to the folder you want to watch. Create OAuth2 credentials in Google Cloud Console.

  2. OpenAI — Sign up at platform.openai.com and create an API key. Ensure you have billing enabled for GPT-4o and Whisper API access.

  3. Airtable — Create an Airtable account and set up a base with a table containing these fields:

    • Video Name (single line text)
    • Google Drive Links (URL)
    • File ID (text)
    • Instagram Status (text)
    • TikTok Status (text)
    • YouTube Status (text)
    • Upload Date (date)
    • Description (long text)
    • Instagram URL (URL)
    • Tiktok URL (URL)
    • Youtube URL (URL)
  4. upload-post.com — Create an account and generate an API token. This service handles the actual posting to social media platforms.

  5. Telegram (optional) — Create a Telegram bot via @BotFather and get the bot token and chat ID for error notifications.

Configuration Steps

  1. In the Set Variables node, replace:

    • add_airtable_app_id with your Airtable base ID
    • add_airtable_table_id with your Airtable table ID
    • test2 with your upload-post.com username
  2. Configure the Google Drive Trigger to watch your desired folder.

  3. Add your OpenAI API key as a credential for the two OpenAI nodes.

  4. Add your Airtable token as a credential for the Airtable nodes.

  5. Add your upload-post.com API token as a Header Auth credential (Authorization: Apikey YOUR_TOKEN).

  6. Optionally configure the Telegram node with your bot token and chat ID.

Use Cases & Variations

Primary Use Case

  • Content Repurposing: Automatically distribute video content across multiple social platforms from a single Google Drive upload.

Adaptations

  1. Different Platforms: Modify the platform[] parameter in the HTTP Request nodes to support other platforms supported by upload-post.com (e.g., Facebook, LinkedIn, Pinterest).

  2. Custom Descriptions: Edit the OpenAI system prompt and examples in the Generate Description for Videos node to match your brand voice or target different audiences.

  3. Scheduling: Replace the Google Drive Trigger with a Schedule Trigger to process videos on a regular basis (e.g., daily at 10 AM).

  4. Approval Workflow: Add a manual approval step before uploading to social media by inserting a Wait node or using n8n's approval workflow feature.

  5. Thumbnail Generation: Add a node to generate video thumbnails using an image generation API before uploading.

  6. Multi-language Support: Modify the OpenAI prompt to generate descriptions in different languages based on the video content or target audience.

  7. Analytics Dashboard: Connect the Airtable base to a dashboard tool like Google Data Studio or Metabase to track upload performance across platforms.

25 nodesmanual triggerSocial Media
SetGoogle DriveAirtableTelegramIFSticky NoteOpen AIWrite Binary File

Workflow JSON

{
  "id": "cbeBbWowy2c7CXli",
  "meta": {
    "instanceId": "3378b0d68c3b7ebfc71b79896d94e1a044dec38e99a1160aed4e9c323910fbe2",
    "templateId": "2894",
    "templateCredsSetupCompleted": true
  },
  "name": "From Google Drive to Instagram, TikTok & YouTube with Airtable Tracking",
  "tags": [],
  "nodes": [
    {
      "id": "b8885dc4-76bc-4b56-9c4e-0d731a7f3ed5",
      "name": "Set Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        -1360,
        420
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "cd270863-aa35-418c-a0ae-1b5878eee2ed",
              "name": "airtable_app_id",
              "type": "string",
              "value": "add_airtable_app_id"
            },
            {
              "id": "00ef91b2-8a4c-42bb-a46f-f7eb06e861e8",
              "name": "airtable_table_id",
              "type": "string",
              "value": "add_airtable_table_id"
            },
            {
              "id": "21b5d3ad-ff81-407e-8c4e-53bda8a16e0e",
              "name": "upload_post_user",
              "type": "string",
              "value": "test2"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "d2c433ef-4270-421c-888b-799aff78ed4e",
      "name": "Google Drive Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
// ... truncated (copy to see full JSON)

How to Import This Workflow

  1. 1Copy the workflow JSON above using the Copy Workflow JSON button.
  2. 2Open your n8n instance and go to Workflows.
  3. 3Click Import from JSON and paste the copied workflow.

Don't have an n8n instance? Start your free trial at n8nautomation.cloud

Related Templates

AI Viral Video Creator from Telegram with Voice & Multi-Platform Posting

🚀 Automatically Generate and Publish Viral TikTok-Style Videos from a Simple Telegram Message This workflow transforms a single Telegram message containing a photo and a theme (caption) into a fully-produced, AI-generated talking-head video optimized for viral social media content. It leverages Perplexity for trend research, OpenAI GPT-4 for script and caption generation, ElevenLabs for realistic voice synthesis, and FAL.ai's VEED Fabric model to create a lip-synced avatar video from the photo. The final video, along with an engaging caption and relevant hashtags, is saved to Google Sheets for tracking and then automatically published to up to nine social media platforms—TikTok, YouTube, Instagram, LinkedIn, Facebook, Twitter (X), Threads, Pinterest, and Bluesky—via the Blotato integration. This is an end-to-end content creation pipeline perfect for creators, marketers, and businesses who want to maintain a consistent, high-frequency posting schedule without manual video editing. It reduces the time from idea to published video to under 5 minutes. 📋 Node-by-Node Breakdown Telegram Trigger (Telegram Bot Token) — Listens for incoming messages containing a photo and caption. The trigger activates on updates. No additional filtering is applied; every photo with a caption will start the workflow. Workflow Configuration (No auth) — A static Set node that stores API keys and configuration values (ElevenLabs API key, voice ID, FAL API key, and the Perplexity model name) as workflow variables for easy maintenance. Extract Photo and Theme (No auth) — Extracts the largest photo file ID from the Telegram message and the caption (or text) as the theme. Falls back to "viral content" if no caption is provided. Get Photo File from Telegram (Telegram Bot Token) — Uses the Telegram Bot API to download the photo file specified by the file ID extracted in the previous step. Build Public Image URL (No auth) — Uploads the downloaded photo to to obtain a publicly accessible URL. This URL is later used by FAL.ai's VEED Fabric model. Search Trends with Perplexity (Perplexity API key) — Sends a query to Perplexity AI asking for the top 3 current viral trends related to the user's theme. The model is configured dynamically from the workflow configuration node. Generate Script with GPT-4 (OpenAI API key) — Uses OpenAI GPT-4o-mini to generate a 30-second TikTok script based on the trends found by Perplexity and the original theme. The prompt enforces a hook in the first 2 seconds and conversational tone. ElevenLabs Voice Synthesis (API key in header) — Sends the generated script to ElevenLabs' text-to-speech API with the configured voice ID, producing an MP3 audio file. Uses header for authentication. Convert .mpga to .mp3 (No auth) — A JavaScript Code node that renames the binary audio file from to and sets the correct MIME type, ensuring compatibility with downstream nodes. Upload Audio to Public URL (No auth) — Uploads the MP3 audio to to make it publicly accessible for FAL.ai. FAL.ai Video Generation (API key in header) — Sends a request to FAL.ai's VEED Fabric 1.0 endpoint with the public image URL and audio URL to generate a talking-head lip-sync video at 480p resolution. Authentication uses the header with the FAL API key. Wait for VEED (No auth) — A Wait node that pauses execution for 10 minutes to allow the video generation to complete. The node uses polling via webhook (not active here) but is configured as a timed wait. Download VEED Video (API key in header) — Periodically queries the FAL.ai request status endpoint (using the request ID from the generation response) to retrieve the completed video URL. Generate Caption with GPT-4 (OpenAI API key) — A second OpenAI node that creates an engaging TikTok caption with trending hashtags based on the same theme and trends. Outputs only the caption text. Save to Google Sheets (Google Sheets OAuth2) — Appends a new row to a Google Sheet with columns: IDEA (original theme), CAPTION, AUDIO URL, IMAGE URL, VIDEO URL. The sheet and document ID are expected to be configured via resource locator or expression. Send a video (Telegram Bot Token) — Sends the generated video back to the original Telegram chat as a confirmation. Upload Video to BLOTATO (Blotato API key) — Uploads the video file to Blotato's media storage, obtaining a hosted URL for distribution. TikTok / YouTube / LinkedIn / Facebook / Instagram / Twitter (X) / Threads / Bluesky / Pinterest (Blotato API key) — Nine parallel Blotato nodes that each publish the video to their respective social media accounts. Each node uses pre-configured account IDs (list mode) and the generated caption. YouTube optionally sets the video to "private" and disables subscriber notifications. Merge1 (No auth) — A Choose Branch merge node that waits for all nine social media publishing branches to complete before continuing. Update Status to "DONE" (Google Sheets OAuth2) — Updates the corresponding row in the Google Sheet (matched by video URL) to set the STATUS column to "DONE". 🔧 Setup Instructions To use this workflow, you'll need the following accounts and API keys: Telegram — Create a bot via @BotFather and get the bot token. Use it in the Telegram Trigger and Telegram nodes. ElevenLabs — Sign up at elevenlabs.io, generate an API key, and clone or select a voice. Note the Voice ID. FAL.ai — Sign up at fal.ai, create an API key from the dashboard. The workflow uses the VEED Fabric 1.0 model – no separate VEED subscription is needed. Perplexity AI — Sign up at perplexity.ai, get an API key from settings. OpenAI — Sign up at platform.openai.com, create an API key with access to GPT-4o-mini. Google Sheets — Create a Google Sheet with the required columns (IDEA, URL IMAGE, URL AUDIO, URL VIDEO, CAPTION, STATUS). Set up Google Sheets OAuth2 credentials in n8n. Blotato — Sign up at blotato.com, get an API key from settings. Install the community node in n8n (Settings → Community Nodes). Connect each social media account within Blotato to obtain account IDs. tmpfiles.org — No account required; the service is used for temporary file hosting. After obtaining all keys, update the Workflow Configuration node with your values and configure credentials for each API node (Telegram, Perplexity, OpenAI, Google Sheets, Blotato). The sticky notes in the canvas provide step-by-step visual guidance. 💡 Use Cases & Variations Content Repurposing: The workflow can be adapted to repurpose a blog post or article into a short video by feeding the text as a theme. Brand Voice: Customize the ElevenLabs voice to match your brand's tone. Trend-Driven Campaigns: Use Perplexity with different prompts to focus on niche topics (e.g., "tech startups", "healthy recipes"). Platform-Specific Formatting: Modify the caption generation prompt to include platform-specific elements (e.g., LinkedIn professional tone, Twitter character limit). Scheduling: Add a Schedule Trigger to run the workflow periodically with pre-defined themes from a spreadsheet instead of Telegram. Analytics: Extend the Google Sheet with additional columns for engagement metrics by integrating with social media analytics APIs. This workflow is fully modular; you can remove any of the Blotato publishing nodes if you only need specific platforms.

35 nodes

Generate Videos & Carousels with Blotato, Publish to Instagram & TikTok

Overview This workflow creates a fully autonomous AI-powered social media content pipeline. It listens for incoming Telegram messages containing a public URL (YouTube video, article, Instagram post, etc.) and a target platform (Instagram or TikTok). The AI agent then extracts the content, generates a custom visual using Blotato's AI tools, waits for the visual to be fully rendered, publishes it to the specified social media account, and finally sends a confirmation message back to the user on Telegram. This eliminates the manual work of content repurposing, design, and cross-platform posting. This is ideal for content creators, marketers, and businesses who want to repurpose long-form content into short-form social media posts automatically. The AI handles the entire decision-making and execution process, making it a true "set and forget" automation. Workflow Steps Telegram Trigger (No auth) — Listens for incoming Telegram messages. Configured to capture all updates. This is the entry point; the user sends a URL and a platform request (e.g., "Post this YouTube video to Instagram"). Social Media Autopilot (AI Agent, uses OpenAI & Blotato tools) — The core AI agent. It receives the Telegram message text and uses a detailed system prompt to orchestrate the entire pipeline. It decides which tools to call and in what order. The agent uses: - OpenAI ChatGPT (API Key auth) — The language model powering the agent's reasoning. Uses model. - Simple Memory (No auth) — A buffer memory that stores the last 35 conversation turns, allowing the agent to maintain context across multiple tool calls (e.g., polling for status). Create source (Blotato API Key auth) — Takes the extracted URL from the user's message and creates a content source in Blotato. This fetches and processes the content from the URL (e.g., extracts article text, video transcript). Get source (Blotato API Key auth) — Polls the source created in step 3 until its becomes . This ensures the content is fully extracted before proceeding. Create visual - tweet card carousel (Blotato API Key auth) — Used when the target platform is Instagram. Generates a carousel of tweet-style quote cards using a predefined template. Configured with a default profile image, author name, and handle. Create visual - AI image video (Blotato API Key auth) — Used when the target platform is TikTok. Generates an AI-powered video with scenes, voiceover, and captions. Configured with a deep American voice (Brian) and the Recraft v3 AI image model. Get visual (Blotato API Key auth) — Polls the visual generation job until its is exactly . This is critical to ensure the media is fully rendered before publishing. Post to Instagram (Blotato API Key auth) — Publishes the generated carousel to the connected Instagram account (). Uses the media URLs from the completed visual. Post to TikTok (Blotato API Key auth) — Publishes the generated video to the connected TikTok account (). Uses the media URL from the completed visual. Send notification (Telegram Bot Token auth) — Sends a confirmation message back to the original Telegram chat, confirming successful publication (e.g., "✅ Published successfully on Instagram."). Setup Instructions To use this workflow, you will need: n8n instance — Self-hosted or cloud (n8n.cloud). Blotato account — Sign up at blotato.com and get your API key. Connect your Instagram and TikTok accounts inside Blotato. Telegram Bot — Create a bot via @BotFather and get the bot token. This is used for both the trigger and the notification. OpenAI API key — Required for the AI agent. Get one from platform.openai.com. Configuration steps: Import the workflow JSON into n8n. Add your Blotato API credentials as a credential of type "Blotato API". Add your OpenAI API key as a credential of type "OpenAI". Add your Telegram Bot token as a credential of type "Telegram Bot API". In the Post to Instagram and Post to TikTok nodes, select the correct Blotato-connected accounts from the dropdown. Activate the workflow. Use Cases & Variations Content Repurposing: Automatically turn YouTube videos into TikTok clips or blog posts into Instagram carousels. Multi-Platform Posting: Extend the workflow to post to other platforms like LinkedIn, Facebook, or Twitter by adding more Blotato post nodes. Scheduled Digests: Replace the Telegram trigger with a Schedule trigger to automatically process a list of URLs from a Google Sheet or RSS feed. Brand Customization: Modify the carousel template ID and video settings (voice, model, colors) to match your brand guidelines. Approval Workflow: Add a manual approval step (e.g., a Slack message with buttons) before publishing, giving you control over what goes live.

13 nodes

Low Cost AI Videos with Veo3 Fast for YouTube/TikTok

AI Video Generation & Social Media Upload Workflow This workflow automates the process of generating AI-powered videos using Google's Veo3 Fast model, saving them to Google Drive, generating SEO-optimized titles with GPT-4o, and automatically uploading them to YouTube and TikTok. It's designed for content creators, marketers, and social media managers who want to streamline their video production pipeline from a single Google Sheet interface. The workflow is triggered by a Google Sheet that acts as a central command center. You simply add your video prompts and desired durations to the sheet, and the workflow handles everything else — from video generation to multi-platform publishing. This eliminates manual downloading, renaming, and uploading steps, saving hours of repetitive work. Node-by-Node Breakdown When clicking 'Test workflow' (Manual Trigger) — No auth. Starts the workflow manually for testing purposes. Useful for initial setup and debugging. Schedule Trigger — No auth. Runs the workflow on a recurring schedule. Currently configured to run every 5 minutes (interval-based on minutes). Get new video (Google Sheets) — OAuth2 (Google). Reads rows from a Google Sheet where the "VIDEO" column is empty, indicating new video requests. The sheet must have columns: PROMPT, DURATION, VIDEO, YOUTUBEURL, and rownumber. Set data (Set) — No auth. Combines the PROMPT and DURATION fields from the sheet into a single prompt string that will be sent to the AI video generation API. Create Video (HTTP Request) — Header Auth (Authorization: Key YOURAPIKEY). Sends a POST request to the Veo3 Fast API endpoint () with the combined prompt as JSON body. Returns a for polling. Wait 60 sec. (Wait) — No auth. Pauses execution for 60 seconds to allow the video generation to complete before checking status. Get status (HTTP Request) — Header Auth (same as above). Polls the Veo3 Fast API status endpoint using the from step 5 to check if video generation is complete. Completed? (IF) — No auth. Checks if the status returned is "COMPLETED". If yes, proceeds to fetch the video URL. If not, loops back to wait another 60 seconds and check again. Get Url Video (HTTP Request) — Header Auth (same as above). Once completed, fetches the full video details including the download URL from the Veo3 API. Generate title (OpenAI) — API Key auth (OpenAI). Uses GPT-4o-mini to generate an SEO-optimized YouTube title (max 60 characters) based on the original prompt. The AI is instructed to match the language of the input and output only the title. Get File Video (HTTP Request) — No auth. Downloads the actual video file from the URL provided by Veo3. This binary data is used for uploading. Upload Video (Google Drive) — OAuth2 (Google). Uploads the downloaded video file to a specified Google Drive folder (named with timestamp + original filename). Update result (Google Sheets) — OAuth2 (Google). Updates the original Google Sheet row with the video URL from Veo3 in the "VIDEO" column. HTTP Request (Upload to YouTube) — Header Auth (Authorization: Apikey YOURAPIKEY). Uploads the video to YouTube via the Upload-Post API. Sends multipart form data including the title (from GPT-4o), username, platform (youtube), and the video binary. Update Youtube URL (Google Sheets) — OAuth2 (Google). Updates the same Google Sheet row with the YouTube video URL in the "YOUTUBE_URL" column. Upload on TikTok (HTTP Request) — Header Auth (same as Upload-Post). Uploads the same video to TikTok via the Upload-Post API, using the same title and username but with platform set to "tiktok". Setup Instructions Google Services: You need a Google Cloud project with the Sheets API and Drive API enabled. Create OAuth2 credentials and connect them in n8n. Fal.ai Account: Sign up at fal.ai to get an API key. In the HTTP Request nodes (Create Video, Get status, Get Url Video), set Header Auth with Name: and Value: . OpenAI Account: Get an API key from OpenAI. Connect it in the Generate title node. Upload-Post Account: Sign up at Upload-Post (free plan includes 10 uploads/month). Get your API key from Manage API Keys. Set Header Auth with Name: and Value: . Create a profile and use its username in the field. Google Sheet: Create a copy of this template. Add your prompts and durations. Leave the VIDEO and YOUTUBE_URL columns empty. Use Cases & Variations Content Repurposing: Modify the workflow to generate videos from blog posts or articles by adding an HTTP Request node to fetch content first. Multi-Language Support: The GPT-4o prompt already generates titles in the same language as the input. You can extend this to translate prompts before video generation. Additional Platforms: Add more HTTP Request nodes to upload to Instagram, Facebook, or LinkedIn using the same Upload-Post API (just change the parameter). Scheduling: Instead of running every 5 minutes, you could trigger the workflow via webhook from a form submission (e.g., Typeform or Google Forms). Thumbnail Generation: Add a node to generate video thumbnails using DALL-E or another image generation API before uploading. Analytics Tracking: After upload, add nodes to fetch video analytics from YouTube API and log them back to the Google Sheet.

23 nodes

Ready to automate with n8n?

Get affordable managed n8n hosting with 24/7 support.