AutomationFlowsAI & RAG › Create Linkedin Posts From Web Pages Using Airtable, Dumpling Ai, Claude and…

Create Linkedin Posts From Web Pages Using Airtable, Dumpling Ai, Claude and…

Original n8n title: Create Linkedin Posts From Web Pages Using Airtable, Dumpling Ai, Claude and Postpulse

ByOleksandr Pohorelov @alex97po on n8n.io

This workflow takes web URL's from Airtable, extract URL data with Dumpling AI, creates attention grabbing LinkedIn post with Claude, and schedules post in PostPulse.

Event trigger★★★★☆ complexityAI-powered8 nodesAirtable TriggerHTTP RequestAnthropic@Postpulse/N8N Nodes PostpulseAirtable
AI & RAG Trigger: Event Nodes: 8 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #14841 — 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": "RoWpuBpOERpCpWjj",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Website Articles to LinkedIn Post copy",
  "tags": [],
  "nodes": [
    {
      "id": "8578bf54-a0e9-44d2-8527-59b5998958d8",
      "name": "Airtable Trigger",
      "type": "n8n-nodes-base.airtableTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "baseId": {
          "__rl": true,
          "mode": "url",
          "value": "https://airtable.com/appV8W8qiCqqy4cIz/tblQKHqO4ltrAN0jS"
        },
        "tableId": {
          "__rl": true,
          "mode": "id",
          "value": "tblQKHqO4ltrAN0jS"
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerField": "URL link",
        "authentication": "airtableTokenApi",
        "additionalFields": {}
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9d5102e9-5f2b-4610-bd53-360cc51a4ad6",
      "name": "Extract URL Details",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        208,
        0
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/extract",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"url\": \"{{ $json.fields['URL link'] }}\",\n  \"schema\": {\n    \"title\": \"Title of the article\",\n    \"description\": \"website summary with key points\"\n  }\n} ",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "Bearer YOUR_TOKEN_HERE"
            }
          ]
        }
      },
      "typeVersion": 4.4
    },
    {
      "id": "ce5ba654-7ddd-4183-9b70-ffb2d3f44daa",
      "name": "Message a model",
      "type": "@n8n/n8n-nodes-langchain.anthropic",
      "position": [
        416,
        0
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "claude-haiku-4-5-20251001",
          "cachedResultName": "claude-haiku-4-5-20251001"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Create a long form linkedIn post using the provided airtcle summary below. The post should be attention catching, scroll stopping, insightful and detailed. \n\nHere's the website summary:\n{{ $json.results.description }}\n\nNote: Only create the response and the output."
            }
          ]
        }
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9cd94275-2d36-4b4c-9e92-59be04b12d0e",
      "name": "Schedule a light post",
      "type": "@postpulse/n8n-nodes-postpulse.postPulse",
      "position": [
        736,
        0
      ],
      "parameters": {
        "content": "={{ $json.content[0].text }}",
        "operation": "scheduleLight",
        "scheduledTime": "2026-04-01T00:00:00",
        "socialMediaAccount": "LINKEDIN|1204"
      },
      "credentials": {
        "postPulseOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d0c768f7-d80b-4770-a849-39b41587ac50",
      "name": "Update record",
      "type": "n8n-nodes-base.airtable",
      "position": [
        944,
        0
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appV8W8qiCqqy4cIz",
          "cachedResultUrl": "https://airtable.com/appV8W8qiCqqy4cIz",
          "cachedResultName": "LinkedIn Post from URL"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblQKHqO4ltrAN0jS",
          "cachedResultUrl": "https://airtable.com/appV8W8qiCqqy4cIz/tblQKHqO4ltrAN0jS",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "id": "={{ $('Airtable Trigger').item.json.id }}",
            "Post Status": "Scheduled",
            "Generated LinkedIn Post": "={{ $json.publications[0].posts[0].content }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "URL link",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "URL link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generated LinkedIn Post",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Generated LinkedIn Post",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Scheduled",
                  "value": "Scheduled"
                },
                {
                  "name": "Not Scheduled",
                  "value": "Not Scheduled"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Post Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "8907147d-3848-4542-b10e-137f0375edd7",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        -576
      ],
      "parameters": {
        "width": 544,
        "height": 704,
        "content": "**Workflow Purpose**\nA LinkedIn post generation workflow that extracts data from websites, creates content with Claude, and schedule post in PostPulse using data from Airtable.\n\n## Workflow Steps\n**1. Airtable Trigger** \n* Triggers the worflow whenever a new table is created in Airtable. \n\n\n**2. Extract URL Details**\n* Extracts website summary using Dumpling AI's extract endpoint and the url field from Airtable.\n\n\n**3. Create LinkedIn Post**\n* Creates LinkedIn post using Claude and the extracted website summary.\n\n\n**4. Schedule a Light Post**\n* Schedule post to go out daily. \n\n\n**5. Update Record**\n* Update status of Airtable record to \"scheduled\" and save generated LinkedIn post.\n\n\n\n## Notes\nPrompt used in Claude can be refined to create an output that sounds more like the users \"LinkedIn voice\"."
      },
      "typeVersion": 1
    },
    {
      "id": "9d231e1b-a514-4574-966c-27bf63dd7dae",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        -176
      ],
      "parameters": {
        "color": 7,
        "width": 688,
        "height": 288,
        "content": "## Kick-Off workflow\n\nSearches Airtable and uses AI to extract website data and create a social media post with Dumpling AI and Claude respectively."
      },
      "typeVersion": 1
    },
    {
      "id": "196535a9-007c-42d5-bbae-e1dff9a72cca",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        688,
        -176
      ],
      "parameters": {
        "color": 7,
        "width": 448,
        "height": 304,
        "content": "## Schedule Post and Updates Airtable\n\nSchedules generated social media post in PostPulse and updates a record in Airtable."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "5b01d606-60e8-48b6-bf20-d9b21ac8fea5",
  "connections": {
    "Message a model": {
      "main": [
        [
          {
            "node": "Schedule a light post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Airtable Trigger": {
      "main": [
        [
          {
            "node": "Extract URL Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract URL Details": {
      "main": [
        [
          {
            "node": "Message a model",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule a light post": {
      "main": [
        [
          {
            "node": "Update record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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

This workflow takes web URL's from Airtable, extract URL data with Dumpling AI, creates attention grabbing LinkedIn post with Claude, and schedules post in PostPulse.

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

++How it works++ This workflow takes post ideas and prompts from Airtable, creates viral social media content with Claude, and schedules daily posts in PostPulse.

Airtable Trigger, HTTP Request, @Postpulse/N8N Nodes Postpulse +2
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Airtable, OpenAI, Form Trigger +3
AI & RAG

Voice Note -> Veo 3 AD. Uses telegramTrigger, telegram, openAi, httpRequest. Event-driven trigger; 49 nodes.

Telegram Trigger, Telegram, OpenAI +3
AI & RAG

This n8n workflow automates the creation of 9:16 aspect ratio images optimized for short-form video content and thumbnails. It integrates multiple tools to retrieve content, generate scripts, and crea

Airtable, OpenAI, HTTP Request +1
AI & RAG

This workflow automatically turns any audio file uploaded to Google Drive into a complete podcast episode. It handles transcription, content generation, blog drafting, social copy creation, thumbnail

Google Drive Trigger, Google Drive, OpenAI +3