AutomationFlowsGeneral › Social Media Poster with Blotato

Social Media Poster with Blotato

Original n8n title: Social Media Poster - Dual Trigger

Social Media Poster - Dual Trigger. Uses @blotato/n8n-nodes-blotato. Webhook trigger; 23 nodes.

Webhook trigger★★★★☆ complexity23 nodes@Blotato/N8N Nodes Blotato
General Trigger: Webhook Nodes: 23 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Social Media Poster - Dual Trigger",
  "nodes": [
    {
      "parameters": {
        "path": "post-to-social",
        "method": "POST",
        "authentication": "none",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        -1200,
        -500
      ],
      "id": "webhook-trigger-api",
      "name": "API Webhook Trigger (Path 2: Existing Link)"
    },
    {
      "parameters": {
        "path": "upload-and-post",
        "method": "POST",
        "authentication": "none",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        -1200,
        200
      ],
      "id": "webhook-trigger-upload",
      "name": "Upload Webhook Trigger (Path 1: Upload First)"
    },
    {
      "parameters": {
        "content": "=\ud83d\udccd Trigger Source: {{ $json.source || 'api' }}\n\u23f0 Request Time: {{ $now.toISOString() }}\n\ud83d\udc64 User: {{ $json.userId || 'unknown' }}\n\ud83c\udfa5 Video: {{ $json.title }}\n\ud83d\udd17 Drive Link: {{ $json.driveLink }}",
        "options": {}
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -800,
        -700
      ],
      "id": "trigger-info"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "driveLink",
              "name": "driveLink",
              "type": "string",
              "value": "={{ $json.body.driveLink || $json.driveLink }}"
            },
            {
              "id": "title",
              "name": "title",
              "type": "string",
              "value": "={{ $json.body.title || $json.title }}"
            },
            {
              "id": "caption",
              "name": "caption",
              "type": "string",
              "value": "={{ $json.body.caption || $json.caption }}"
            },
            {
              "id": "source",
              "name": "source",
              "type": "string",
              "value": "={{ $json.body.source || $json.source || 'existing' }}"
            },
            {
              "id": "userId",
              "name": "userId",
              "type": "string",
              "value": "={{ $json.body.userId || $json.userId || 'unknown' }}"
            },
            {
              "id": "final_google_drive_url",
              "name": "final_google_drive_url",
              "type": "string",
              "value": "={{ ($json.body.driveLink || $json.driveLink).match(/\\/d\\/([a-zA-Z0-9-_]+)/)?.[1] || ($json.body.driveLink || $json.driveLink) }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -800,
        -500
      ],
      "id": "extract-api-data",
      "name": "Extract & Normalize Data"
    },
    {
      "parameters": {
        "limit": 1
      },
      "type": "n8n-nodes-base.limit",
      "typeVersion": 1,
      "position": [
        -800,
        50
      ],
      "id": "validate-input",
      "name": "Validate Input"
    },
    {
      "parameters": {
        "jsCode": "const url = $json.final_google_drive_url;\nconst finalUrl = `https://drive.google.com/uc?export=download&id=${url}`;\nreturn { ...$json, mediaUrl: finalUrl };"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -800,
        200
      ],
      "id": "build-download-url",
      "name": "Build Download URL"
    },
    {
      "parameters": {
        "mediaUrl": "={{ $json.mediaUrl }}",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        -400,
        200
      ],
      "id": "blotato-upload",
      "name": "Upload to BLOTATO",
      "credentials": {
        "blotatoApi": "<your credential>"
      }
    },
    {
      "parameters": {
        "account": "tiktok_itay_zrihan",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        -100,
        -500
      ],
      "id": "tiktok-1",
      "name": "TikTok: itay_zrihan",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "tiktok_itay_tech",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        -100,
        -350
      ],
      "id": "tiktok-2",
      "name": "TikTok: itay_tech",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "tiktok_itay_zrihan_warmed",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        -100,
        -200
      ],
      "id": "tiktok-3",
      "name": "TikTok: itay.zrihan (Warmed)",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "tiktok_spammer",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        -100,
        -50
      ],
      "id": "tiktok-4",
      "name": "TikTok: itaythespammer",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "instagram_sales_growth_digital",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        200,
        -500
      ],
      "id": "instagram-1",
      "name": "Instagram: sales_growth_digital",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "instagram_itay_zrihan",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        200,
        -350
      ],
      "id": "instagram-2",
      "name": "Instagram: itay_zrihan",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "instagram_itay_chi",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        200,
        -200
      ],
      "id": "instagram-3",
      "name": "Instagram: itay_chi",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "instagram_itay_zrihan_official",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        200,
        -50
      ],
      "id": "instagram-4",
      "name": "Instagram: itay_zrihan_official",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "youtube_itay_zrihan",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        500,
        -500
      ],
      "id": "youtube-1",
      "name": "YouTube: Itay Zrihan",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "youtube_mytx",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        500,
        -350
      ],
      "id": "youtube-2",
      "name": "YouTube: Mytx",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "linkedin_itay_zrihan",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        500,
        -200
      ],
      "id": "linkedin",
      "name": "LinkedIn",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "facebook_blotato_page",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        500,
        -50
      ],
      "id": "facebook",
      "name": "Facebook",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "twitter_ItayZn",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        800,
        -500
      ],
      "id": "twitter",
      "name": "Twitter/X",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "account": "threads_itay_zrihan",
        "title": "={{ $json.title }}",
        "description": "={{ $json.caption }}",
        "uploadedMedia": "={{ $json.uploadedMedia }}",
        "options": {}
      },
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "typeVersion": 2,
      "position": [
        800,
        -350
      ],
      "id": "threads",
      "name": "Threads",
      "credentials": {
        "blotatoApi": "<your credential>"
      },
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "numberInputs": 15
      },
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3.2,
      "position": [
        1100,
        -300
      ],
      "id": "merge-results",
      "name": "Merge All Results"
    },
    {
      "parameters": {
        "content": "=\u2705 Posting Complete\n\ud83d\udcca Platforms: 13+\n\u23f1\ufe0f Duration: ~10-15 min\n\ud83c\udfaf Source: {{ $json.source }}\n\ud83d\udcf9 Title: {{ $json.title }}"
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        1100,
        200
      ],
      "id": "completion-note"
    }
  ],
  "connections": {
    "webhook-trigger-api": {
      "main": [
        [
          {
            "node": "extract-api-data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "webhook-trigger-upload": {
      "main": [
        [
          {
            "node": "extract-api-data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "extract-api-data": {
      "main": [
        [
          {
            "node": "validate-input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "validate-input": {
      "main": [
        [
          {
            "node": "build-download-url",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "build-download-url": {
      "main": [
        [
          {
            "node": "blotato-upload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "blotato-upload": {
      "main": [
        [
          {
            "node": "tiktok-1",
            "type": "main",
            "index": 0
          },
          {
            "node": "tiktok-2",
            "type": "main",
            "index": 0
          },
          {
            "node": "tiktok-3",
            "type": "main",
            "index": 0
          },
          {
            "node": "tiktok-4",
            "type": "main",
            "index": 0
          },
          {
            "node": "instagram-1",
            "type": "main",
            "index": 0
          },
          {
            "node": "instagram-2",
            "type": "main",
            "index": 0
          },
          {
            "node": "instagram-3",
            "type": "main",
            "index": 0
          },
          {
            "node": "instagram-4",
            "type": "main",
            "index": 0
          },
          {
            "node": "youtube-1",
            "type": "main",
            "index": 0
          },
          {
            "node": "youtube-2",
            "type": "main",
            "index": 0
          },
          {
            "node": "linkedin",
            "type": "main",
            "index": 0
          },
          {
            "node": "facebook",
            "type": "main",
            "index": 0
          },
          {
            "node": "twitter",
            "type": "main",
            "index": 0
          },
          {
            "node": "threads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "tiktok-1": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "tiktok-2": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "tiktok-3": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "tiktok-4": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "instagram-1": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "instagram-2": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "instagram-3": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 6
          }
        ]
      ]
    },
    "instagram-4": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 7
          }
        ]
      ]
    },
    "youtube-1": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 8
          }
        ]
      ]
    },
    "youtube-2": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 9
          }
        ]
      ]
    },
    "linkedin": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 10
          }
        ]
      ]
    },
    "facebook": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 11
          }
        ]
      ]
    },
    "twitter": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 12
          }
        ]
      ]
    },
    "threads": {
      "main": [
        [
          {
            "node": "merge-results",
            "type": "main",
            "index": 13
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Social Media Poster - Dual Trigger. Uses @blotato/n8n-nodes-blotato. Webhook trigger; 23 nodes.

Source: https://github.com/itayzrihan/mytxone/blob/cecfd6dd001f0a6468a9cbc9c6a9b06d1b06c256/automations/blotato-api-dual-trigger.json — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

Blotato-Api. Uses @blotato/n8n-nodes-blotato. Webhook trigger; 53 nodes.

@Blotato/N8N Nodes Blotato
General

Odoo Customers API – Export to JSON or Excel provides a simple way to fetch customer records from your Odoo database and get them back either as a structured JSON response or a downloadable Excel (.xl

Odoo
General

Bridge the gap between Monday.com and Jira with this intelligent n8n automation template.

Jira, Monday.com
General

Community Node Disclaimer: This workflow uses KlickTipp community nodes.

N8N Nodes Klicktipp
General

Demo Workflow How To Use Workflowstaticdata. Uses noOp, httpRequest, scheduleTrigger, stickyNote. Webhook trigger; 9 nodes.

HTTP Request