Schedule and publish videos to TikTok, YouTube, and Instagram using Postiz open-source scheduler.
Automate your social media video publishing with Postiz, the open-source social media scheduling platform. This workflow downloads videos, uploads them to Postiz, and schedules posts across TikTok, YouTube, and Instagram. Configure your integrations and let the automation handle multi-platform publishing.
{
"name": "Postiz Social Media Scheduler",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-660,
0
],
"id": "78dd86e6-c5e6-4d44-bd04-8813c14637de",
"name": "When clicking 'Execute workflow'"
},
{
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"leftValue": "={{ $json.identifier }}",
"rightValue": "tiktok",
"operator": {
"type": "string",
"operation": "equals"
},
"id": "3ff74ffe-3f82-437d-9218-bce4f7551211"
}
],
"combinator": "and"
},
"renameOutput": true,
"outputKey": "tiktok"
},
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "2edc7f5f-18cf-45e2-9a10-03c6ee2a062f",
"leftValue": "={{ $json.identifier }}",
"rightValue": "youtube",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
],
"combinator": "and"
},
"renameOutput": true,
"outputKey": "youtube"
},
{
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "f461c331-7506-486b-ab4a-de03823f82f9",
"leftValue": "={{ $json.identifier }}",
"rightValue": "instagram",
"operator": {
"type": "string",
"operation": "contains"
}
}
],
"combinator": "and"
},
"renameOutput": true,
"outputKey": "instagram"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.switch",
"typeVersion": 3.2,
"position": [
440,
0
],
"id": "7deee34b-70d3-4f33-98e0-e715ff1ce2bf",
"name": "Switch"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "0f5772c0-1f84-45e9-b131-8be1c8dd6d85",
"name": "postiz_api",
"value": "YOUR_POSTIZ_URL/api/public/v1",
"type": "string"
},
{
"id": "781d5f1b-1724-4cd4-9e0d-916de65b43e5",
"name": "share_video_url",
"value": "https://cdn.pixabay.com/video/2023/08/31/178472-859955927_small.mp4?download",
"type": "string"
},
{
"id": "f3d9536a-3dc9-4673-b774-0434ca64575f",
"name": "share_title",
"value": "Summer is coming",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
-400,
0
],
"id": "e610724a-f113-4238-a83b-1c2b0a2a6f9c",
"name": "Configure me"
},
{
"parameters": {
"content": "## Template by Harshith Vaddiparthy\n\n\n**Learn to Build AI Automations**\nMaster n8n, AI agents, and no-code automation in my comprehensive course.\n→ harshith.com/vibecode\n\n\n**Content Automation Consulting**\nI help businesses automate video creation, social media, blogs, and newsletters.\n→ harshith.com/meet\n\n\n**Connect with me**\n→ linkedin.com/in/harshith-vaddiparthy",
"height": 420,
"width": 400,
"color": 4
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-900,
-160
],
"id": "promo-sticky-note",
"name": "Promo"
},
{
"parameters": {
"content": "# Config\nSet your Postiz API URL and video details",
"height": 380,
"width": 220,
"color": 3
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-460,
-160
],
"id": "33143617-4eda-4d49-9d1a-684922a9de0b",
"name": "Sticky Note"
},
{
"parameters": {
"url": "={{ $json.share_video_url }}",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
-180,
0
],
"id": "212f1b54-8e8b-4b39-b114-dfdc0f430d85",
"name": "Download video"
},
{
"parameters": {
"method": "POST",
"url": "={{ $('Configure me').item.json.postiz_api }}/upload",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"contentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{
"parameterType": "formBinaryData",
"name": "file",
"inputDataFieldName": "data"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
40,
0
],
"id": "f63f1714-0c2f-49ba-947c-eb5401c081f1",
"name": "Upload video to Postiz",
"credentials": {
"httpHeaderAuth": {
"id": "YOUR_POSTIZ_CREDENTIAL_ID",
"name": "Postiz Auth"
}
}
},
{
"parameters": {
"url": "={{ $('Configure me').item.json.postiz_api }}/integrations",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
240,
0
],
"id": "e8b6b201-0295-4134-827a-212fb2213174",
"name": "Get Postiz integrations",
"credentials": {
"httpHeaderAuth": {
"id": "YOUR_POSTIZ_CREDENTIAL_ID",
"name": "Postiz Auth"
}
}
},
{
"parameters": {
"method": "POST",
"url": "={{ $('Configure me').item.json.postiz_api }}/posts",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"type\": \"schedule\",\n \"date\": \"{{ $now.plus(1, 'days').toISO() }}\",\n \"tags\": [],\n \"shortLink\": false,\n \"posts\": [\n {\n \"integration\": {\n \"id\": \"{{ $('Switch').item.json.id }}\"\n },\n \"value\": [\n {\n \"content\": \"{{ $('Configure me').item.json.share_title }}\",\n \"image\": [\n {\n \"id\": \"{{ $('Upload video to Postiz').item.json.id }}\",\n \"path\": \"{{ $('Upload video to Postiz').item.json.path }}\"\n }\n ]\n }\n ],\n \"settings\": {\n \"title\": \"{{ $('Configure me').item.json.share_title }}\"\n }\n }\n ]\n}",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1080,
-20
],
"id": "4012aa85-d3c0-4f79-82cf-de9153e875fd",
"name": "Schedule Post",
"credentials": {
"httpHeaderAuth": {
"id": "YOUR_POSTIZ_CREDENTIAL_ID",
"name": "Postiz Auth"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "6edb3f17-3d22-408b-a935-5e9f59fa6cc5",
"leftValue": "",
"rightValue": "",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
680,
0
],
"id": "e89f81f7-9ba2-4e81-94c2-5a620f2ecd85",
"name": "YouTube check"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "6edb3f17-3d22-408b-a935-5e9f59fa6cc5",
"leftValue": "",
"rightValue": "",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
680,
-260
],
"id": "8901e4c4-bc30-40fb-8d49-a8118ff45346",
"name": "TikTok check"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "6edb3f17-3d22-408b-a935-5e9f59fa6cc5",
"leftValue": "",
"rightValue": "",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
680,
240
],
"id": "60733cb5-bce9-446f-b060-c81a15316bc4",
"name": "Instagram check"
},
{
"parameters": {
"content": "## Implement your logic here\n\nShare on the social media integrations you select",
"height": 800,
"width": 320
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
600,
-400
],
"id": "9a63682d-8c3a-4bbe-bef8-841a71869768",
"name": "Sticky Note1"
},
{
"parameters": {
"content": "# Schedule the post",
"height": 280,
"width": 360,
"color": 4
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
980,
-140
],
"id": "8c3f1f18-3890-4158-9cc0-ea5f1d387082",
"name": "Sticky Note2"
}
],
"pinData": {},
"connections": {
"When clicking 'Execute workflow'": {
"main": [
[
{
"node": "Configure me",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "TikTok check",
"type": "main",
"index": 0
}
],
[
{
"node": "YouTube check",
"type": "main",
"index": 0
}
],
[
{
"node": "Instagram check",
"type": "main",
"index": 0
}
]
]
},
"Configure me": {
"main": [
[
{
"node": "Download video",
"type": "main",
"index": 0
}
]
]
},
"Download video": {
"main": [
[
{
"node": "Upload video to Postiz",
"type": "main",
"index": 0
}
]
]
},
"Upload video to Postiz": {
"main": [
[
{
"node": "Get Postiz integrations",
"type": "main",
"index": 0
}
]
]
},
"Get Postiz integrations": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"YouTube check": {
"main": [
[
{
"node": "Schedule Post",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
}
}Copy this JSON and import it into n8n via Settings → Import from File/URL → Paste JSON