{
  "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
          }
        ]
      ]
    }
  }
}