AutomationFlowsSlack & Telegram › Automate Content Publishing Across 25 Social Media Channels with Airtable &…

Automate Content Publishing Across 25 Social Media Channels with Airtable &…

Original n8n title: Automate Content Publishing Across 25 Social Media Channels with Airtable & Postiz

ByMax aka Mosheh @aiwithapex on n8n.io

How it works • Webhook triggers from content creation system in Airtable • Downloads media (images/videos) from Airtable URLs • Uploads media to Postiz cloud storage • Schedules or publishes content across multiple platforms via Postiz API • Tracks publishing status back to…

Webhook trigger★★★★★ complexity34 nodesAirtableTelegramHTTP Request
Slack & Telegram Trigger: Webhook Nodes: 34 Complexity: ★★★★★ Added:

This workflow corresponds to n8n.io template #7814 — we link there as the canonical source.

This workflow follows the Airtable → HTTP Request recipe pattern — see all workflows that pair these two integrations.

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
{
  "id": "3i5EsHztw0mX8jBw",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Publish Videos & Images on Postiz",
  "tags": [
    {
      "id": "3ys8SQgNTiRr899i",
      "name": "social media",
      "createdAt": "2025-03-17T08:37:35.227Z",
      "updatedAt": "2025-04-07T06:13:46.923Z"
    },
    {
      "id": "2wv2YbZIQoYNx98Y",
      "name": "schedule",
      "createdAt": "2025-04-25T13:38:53.789Z",
      "updatedAt": "2025-04-25T13:38:53.789Z"
    },
    {
      "id": "PqlvV87F8bOW0yAK",
      "name": "publish",
      "createdAt": "2025-04-25T13:38:58.944Z",
      "updatedAt": "2025-04-25T13:38:58.944Z"
    },
    {
      "id": "C3qu5UXx5DMlE9x2",
      "name": "postiz",
      "createdAt": "2025-08-10T16:49:22.034Z",
      "updatedAt": "2025-08-10T16:49:22.034Z"
    }
  ],
  "nodes": [
    {
      "id": "a15a1bfd-6a2b-45a7-9f22-0be4cc41dec1",
      "name": "Prepare for Publish",
      "type": "n8n-nodes-base.set",
      "position": [
        -928,
        656
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={\n  \"devto_id\": \"<Dev.to account ID here>\",\n  \"wordpress_id\": \"<Wordpress account ID here>\",\n  \"dribble_id\": \"<Dribble account ID here>\",\n  \"hashnode_id\": \"<Hashnode account ID here>\",\n  \"final_text_long\": {{ $('Airtable').item.json.Script.toJsonString() }},\n  \"final_text_short\": {{ $('Airtable').item.json['Text for X'].toJsonString() }}\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "3c27e2fc-c05e-4e87-8fc6-8a934c3d8397",
      "name": "Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -1152,
        656
      ],
      "parameters": {
        "id": "={{ $json.airtableID }}",
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appG0wM9Oe2bp1qhh",
          "cachedResultUrl": "https://airtable.com/appG0wM9Oe2bp1qhh",
          "cachedResultName": "Social Media System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblM3kDu1qB2FdTOF",
          "cachedResultUrl": "https://airtable.com/appG0wM9Oe2bp1qhh/tblM3kDu1qB2FdTOF",
          "cachedResultName": "Media Creation"
        },
        "options": {}
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "91f78e9b-32c4-4ffd-ba5e-ec5728861042",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2480,
        288
      ],
      "parameters": {
        "color": 3,
        "width": 832,
        "height": 1864,
        "content": "## **Quick Setup Guide - n8n Postiz Automation Workflow**\n\n### **Step 1: Create Postiz Account**\nSign up at https://postiz.com/?ref=max (or use your existing account)\n\n### **Step 2: Connect Your Social Accounts**\n1. Go to **Channels** in Postiz dashboard\n2. Click **Add Channel** \n3. Connect all platforms you want to use (Dev.to, Hashnode, WordPress, Dribbble, etc.)\n4. Authorize each platform when prompted\n\n### **Step 3: Get Your Channel IDs**\nFrom the calendar, click the 3 dots and copy the channel ID\n\nOR\n\nRun this command (or use Postman):\n```bash\ncurl -H \"Authorization: YOUR_API_KEY\" \"https://api.postiz.com/public/v1/integrations\"\n```\nSave the `id` for each platform you connected and place in \"Prepare for Publish\" node\n\n### **Step 4: Get Your API Key**\n1. In Postiz dashboard, go to **Settings** \u2192 **API Keys**\n2. Copy your API key\n3. **IMPORTANT:** Keep this secure, don't share it\n\n### **Step 5: Configure the n8n Workflow**\n1. Open the **\"Prepare for Publish\"** node\n2. Replace the platform IDs with your own:\n   - `devto_id`: Your Dev.to channel ID\n   - `hashnode_id`: Your Hashnode channel ID  \n   - `wordpress_id`: Your WordPress channel ID\n   - `dribbble_id`: Your Dribbble channel ID\n\n### **Step 6: Add Your API Key**\nIn each **Upload** and **\"Post to [Platform]\"** HTTP Request node:\n1. Find \"Authentication\" and select \"Generic Credential Type\"\n2. Find \"Generic Auth Type\" and select \"Header Auth\"\n3. Find \"Header Auth\" and select \"Create New Credential\"\n4. Top left rename it wisely, like \"Postiz Header Auth\"\n5. For name: Authorization\n6. For Value: Paste your API Key\n\n### **Step 7: Customize Scheduling**\n- **Post immediately:** Use `\"type\": \"now\"`\n- **Schedule posts:** Use `\"type\": \"schedule\"` and set your preferred time:\n  - `\"{{ $now.plus({hours: 2}).toISO() }}\"` - 2 hours from now\n  - `\"{{ $now.plus({days: 1}).toISO() }}\"` - Tomorrow same time\n  - Set different times per platform if desired\n\n### **Step 8: Add More Platforms**\n1. Duplicate any existing \"Post to [Platform]\" node\n2. Add the account ID per above to \"Prepare for Publish\"\n3. Update the `integration.id` with new platform's ID\n3. If needed, adjust `settings` based on platform requirements:\n   - **Most platforms:** Just need `title`\n   - **Hashnode:** Needs `publication` and `tags` as objects\n   - **WordPress:** Needs `type`: \"post\" or \"page\"\n   - etc\n\n### **Step 9: Platform-Specific Settings**\n- **Hashnode:** Update `\"publication\": \"your-publication-name\"`\n- **WordPress:** Choose `\"type\": \"post\"` or `\"page\"`\n- **Tags:** Customize for each platform as needed\n\n### **Step 10: Test & Run**\n1. Test with one item first and use pins\n2. Check Postiz dashboard \u2192 **Calendar** to see scheduled posts\n3. Monitor for any errors in n8n execution\n4. Copy and paste errors in your favorite LLM for easy answers :)\n\n### **Notes:**\n- API limit: 30 requests per hour\n- Media: Most platforms support images, less videos\n- All times are in UTC\n- Posts appear in Postiz dashboard immediately after API call\n\n**Need help?** Check posts in Postiz Calendar view to debug any issues!"
      },
      "typeVersion": 1
    },
    {
      "id": "03ce4f4c-d7de-4480-86fd-b728e8e2441c",
      "name": "Airtable Record ID",
      "type": "n8n-nodes-base.set",
      "position": [
        -1376,
        656
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ca998655-fcdd-4169-b470-492cf5113b6a",
              "name": "=airtableID",
              "type": "string",
              "value": "={{ $json.body.airtableID }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "7ae478a1-7fbe-4fcc-afe6-995b3a310309",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -688,
        832
      ],
      "parameters": {
        "width": 580,
        "height": 1880,
        "content": "# How to Add Example Table and Connect n8n to Airtable\n\n---\n\n## Part 1: Add the Example Table to Airtable\n\n1. **Create and Log into Your Airtable Account**  \n   - If you don't have an Airtable account: [Sign up here (Affiliate link)](https://airtable.com/invite/r/6UyZyAAd)\n\n2. **Open the Example Base**  \n   - Link: [Social Media System Base](https://airtable.com/appbOSIspSmMfeJeg/shr7htmWB9GNRrpw3)\n\n3. **Copy the Base**  \n   - To the right of the title *\"Social Media System\"*, click **\"Copy base\"**.\n\n4. **Choose Your Workspace**  \n   - Pick the workspace to copy the base into, then click **\"Add base\"**.\n\n**\u2705 Congrats! You now have the example Base added.**\n\n---\n\n## Part 2: Connect n8n to Airtable\n\n### Step A: Create a Personal Access Token in Airtable\n\n1. **Create and Log into Your Airtable Account**  \n   - [Sign up here (Affiliate link)](https://airtable.com/invite/r/6UyZyAAd)\n\n2. **Access Personal Tokens**\n   - Top right: click your **Account Icon** \u2192 select **\"Builder hub\"**.\n   - Left navigation: go to **\"Developers\"** \u2192 click **\"Personal access tokens\"**.\n\n3. **Create a New Token**\n   - Click **\"Create token\"**.\n   - Name your token (example: *\"Airtable personal access token for n8n\"*).  \n     **(Don't create yet!)**\n\n4. **Set Scopes**\n   - Click **\"+ Add a scope\"** and enable these scopes:\n     - `data.records:read`\n     - `data.records:write`\n     - `schema.bases:read`\n\n5. **Optional: Restrict Access**\n   - If you want the credential limited to certain bases:\n     - Under **Access**, click **\"+ Add a base\"** and select the Base(s).\n\n6. **Finalize and Save the Token**\n   - After creation, a pop-up will show your token **only once**.\n   - **Copy and store it safely!**\n\n---\n\n### Step B: Add Airtable Credentials in n8n\n\n1. **Create and Log into Your n8n Account**  \n   - [Sign up here (Affiliate link)](https://n8n.partnerlinks.io/aiwithapex)\n\n2. **Create a New Credential**\n   - Top right: next to the red-orange **\"Create Workflow\"** button, open the dropdown \u2192 select **\"Create Credential\"**.\n   - (Alternatively, you can create it from inside any Airtable node.)\n\n3. **Input Token Details**\n   - In the popup, type **\"Airtable personal access token api\"**, click **\"Continue\"**.\n   - Paste your **saved Airtable token**.\n\n4. **Name the Credential Properly**\n   - Top left of the dialogue box: rename the token to something clearly recognizable.\n\n5. **Save and Test Connection**\n   - Click the top right **\"Save\"** button.\n   - You should see **\"Connection tested successfully\"**.\n   - You may now **close** the dialogue box.\n\n**\u2705 Done! n8n is now connected to your Airtable base.**\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ec7f3fea-6f91-43af-a794-064331f281da",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        160
      ],
      "parameters": {
        "width": 1508,
        "height": 100,
        "content": "# Postiz Cloud Affiliate Link, Please Support My Work:  https://postiz.com/?ref=max\n## Postiz supports 25 TWENTY-FIVE platforms!!!   Note - you will need the API key for Authorization, detalis below"
      },
      "typeVersion": 1
    },
    {
      "id": "758bc6e8-1c45-4ef6-9ca1-f636b3f34a27",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1002,
        276
      ],
      "parameters": {
        "color": 5,
        "width": 244,
        "height": 540,
        "content": "## FILL ME IN!\n\n### Use Link Above to Log into Postiz Cloud\n\n- Go to Calendar\n- Click on 3 dots by each connected channel to copy channel ID\n- Alternative you can get the channel IDs via API:\n\ncurl -H \"Authorization: <your api key from dashboard>\" \\\n  \"https://api.postiz.com/public/v1/integrations\""
      },
      "typeVersion": 1
    },
    {
      "id": "ec02c54a-6a96-4b49-a84f-38daecf24ec4",
      "name": "Webhook from Content Creation",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1600,
        656
      ],
      "parameters": {
        "path": "6a7f105d-7043-48b4-9a53-284ca2b55dc8",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "0bcf6aba-1074-4050-86cb-b7ef9efb21a2",
      "name": "Telegram: User Update",
      "type": "n8n-nodes-base.telegram",
      "disabled": true,
      "position": [
        192,
        1232
      ],
      "parameters": {
        "text": "=Media completed! \ud83d\udcad Scheduling or posting now!",
        "chatId": "={{ $('Airtable: Retrieve Content Entry').item.json['Telegram Chat ID'][0] }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b5cdcd2d-e789-422a-bdf4-308fa1d740cb",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        114,
        1192
      ],
      "parameters": {
        "color": 4,
        "width": 700,
        "height": 200,
        "content": "## Reporting"
      },
      "typeVersion": 1
    },
    {
      "id": "854cbefd-855b-4c0f-bb84-c9c76f8d959e",
      "name": "Update Managing Agent",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "disabled": true,
      "position": [
        416,
        1232
      ],
      "parameters": {
        "url": "https://n8n.yoursite.ai/webhook/<value here>",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"messageToManagingAgent\": \"Social media published! Social Media Agent Job COMPLETE [[SOCIAL_MEDIA_AGENT]]  \"\n}",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "7ddc5301-1c53-42c2-a1f2-b61f6ab4d3fa",
      "name": "Finalize Transaction!",
      "type": "n8n-nodes-base.airtable",
      "position": [
        640,
        1232
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appG0wM9Oe2bp1qhh",
          "cachedResultUrl": "https://airtable.com/appG0wM9Oe2bp1qhh",
          "cachedResultName": "Social Media System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblM3kDu1qB2FdTOF",
          "cachedResultUrl": "https://airtable.com/appG0wM9Oe2bp1qhh/tblM3kDu1qB2FdTOF",
          "cachedResultName": "Media Creation"
        },
        "columns": {
          "value": {
            "id": "={{ $('Airtable').item.json.id",
            "Production": "Published",
            "n8n Publishing Date": "={{ $now }}",
            "n8n Publishing Time": "={{ $now }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Media Title",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Media Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script Len",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Script Len",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Production",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Not Started",
                  "value": "Not Started"
                },
                {
                  "name": "In progress",
                  "value": "In progress"
                },
                {
                  "name": "Ready",
                  "value": "Ready"
                },
                {
                  "name": "Review",
                  "value": "Review"
                },
                {
                  "name": "Completed",
                  "value": "Completed"
                },
                {
                  "name": "Scheduled",
                  "value": "Scheduled"
                },
                {
                  "name": "Published",
                  "value": "Published"
                },
                {
                  "name": "Failed to Publish Instagram",
                  "value": "Failed to Publish Instagram"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Production",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Video",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publish Date (from Content Creation)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Publish Date (from Content Creation)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publish Time (from Content Creation)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Publish Time (from Content Creation)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Test",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Test",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content Creation",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Content Creation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Scenes",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image URL",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image Caption",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image Caption",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Text for X",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Text for X",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Text for LinkedIn",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Text for LinkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Social Channels",
              "type": "array",
              "display": true,
              "options": [
                {
                  "name": "Blog",
                  "value": "Blog"
                },
                {
                  "name": "Facebook",
                  "value": "Facebook"
                },
                {
                  "name": "Instagram",
                  "value": "Instagram"
                },
                {
                  "name": "LinkedIn",
                  "value": "LinkedIn"
                },
                {
                  "name": "TikTok",
                  "value": "TikTok"
                },
                {
                  "name": "X",
                  "value": "X"
                },
                {
                  "name": "YouTube",
                  "value": "YouTube"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Social Channels",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "n8n Publishing Date",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "n8n Publishing Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "n8n Publishing Time",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "n8n Publishing Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publishing Log",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Publishing Log",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "House Keeping",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "House Keeping",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Script",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "TTS Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Narration Link",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Narration Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Slide Image Prompt 1",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Slide Image Prompt 1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Slide Image Prompt 2",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Slide Image Prompt 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Slide Image Prompt 3",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Slide Image Prompt 3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Slide Image Prompt 4",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Slide Image Prompt 4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Slide Image Prompt 5",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Slide Image Prompt 5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "GDrive Folder Link",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "GDrive Folder Link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image URL 2",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image URL 2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image URL 3",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image URL 3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image URL 4",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image URL 4",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image URL 5",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image URL 5",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Chat ID",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Chat ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created Time",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Modified Time",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Modified Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Record ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Record ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "683ff242-ec09-49ec-9ba4-f952a1574ca3",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        192,
        368
      ],
      "parameters": {
        "amount": "={{ Math.random() * 37 + 3 }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "9518cca3-cd67-4413-b3bb-6e039c4aa3a8",
      "name": "Wait1",
      "type": "n8n-nodes-base.wait",
      "position": [
        192,
        944
      ],
      "parameters": {
        "amount": "={{ Math.random() * 37 + 3 }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "d56ac0b4-294f-41c5-b1a8-47513e344d3e",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        864
      ],
      "parameters": {
        "width": 928,
        "height": 768,
        "content": "![Postiz Platforms](https://apexwebservices.com/wp-content/uploads/2025/08/postiz-cloud-platforms.png)"
      },
      "typeVersion": 1
    },
    {
      "id": "9449e6ba-552f-4cdb-8f38-5299e88cd5df",
      "name": "Upload Image to Postiz",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -480,
        656
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "affd6d1e-92db-4b59-a5e4-6f7576ec53fb",
      "name": "Grab Image from Airtable",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -704,
        656
      ],
      "parameters": {
        "url": "={{ $('Airtable').item.json['Image URL'] }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "14200a11-cf6a-4ca4-b158-3215db82d2d5",
      "name": "Grab Video from Airtable",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -256,
        656
      ],
      "parameters": {
        "url": "={{ $('Airtable').item.json['Video URL'] }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a41e3d3e-1693-49a3-b012-9c61bed6cbbb",
      "name": "Dev.to Postiz - POST NOW!",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        192,
        80
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/posts",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"type\": \"schedule\",\n  \"shortLink\": false,\n  \"date\": \"{{ $now.plus({hours: 24}).toISO() }}\",\n  \"tags\": [],\n  \"posts\": [{\n    \"integration\": {\n      \"id\": \"{{ $('Prepare for Publish').item.json.devto_id }}\"\n    },\n    \"value\": [{\n      \"content\": {{ $('Prepare for Publish').item.json.final_text_long.toJsonString() }},\n      \"image\": [{\n        \"id\": \"{{ $('Upload Image to Postiz').item.json.id }}\",\n        \"path\": \"{{ $('Upload Image to Postiz').item.json.path }}\"\n      }]\n    }],\n    \"group\": \"postiz_n8n_apex_{{ $now.toMillis() }}\",\n    \"settings\": {\n      \"title\": \"{{ $('Airtable').item.json['Media Title'] }}\"\n    }\n  }]\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "08eb569c-d56b-4a76-96ff-ee6194820e1f",
      "name": "Airtable: Posted DevTo",
      "type": "n8n-nodes-base.airtable",
      "position": [
        416,
        -16
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appG0wM9Oe2bp1qhh",
          "cachedResultUrl": "https://airtable.com/appG0wM9Oe2bp1qhh",
          "cachedResultName": "Social Media System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblM3kDu1qB2FdTOF",
          "cachedResultUrl": "https://airtable.com/appG0wM9Oe2bp1qhh/tblM3kDu1qB2FdTOF",
          "cachedResultName": "Media Creation"
        },
        "columns": {
          "value": {
            "id": "={{ $('Airtable').item.json.id }}",
            "Publishing Log": "={{ $('Airtable').item.json['Publishing Log'] }} | DevTo Success | "
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Media Title",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Media Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script Len",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Script Len",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Production",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Not Started",
                  "value": "Not Started"
                },
                {
                  "name": "In progress",
                  "value": "In progress"
                },
                {
                  "name": "Ready",
                  "value": "Ready"
                },
                {
                  "name": "Review",
                  "value": "Review"
                },
                {
                  "name": "Completed",
                  "value": "Completed"
                },
                {
                  "name": "Scheduled",
                  "value": "Scheduled"
                },
                {
                  "name": "Published",
                  "value": "Published"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Production",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Video",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publish Date (from Content Creation)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Publish Date (from Content Creation)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publish Time (from Content Creation)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Publish Time (from Content Creation)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Test",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Test",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content Creation",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Content Creation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Scenes",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image URL",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image Caption",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image Caption",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Text for X",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Text for X",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Text for LinkedIn",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Text for LinkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Social Channels",
              "type": "array",
              "display": true,
              "options": [
                {
                  "name": "Blog",
                  "value": "Blog"
                },
                {
                  "name": "Facebook",
                  "value": "Facebook"
                },
                {
                  "name": "Instagram",
                  "value": "Instagram"
                },
                {
                  "name": "LinkedIn",
                  "value": "LinkedIn"
                },
                {
                  "name": "TikTok",
                  "value": "TikTok"
                },
                {
                  "name": "X",
                  "value": "X"
                },
                {
                  "name": "YouTube",
                  "value": "YouTube"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Social Channels",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "n8n Publishing Date",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "n8n Publishing Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "n8n Publishing Time",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "n8n Publishing Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publishing Log",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Publishing Log",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "House Keeping",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "House Keeping",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "workflowId (from House Keeping)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "workflowId (from House Keeping)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "recordID (from House Keeping)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "recordID (from House Keeping)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created Time",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Modified Time",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Modified Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Record ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Record ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7fd1bf6d-efc7-45bb-91f0-1ff9ac306a76",
      "name": "Airtable: Post DevTo - Fail",
      "type": "n8n-nodes-base.airtable",
      "position": [
        416,
        176
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appG0wM9Oe2bp1qhh",
          "cachedResultUrl": "https://airtable.com/appG0wM9Oe2bp1qhh",
          "cachedResultName": "Social Media System"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblM3kDu1qB2FdTOF",
          "cachedResultUrl": "https://airtable.com/appG0wM9Oe2bp1qhh/tblM3kDu1qB2FdTOF",
          "cachedResultName": "Media Creation"
        },
        "columns": {
          "value": {
            "id": "={{ $('Airtable').item.json.id",
            "Publishing Log": "={{ $('Airtable').item.json['Publishing Log'] }} | DevTo FAILED | "
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Media Title",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Media Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script Len",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Script Len",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Production",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Not Started",
                  "value": "Not Started"
                },
                {
                  "name": "In progress",
                  "value": "In progress"
                },
                {
                  "name": "Ready",
                  "value": "Ready"
                },
                {
                  "name": "Review",
                  "value": "Review"
                },
                {
                  "name": "Completed",
                  "value": "Completed"
                },
                {
                  "name": "Scheduled",
                  "value": "Scheduled"
                },
                {
                  "name": "Published",
                  "value": "Published"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Production",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Video",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publish Date (from Content Creation)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Publish Date (from Content Creation)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publish Time (from Content Creation)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Publish Time (from Content Creation)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Test",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Test",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content Creation",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Content Creation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Scenes",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image URL",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image Caption",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Image Caption",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Text for X",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Text for X",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Text for LinkedIn",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Text for LinkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Social Channels",
              "type": "array",
              "display": true,
              "options": [
                {
                  "name": "Blog",
                  "value": "Blog"
                },
                {
                  "name": "Facebook",
                  "value": "Facebook"
                },
                {
                  "name": "Instagram",
                  "value": "Instagram"
                },
                {
                  "name": "LinkedIn",
                  "value": "LinkedIn"
                },
                {
                  "name": "TikTok",
                  "value": "TikTok"
                },
                {
                  "name": "X",
                  "value": "X"
                },
                {
                  "name": "YouTube",
                  "value": "YouTube"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Social Channels",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "n8n Publishing Date",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "n8n Publishing Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "n8n Publishing Time",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "n8n Publishing Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Publishing Log",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Publishing Log",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "House Keeping",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "House Keeping",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "workflowId (from House Keeping)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "workflowId (from House Keeping)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "recordID (from House Keeping)",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "recordID (from House Keeping)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created Time",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Modified Time",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Modified Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Record ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Record ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "f2125c3f-eb4c-4963-a420-ec714d7a5eaf",
      "name": "Upload Video to Postiz",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -32,
        656
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "e5a01172-a683-4b41-a030-9a00bd263e07",
      "name": "Hashnode Postiz - POST NOW!1",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        416,
        368
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/posts",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"type\": \"schedule\",\n  \"shortLink\": false,\n  \"date\": \"{{ $now.plus({hours: 23}).toISO() }}\",\n  \"tags\": [],\n  \"posts\": [{\n    \"integration\": {\n      \"id\": \"{{ $('Prepare for Publish').item.json.hashnode_id }}\"\n    },\n    \"value\": [{\n      \"content\": {{ $('Prepare for Publish').item.json.final_text_long.toJsonString() }},\n      \"image\": [{\n        \"id\": \"{{ $('Upload Image to Postiz').item.json.id }}\",\n        \"path\": \"{{ $('Upload Image to Postiz').item.json.path }}\"\n      }]\n    }],\n    \"group\": \"postiz_n8n_apex_{{ $now.toMillis() }

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

How it works • Webhook triggers from content creation system in Airtable • Downloads media (images/videos) from Airtable URLs • Uploads media to Postiz cloud storage • Schedules or publishes content across multiple platforms via Postiz API • Tracks publishing status back to…

Source: https://n8n.io/workflows/7814/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

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

Slack & Telegram

[](https://www.linkedin.com/in/mosaab-yassir-lafrimi/)[](https://t.me/joevenner)

HTTP Request, Redis, S3 +1
Slack & Telegram

This n8n workflow receives files sent in a Telegram chat, uploads them to Google Drive, extracts text using OCR (for images and PDFs), and stores the extracted content in Airtable for quick search and

Telegram Trigger, Telegram, Google Drive +2
Slack & Telegram

I wanted to avoid the rush at end of month to log expenses. I tried existing expense apps but found them either too expensive for what they offer, or frustrating with inconsistent extraction results.

HTTP Request, Telegram
Slack & Telegram

This workflow is an AI-assisted clean plate and object removal pipeline built for modern VFX production environments. It transforms a single plate image and removal brief into multiple high-quality cl

HTTP Request, Google Drive, Slack +3
Slack & Telegram

01_order_processing_tilda. Uses stickyNote, googleSheets, httpRequest, telegram. Webhook trigger; 25 nodes.

Google Sheets, HTTP Request, Telegram