Automate Social Media Video Posting with n8n and Blotato API

Discover how this n8n workflow automates video posting across 9 social platforms including Instagram, YouTube, TikTok, and more. Save hours of manual work by leveraging Google Sheets and Blotato’s API to post videos seamlessly every day at 10 PM.
scheduleTrigger
googleSheets
httpRequest
+2
Workflow Identifier: 1073
NODES in Use: Schedule Trigger, Set, Google Sheets, HTTP Request, Sticky Note

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

1. Opening Problem Statement

Meet Claire, a passionate content creator who manages video posts on nine different social media platforms daily. Every evening, she spends over two hours manually uploading, describing, and scheduling videos separately on Instagram, YouTube, TikTok, Facebook, LinkedIn, Twitter, Threads, Bluesky, and Pinterest. With burning deadlines and the sheer volume of her posts, Claire often misses posting at ideal times, risking reduced engagement and lost opportunities to grow her audience. Not to mention the fatigue and errors caused by repetitive manual uploads.

This workflow tackles her exact struggle: automating video distribution to multiple social media channels simultaneously with precision and minimal manual input.

2. What This Automation Does ⚙️

When triggered daily at 10 PM, this n8n workflow performs the following:

  • Fetches video details including URL, description, and title from a designated Google Sheet.
  • Uploads the video to Blotato’s media hosting platform via HTTP POST.
  • Automatically posts the video with its description to nine social media platforms: Instagram, YouTube, TikTok, Facebook, LinkedIn, Twitter (X), Threads, Bluesky, and Pinterest.
  • Updates the Google Sheet row status to “DONE” once posting is successful, effectively managing publication tracking.
  • Uses Social Media Account IDs stored in the workflow for dynamic API requests without manual input each time.
  • Runs on a schedule ensuring publishing happens consistently every night without manual intervention.

Overall, it saves Claire up to 14+ hours weekly, drastically reducing posting errors and allowing her to focus on content creation.

3. Prerequisites ⚙️

  • n8n automation platform account
    🔌
  • Google Sheets account with relevant sheets containing video data
    📊
  • Blotato API access key for video upload and post distribution
    🔑

4. Step-by-Step Guide to Set Up and Use This Workflow ✏️

Step 1: Schedule Trigger – Set Up a Daily Post Time

In n8n, drag the Schedule Trigger node onto the canvas.

Click on it and navigate to Parameters > Rule > Interval, and set the trigger time to 22:00 (10 PM). This tells the workflow to start at 10 PM daily.

Observe the schedule clearly displayed in the node panel. This node initiates the posting process automatically every day.

Common Mistake: Forgetting to set the correct timezone in n8n settings can cause unexpected trigger times.

Step 2: Get Video Metadata from Google Sheets

Add a Google Sheets node named “Get my video”.

Configure the node to connect to your Google Sheets account using OAuth:

  • Select the spreadsheet containing your daily video data.
  • Select the worksheet/tab that includes the columns for URL, DESCRIPTION, Titre, and row_number.

The node will fetch the next video ready to be posted each day.

Expected Outcome: The workflow receives video details like URL VIDEO, description, and title from the sheet.

Common Mistake: Not sharing the Google Sheet with the connected Google service account or wrong document ID will cause errors.

Step 3: Assign Social Media IDs Using Set Node

Add the Set node labeled “Assign Social Media IDs” right after fetching video data.

Enter the JSON mapping of your social media account IDs exactly like below:

{
  "instagram_id": "111",
  "youtube_id": "222",
  "tiktok_id": "333",
  "facebook_id": "444",
  "facebook_page_id": "555",
  "threads_id": "666",
  "twitter_id": "777",
  "linkedin_id": "888",
  "pinterest_id": "999",
  "pinterest_board_id": "101010",
  "bluesky_id": "111111"
}

This sets the IDs used for HTTP requests to each platform for posting.

Common Mistake: Entering incorrect or missing IDs leads to failed posts.

Step 4: Upload Video to Blotato

Use the HTTP Request node called “Upload Video to Blotato” with the following setup:

  • Method: POST
  • URL: https://backend.blotato.com/v2/media
  • Headers: Add your blotato-api-key under headers
  • Body: JSON containing the video URL field dynamically from the Google Sheet node: {{ $('Get my video').item.json['URL VIDEO'] }}

This node outputs the hosted video URL, used in subsequent posts.

Common Mistake: Missing or invalid API key causes API authentication failure.

Step 5: Post Video to Instagram

Add an HTTP Request node labeled “INSTAGRAM” configured as follows:

  • POST to https://backend.blotato.com/v2/posts
  • Header includes blotato-api-key
  • Body JSON (example):
{
  "post": {
    "accountId": "{{ $('Assign Social Media IDs').item.json.instagram_id }}",
    "target": {"targetType": "instagram"},
    "content": {
      "text": "{{ $('Get my video').item.json.DESCRIPTION }}",
      "platform": "instagram",
      "mediaUrls": ["{{ $json.url }}"]
    }
  }
}

This publishes the video with description on Instagram.

Common Mistake: Incorrect accountId or malformed JSON results in API errors.

Step 6: Post to Remaining Platforms Using HTTP Requests

Each of these nodes (YOUTUBE, TIKTOK, FACEBOOK, THREADS, TWITTER, LINKEDIN, BLUESKY, PINTEREST) is set similarly with their corresponding account IDs and platform details in the POST body JSON.

Note for YouTube, additional fields like privacyStatus and title are included.

Common Mistake: Not including mandatory parameters (e.g., boardId for Pinterest) or misspelling keys.

Step 7: Update Google Sheet Status

Finally, use a Google Sheets node labeled “Google Sheets” with update operation to set the column STATUS to “DONE” in the row where this video was located.

This keeps track of published videos and avoids duplicates.

Common Mistake: Incorrect row_number mapping causes wrong rows to be updated.

5. Customizations ✏️

  • Add More Platforms: Add additional HTTP Request nodes to post to other social media services supported by Blotato API by copying existing node structure and changing accountId and targetType.
  • Schedule Time Change: Modify the Schedule Trigger node hour parameter to post at a different time that fits your audience activity.
  • Dynamic Video Selection: Enhance the Google Sheets query or add conditional filters to pick videos based on tags, themes, or priority instead of simple sequential selection.
  • Add Image Posting: Modify the HTTP request body to support images alongside videos if needed, adjusting platform parameters accordingly.

6. Troubleshooting 🔧

  • Problem: “API key invalid or missing”
    Cause: Headers missing the correct Blotato API key.
    Solution: Re-enter the key in each HTTP Request node header parameters and ensure no extra spaces.
  • Problem: “Row not found or updated” in Google Sheets node
    Cause: The row_number value does not match any row in the sheet.
    Solution: Double-check that the “row_number” column is correctly passed through the workflow and that mapping matches the sheet’s row numbers.
  • Problem: “Malformed JSON” or “400 Bad Request” from Blotato API
    Cause: Incorrect JSON syntax or placeholders not resolved.
    Solution: Use the expressions preview in n8n to verify JSON correctness and test nodes individually.

7. Pre-Production Checklist ✅

  • Ensure Google Sheets access and correct document and sheet IDs.
  • Verify all social media account IDs are up-to-date and valid.
  • Test Blotato API key by manually uploading a video via Postman or similar tools.
  • Run the workflow manually first and watch the data flow through nodes.
  • Confirm the Schedule Trigger time and timezone settings in n8n.
  • Backup your Google Sheet regularly for data integrity.

8. Deployment Guide

Activate the workflow in n8n by toggling the workflow to active status.

Monitor execution logs in n8n for any errors or failed HTTP requests.

Set up n8n to run persistently (via cloud or on a server) to ensure schedule reliability.

If self-hosting, consider solutions like Hostinger for hosting your n8n instance reliably.

9. FAQs

  • Can I use a different video hosting service than Blotato?
    Yes, but you’d need to modify the HTTP Request nodes to match that service’s API.
  • Will this consume API credits?
    Yes, each video upload and post counts toward your Blotato API usage quota.
  • Is my video data safe?
    Blotato uses secure API and HTTPS protocols, but always review their data policies.

10. Conclusion

By implementing this n8n workflow, Claire automated her multi-platform video posting, saving over 14 hours a week and reducing human errors. She no longer worries about missing optimal posting times or repetitive manual uploads.

You’ve learned how to connect Google Sheets, Blotato API, and multiple HTTP Requests in n8n to automate simultaneous video publishing across Instagram, YouTube, TikTok, Facebook, LinkedIn, Twitter, Threads, Bluesky, and Pinterest—all managed through a single, scheduled workflow.

Next, consider extending this automation to include automatic comments tracking or integrate analytics to monitor video performance across platforms.

Let’s keep automating smartly!

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free