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-keyunder 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!