n8n TikTok Automation: Complete No-Code Guide 2026
n8n has exploded in popularity — searches are up 320% as teams look for self-hosted alternatives to Zapier and Make. But there's a problem: n8n doesn't have an official TikTok node. If you've been searching for n8n TikTok automation, you've probably hit a wall.
This guide solves that. You'll learn how to build no-code TikTok bots using n8n's HTTP Request node with Postqued's API. By the end, you'll have automated workflows that post to TikTok from Google Sheets, RSS feeds, webhooks, and even AI-generated content pipelines.
What You'll Build
- Scheduled TikTok posting — Set up cron-based workflows
- Bulk uploads from spreadsheets — Post directly from Google Sheets
- RSS-to-TikTok automation — Auto-post new content from feeds
- AI content pipelines — Generate captions and post automatically
- Multi-platform workflows — Post to multiple accounts simultaneously
Prerequisites
Before building your n8n TikTok integration, you'll need:
- n8n instance — n8n Cloud (easiest) or self-hosted
- Postqued account — Sign up free
- Connected TikTok account — Link in your Postqued dashboard
- Postqued API key — Generate in Settings → API Keys
- Video files — Content ready for posting
Step 1: Set Up n8n
Option A: n8n Cloud (Recommended for Beginners)
- Visit n8n.io/cloud and create an account
- Choose a plan (free tier available with execution limits)
- Your instance URL will be something like
yourname.n8n.cloud
Pros: No server management, automatic updates, hosted HTTPS
Cons: Execution limits on free tier, less control
Option B: Self-Hosted (Docker)
For unlimited executions and full control:
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
Access at http://localhost:5678. For production, use Docker Compose with persistent storage and reverse proxy.
Pros: Unlimited executions, data privacy, custom nodes
Cons: Requires server management, SSL setup
Step 2: Create Your First Workflow
- Open n8n and click Add Workflow
- Name it:
TikTok Auto Poster - Click Save (Ctrl+S)
This workflow will demonstrate the core n8n social media workflow pattern: trigger → process → post.
Basic Workflow Structure
Your n8n workflow to post TikTok follows this pattern:
[Trigger] → [Prepare Data] → [Upload Video] → [Publish to TikTok] → [Log Result]
Step 3: Add the HTTP Request Node for Postqued API
Since there's no official TikTok node, we use the HTTP Request node — n8n's most powerful feature for API integrations.
Configure Authentication
First, create a credential for your Postqued API key:
- Click the key icon in the top right → Create New Credential
- Select Header Auth
- Name:
Postqued API - Header Name:
Authorization - Value:
Bearer pq_your_api_key_here - Click Save
Tip: Store your API key in n8n credentials, never hardcode it in nodes. This enables secure sharing and environment-specific configs.
Test the Connection
Add an HTTP Request node to verify authentication:
- Drag HTTP Request onto the canvas
- Configure:
- Method: GET
- URL:
https://api.postqued.com/v1/platform-accounts - Authentication: Header Auth →
Postqued API
- Click Test Step
You should see your connected TikTok accounts in the response. If you get a 401 error, check your API key.
Step 4: Build the Upload Workflow
Now let's create a complete n8n TikTok automation that uploads a video and schedules it for posting.
Node 1: Trigger (Manual)
- Add When clicking 'Test workflow' trigger
- Add sample data in JSON:
{
"filename": "my-video.mp4",
"caption": "Automated via n8n! #automation #n8n",
"scheduleTime": "2026-03-15T14:00:00Z"
}
Node 2: Request Upload URL
Add an HTTP Request node:
- Name: Get Upload URL
- Method: POST
- URL:
https://api.postqued.com/v1/content/upload - Authentication: Postqued API
- Headers:
Content-Type:application/json
- Body: JSON
{
"filename": "{{ $json.filename }}",
"contentType": "video/mp4",
"fileSize": 5242880
}
Important: Set fileSize to your actual file size in bytes. The example is ~5MB.
Node 3: Upload File
This node uploads the actual video file to the presigned URL:
- Name: Upload Video File
- Method: PUT
- URL:
{{ $json.upload.url }} - Authentication: None (presigned URL is pre-authenticated)
- Headers:
Content-Type:video/mp4
- Body: Binary Data
- Binary Property:
data(you'll set this via file input)
Note: For testing, manually upload a file and reference its binary property. In production, this connects to Google Drive, Dropbox, or S3 triggers.
Node 4: Confirm Upload
- Name: Confirm Upload
- Method: POST
- URL:
https://api.postqued.com/v1/content/upload/complete - Authentication: Postqued API
- Body: JSON
{
"contentId": "{{ $('Get Upload URL').item.json.contentId }}",
"key": "{{ $('Get Upload URL').item.json.upload.fields.key }}",
"filename": "{{ $json.filename }}",
"contentType": "video/mp4",
"size": 5242880,
"width": 1080,
"height": 1920,
"durationMs": 15000
}
Node 5: Publish to TikTok
- Name: Publish to TikTok
- Method: POST
- URL:
https://api.postqued.com/v1/content/publish - Authentication: Postqued API
- Headers:
Idempotency-Key:{{ $now.format('x') }}(timestamp ensures uniqueness)
- Body: JSON
{
"contentIds": ["{{ $('Get Upload URL').item.json.contentId }}"],
"targets": [
{
"platform": "tiktok",
"accountId": "your-tiktok-account-id",
"intent": "draft",
"caption": "{{ $('When clicking 'Test workflow'').item.json.caption }}",
"dispatchAt": "{{ $('When clicking 'Test workflow'').item.json.scheduleTime }}",
"options": {
"privacyLevel": "PUBLIC_TO_EVERYONE",
"disableDuet": false,
"disableStitch": false,
"disableComment": false
}
}
]
}
Important: Replace your-tiktok-account-id with your actual account ID from Step 3.
Execute the Workflow
- Click Test Workflow
- The video will upload and schedule as a TikTok draft
- Check your TikTok inbox to see the scheduled post
Step 5: Add Triggers
The real power of n8n social media workflow comes from automation triggers. Let's add practical triggers beyond manual execution.
Trigger Option 1: Schedule (Cron)
Post daily at 9 AM:
- Replace manual trigger with Schedule Trigger
- Trigger Interval: Days
- Days Between Triggers: 1
- Trigger at Hour: 9
- Trigger at Minute: 0
Use this for consistent posting schedules. Pull content from a database or queue in subsequent nodes.
Trigger Option 2: Webhook
Post when external systems call your workflow:
- Add Webhook trigger
- Method: POST
- Path:
tiktok-post - Response Mode: Last Node
Now you can POST to https://your-n8n-instance/webhook/tiktok-post with:
{
"videoUrl": "https://cdn.example.com/video.mp4",
"caption": "Posted via webhook",
"scheduleTime": "2026-03-15T10:00:00Z"
}
Perfect for integrating with CMS systems, e-commerce platforms, or custom apps.
Trigger Option 3: Form Submission
Let non-technical team members submit posts:
- Add n8n Form trigger
- Form Title: Submit TikTok Content
- Add fields:
- Video File (File)
- Caption (Text)
- Post Now vs Schedule (Options)
- Schedule Date (Date, if scheduling)
This creates a simple form URL that content creators can use without touching n8n.
Advanced Workflows
Now that you understand the basics, let's explore production-ready n8n TikTok automation patterns.
Workflow 1: Post from Google Sheets
Build a content calendar in Sheets that automatically posts to TikTok.
Setup:
- Create a Google Sheet with columns: Date, Video URL, Caption, Status, Posted At
- Add Google Sheets trigger: Row Added
- Add HTTP Request nodes for upload and publish
- Add Google Sheets update node to mark Status as "Posted"
Sheet Structure:
| Date | Video URL | Caption | Status | Posted At |
|---|---|---|---|---|
| 2026-03-15 | drive://video1.mp4 | Morning vibes! | Ready | |
| 2026-03-16 | s3://bucket/video2.mp4 | Tutorial time | Ready |
Benefits: Non-technical team collaboration, visual content calendar, easy bulk uploads.
Workflow 2: RSS Feed to TikTok
Auto-convert blog posts or news to TikTok content.
Setup:
- Add RSS Read trigger
- Feed URL: Your blog's RSS feed
- Add HTTP Request to fetch featured images
- Use ImageMagick or FFmpeg nodes to create video from images
- Post to TikTok with blog excerpt as caption
Use Cases: News aggregation, content repurposing, evergreen promotion.
Workflow 3: AI-Generated Content Pipeline
Combine n8n with AI for fully automated content creation.
Workflow:
[Schedule Trigger] → [OpenAI: Generate Script] → [ElevenLabs: Voiceover] →
[HTTP: Stock Footage] → [FFmpeg: Merge] → [Upload to TikTok] →
[OpenAI: Generate Caption] → [Postqued: Publish]
Components:
- OpenAI node generates video script
- ElevenLabs converts text to voiceover
- Pexels/Unsplash nodes fetch relevant footage
- FFmpeg node stitches everything together
- Postqued API publishes final video
This creates a no-code TikTok bot that generates and posts content daily without human intervention.
Workflow 4: Multi-Platform Posting
Post to TikTok, Instagram, and YouTube Shorts simultaneously.
Since Postqued supports multiple platforms, modify the publish node:
{
"contentIds": ["content-uuid"],
"targets": [
{
"platform": "tiktok",
"accountId": "tiktok-account-id",
"intent": "draft",
"caption": "Multi-platform test #tiktok"
},
{
"platform": "instagram",
"accountId": "ig-account-id",
"intent": "draft",
"caption": "Multi-platform test #instagram"
}
]
}
Benefits: Single workflow controls your entire social presence. Update once, post everywhere.
Sample Workflow JSON
Import this complete workflow into n8n to get started immediately:
{
"name": "TikTok Auto Poster - Postqued",
"nodes": [
{
"parameters": {},
"id": "trigger",
"name": "When clicking 'Test workflow'",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [250, 300]
},
{
"parameters": {
"method": "POST",
"url": "https://api.postqued.com/v1/content/upload",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"contentType": "json",
"body": {
"filename": "={{ $json.filename }}",
"contentType": "video/mp4",
"fileSize": 5242880
}
},
"name": "Get Upload URL",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [450, 300]
},
{
"parameters": {
"method": "POST",
"url": "https://api.postqued.com/v1/content/upload/complete",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"contentType": "json",
"body": {
"contentId": "={{ $json.contentId }}",
"key": "={{ $json.upload.fields.key }}",
"filename": "={{ $('When clicking 'Test workflow'').item.json.filename }}",
"contentType": "video/mp4",
"size": 5242880,
"width": 1080,
"height": 1920,
"durationMs": 15000
}
},
"name": "Confirm Upload",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [650, 300]
},
{
"parameters": {
"method": "POST",
"url": "https://api.postqued.com/v1/content/publish",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Idempotency-Key",
"value": "={{ $now.format('x') }}"
}
]
},
"sendBody": true,
"contentType": "json",
"body": {
"contentIds": ["={{ $('Get Upload URL').item.json.contentId }}"],
"targets": [
{
"platform": "tiktok",
"accountId": "YOUR_ACCOUNT_ID",
"intent": "draft",
"caption": "={{ $('When clicking 'Test workflow'').item.json.caption }}",
"dispatchAt": "={{ $('When clicking 'Test workflow'').item.json.scheduleTime }}",
"options": {
"privacyLevel": "PUBLIC_TO_EVERYONE"
}
}
]
}
},
"name": "Publish to TikTok",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [850, 300]
}
],
"connections": {
"When clicking 'Test workflow'": {
"main": [
[
{
"node": "Get Upload URL",
"type": "main",
"index": 0
}
]
]
},
"Get Upload URL": {
"main": [
[
{
"node": "Confirm Upload",
"type": "main",
"index": 0
}
]
]
},
"Confirm Upload": {
"main": [
[
{
"node": "Publish to TikTok",
"type": "main",
"index": 0
}
]
]
}
}
}
To import: Copy → n8n → Workflows → Import from URL → Paste JSON
Troubleshooting Common Issues
Error: 401 Unauthorized
Cause: Invalid API key
Fix: Verify your API key in Postqued dashboard. Keys start with pq_. Check credential is selected in HTTP Request node.
Error: 400 Bad Request - MISSING_IDEMPOTENCY_KEY
Cause: Missing unique idempotency header
Fix: Add Idempotency-Key header with unique value (timestamp or UUID).
Error: 404 Account Not Found
Cause: Invalid TikTok account ID
Fix: Run GET /v1/platform-accounts to get correct account ID. Must be exact match.
Video Upload Fails
Cause: Incorrect file size or presigned URL expired
Fix: Ensure fileSize in bytes matches actual file. Complete upload within 15 minutes of generating URL.
Workflow Executes But No TikTok Post
Cause: Using intent: publish without approval
Fix: Use intent: draft for all posts. TikTok API requires special approval for direct publishing.
Rate Limiting (429)
Cause: Too many requests
Fix: Add Wait nodes between requests. Limits: 10 publishes/min, 20 uploads/min.
Binary Data Not Found
Cause: File not properly loaded
Fix: Ensure previous node outputs binary data. Check binary property name matches (default: data).
n8n vs Zapier vs Make for TikTok
| Feature | n8n + Postqued | Zapier | Make |
|---|---|---|---|
| Pricing | Free (self-hosted) | $19.99+/mo | $9+/mo |
| TikTok Support | ✅ Via API | ❌ None | ❌ None |
| Self-Hosted Option | ✅ Yes | ❌ No | ❌ No |
| Code Nodes | ✅ JavaScript/Python | Limited | Limited |
| Execution Control | Full | Limited | Limited |
| Data Privacy | Full control | Vendor-hosted | Vendor-hosted |
Winner: n8n + Postqued is the only solution offering free, self-hosted TikTok automation with full API control.
Best Practices for n8n TikTok Automation
- Always use idempotency keys — Prevents duplicate posts if workflow retries
- Handle errors gracefully — Add Error Trigger workflows to notify on failures
- Log everything — Send execution logs to Airtable/Notion for audit trails
- Rate limit your workflows — Respect TikTok's limits (max 10 posts/min)
- Test with drafts first — Never test with
publishintent on production accounts - Monitor API changes — Subscribe to Postqued changelog for endpoint updates
- Use credential vault — Never hardcode API keys in node parameters
- Version your workflows — Export JSON backups before major changes
Next Steps
You now have a complete n8n TikTok integration that rivals enterprise social media tools. Here's how to expand:
- Connect your data sources — Link Google Sheets, Notion, or Airtable for content management
- Add AI content generation — Integrate OpenAI for automatic caption writing
- Build approval workflows — Add human-in-the-loop review before posting
- Monitor performance — Track which posts perform best, optimize timing
- Scale to multiple accounts — Use the same workflow for client management
The combination of n8n's flexibility and Postqued's TikTok API gives you unlimited automation possibilities. Start with the basic workflow above, then gradually add complexity as your needs grow. For AI-powered approaches, check out our MCP TikTok AI agent guide and learn how to post to TikTok with an AI agent. For more API details, see our guide on scheduling TikTok posts via API.
Ready to automate? Get your Postqued API key and start building your n8n TikTok automation today.
Have questions about your specific workflow? Check our API documentation or reach out to support.