AutomationFlowsAI & RAG › Automate Social Media Headlines with Bright Data & N8n

Automate Social Media Headlines with Bright Data & N8n

ByYaron Been @yaron-nofluff on n8n.io

This workflow automatically finds trending headlines and content from various sources and posts them to your social media accounts. It helps maintain an active social media presence without the daily manual effort of content curation.

Event trigger★★★★☆ complexityAI-powered16 nodesOpenAI ChatAgentLinkedInTwitterHTTP Request
AI & RAG Trigger: Event Nodes: 16 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → 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": "u2mAzsvf9Aj0k3Ux",
  "name": "Automated_Social_Media_Headline_Poster_via_Bright_data",
  "tags": [],
  "nodes": [
    {
      "id": "22814b65-765e-48c3-98c2-00982b74e70e",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3000,
        900
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0fd15cfb-7564-4db3-bdb0-b0a32b69c4fb",
      "name": "LinkedIn post writer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2980,
        680
      ],
      "parameters": {
        "text": "={{ $json.Title }}",
        "options": {
          "systemMessage": "Extract the headline and write a post for LinkedIn based on the headline"
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "aac3869f-9f8e-49b0-bdc9-9eae0921474c",
      "name": "Run workflow",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        1960,
        680
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a5187a0d-25b8-45d4-8578-4ad51397ab41",
      "name": "Set Target News URL",
      "type": "n8n-nodes-base.set",
      "position": [
        2180,
        680
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "2c5f11b0-9f25-4b30-b0a0-1080fd33e7d4",
              "name": "SIte",
              "type": "string",
              "value": "Vogue"
            },
            {
              "id": "65be4ab3-6cef-4f70-9cb9-e9753fbf7543",
              "name": "URL",
              "type": "string",
              "value": "https://www.vogue.com/fashion"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "79362a39-b73d-4f40-bdee-780d78abfae6",
      "name": "Publish to LinkedIn",
      "type": "n8n-nodes-base.linkedIn",
      "position": [
        3360,
        680
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "fbf2c950-fd2c-4aa3-9e24-45d171f1056b",
      "name": "Publish to X (Twitter)",
      "type": "n8n-nodes-base.twitter",
      "position": [
        3980,
        680
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "additionalFields": {}
      },
      "typeVersion": 2
    },
    {
      "id": "7f4e4da6-3611-496b-a4bc-93daa1d9039f",
      "name": "X (Twitter) post writer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3620,
        680
      ],
      "parameters": {
        "text": "={{ $('Extract Title').item.json.Title }}",
        "options": {
          "systemMessage": "Extract the headline and write a post for Twitter based on the headline"
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "7b730fa3-5c0a-422f-8de5-f713b2f945ab",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "defc9ec0-917a-4020-940b-9cb926a3a582",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        340
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 3418,
        "content": "# \u26a1 Automated Vogue Headline \u2192 Social Media Poster\n\n### \ud83e\udde0 Purpose:\n\nAutomatically scrape trending headlines from Vogue, convert them into engaging posts using AI, and publish them to **LinkedIn** and **Twitter (X)** \u2014 *no manual effort needed*.\n\n---\n\n## \ud83d\udd36 **Section 1: Set the Target Source**\n\n\ud83d\udccc *Nodes:*\n\n* `Run workflow`\n* `Set Target News URL`\n\n### \ud83d\udee0 What\u2019s Happening:\n\n* \u2705 `Run workflow`: Triggers the automation either manually or on a schedule (e.g., daily).\n* \ud83d\udd8a `Set Target News URL`: Sets the **source URL** (e.g., `https://www.vogue.com/fashion`) from where the headlines will be scraped.\n\n### \ud83d\udca1 Why It Matters:\n\nThis lets you choose your news source dynamically. You could even expand this later for other websites like *TechCrunch, Forbes, etc.*\n\n> ![\ud83e\udded](https://em-content.zobj.net/thumbs/120/apple/354/compass_1f9ed.png) Think of this section as the **GPS** \u2013 it tells the system where to go fetch the news from.\n\n---\n\n## \ud83d\udd37 **Section 2: Scrape & Extract Headlines**\n\n\ud83d\udccc *Nodes:*\n\n* `Scrape Vogue via Bright Data`\n* `Extract Title`\n\n### \ud83d\udee0 What\u2019s Happening:\n\n* \ud83c\udf10 `Scrape Vogue via Bright Data`: Uses **Bright Data Web Unlocker** to bypass bot protection and get the full HTML of the Vogue page using a POST request.\n* \ud83e\uddfe `Extract Title`: Extracts the headline(s) from the HTML using a CSS selector like `.article-feed-card__hed-text`.\n\n### \ud83d\udca1 Why It Matters:\n\nSome websites block scraping \u2014 **Bright Data** ensures you can reliably extract content. The extractor node ensures you get clean, usable text.\n\n> ![\ud83d\udd78\ufe0f](https://em-content.zobj.net/thumbs/120/apple/354/spider-web_1f578-fe0f.png) This is your **web crawler** and **filter**, doing the dirty work of fetching and cleaning up info.\n\n---\n\n## \ud83d\udfe3 **Section 3: Use AI to Write Engaging Posts**\n\n\ud83d\udccc *Nodes:*\n\n* `LinkedIn post writer`\n* `X (Twitter) post writer`\n\n### \ud83d\udee0 What\u2019s Happening:\n\n* \ud83e\udd16 `LinkedIn post writer`: Passes the headline to an OpenAI Chat Model to turn it into a professional, catchy LinkedIn post.\n* \ud83d\udc26 `X (Twitter) post writer`: Similarly formats a shorter, witty version for X/Twitter.\n\nBoth use prompts like:\n\n> \u201cWrite a trendy post about the following Vogue headline for \\[LinkedIn/Twitter]. Add hashtags. Keep tone professional/casual.\u201d\n\n### \ud83d\udca1 Why It Matters:\n\nAI tailors each post **per platform** \u2014 no copy-pasting. Your brand voice is preserved while staying context-aware.\n\n> ![\u270d\ufe0f](https://em-content.zobj.net/thumbs/120/apple/354/writing-hand_270d-fe0f.png) This is your **copywriting intern** \u2014 except it works 24/7 and never gets tired.\n\n---\n\n## \ud83d\udd34 **Section 4: Auto-Publish to Social Media**\n\n\ud83d\udccc *Nodes:*\n\n* `Publish to LinkedIn`\n* `Publish to X (Twitter)`\n\n### \ud83d\udee0 What\u2019s Happening:\n\n* \ud83d\udcbc `Publish to LinkedIn`: Posts the AI-generated content directly to your **LinkedIn page or profile**.\n* \ud83d\udce3 `Publish to X (Twitter)`: Tweets the optimized content via your **Twitter developer account**.\n\n> Note: These nodes are showing \u26a0\ufe0f errors \u2014 make sure authentication and permissions (tokens) are set up correctly.\n\n### \ud83d\udca1 Why It Matters:\n\nThis eliminates **manual social media posting** \u2014 great for content marketers, personal branding, or agencies.\n\n> ![\ud83d\ude80](https://em-content.zobj.net/thumbs/120/apple/354/rocket_1f680.png) This section is your **launchpad**, sending your posts to the world.\n\n---\n\n# \ud83e\udde9 Summary Table\n\n| Section | Function                     | What It Does                                     | Key Tools                      |\n| ------- | ---------------------------- | ------------------------------------------------ | ------------------------------ |\n| 1       | Set Target URL               | Tells the system what site to scrape             | `Manual Trigger`, `Set Node`   |\n| 2       | Scrape & Extract             | Uses Bright Data to get HTML + Extract headlines | `HTTP Request`, `HTML Extract` |\n| 3       | AI Content Generation        | Converts headline into social media post         | `OpenAI`, `Chat Model`         |\n| 4       | Auto-Publish to Social Media | Posts to LinkedIn and Twitter                    | `LinkedIn`, `X/Twitter`        |\n\n---\n\n# \u2728 Bonus Suggestions\n\n\u2705 Add a **scheduler** to run this daily\n\u2705 Log posted headlines in **Google Sheets or Notion**\n\u2705 Add a filter to **skip duplicate headlines**\n\n---\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "490c2efe-0d1e-408c-806c-5e3a48f61264",
      "name": "Scrape Vogue via Bright data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2480,
        680
      ],
      "parameters": {
        "url": "https://api.brightdata.com/request",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "zone",
              "value": "n8n_unblocker"
            },
            {
              "name": "url",
              "value": "={{ $json.URL }}"
            },
            {
              "name": "country",
              "value": "us"
            },
            {
              "name": "format",
              "value": "raw"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_TOKEN_HERE"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a7a4f66f-b5a8-4563-a306-57b72c1ac0a1",
      "name": "Extract Title",
      "type": "n8n-nodes-base.html",
      "position": [
        2720,
        680
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "Title",
              "cssSelector": "#\\35 f10df145161a26b33fec09b > div > div > div > div.SummaryItemWrapper-iwvBff.juTBkb.summary-item.summary-item--no-icon.summary-item--text-align-center.summary-item--layout-placement-text-below.summary-item--layout-position-image-left.summary-item--layout-proportions-50-50.summary-item--side-by-side-align-center.summary-item--side-by-side-image-right-mobile-false.summary-item--standard.SummaryCollageFiveItem-kWJUcr.fqnbhT.search_result_item-68507588d2b17faf259ac70e.undefined_summary_item-68507588d2b17faf259ac70e > div.SummaryItemContent-eiDYMl.fSburJ.summary-item__content > a > h3"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f4d2614f-ddf7-48ea-83cc-7f7675ca35be",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1940,
        -40
      ],
      "parameters": {
        "color": 5,
        "width": 380,
        "height": 920,
        "content": "## \ud83d\udd36 **Section 1: Set the Target Source**\n\n\ud83d\udccc *Nodes:*\n\n* `Run workflow`\n* `Set Target News URL`\n\n### \ud83d\udee0 What\u2019s Happening:\n\n* \u2705 `Run workflow`: Triggers the automation either manually or on a schedule (e.g., daily).\n* \ud83d\udd8a `Set Target News URL`: Sets the **source URL** (e.g., `https://www.vogue.com/fashion`) from where the headlines will be scraped.\n\n### \ud83d\udca1 Why It Matters:\n\nThis lets you choose your news source dynamically. You could even expand this later for other websites like *TechCrunch, Forbes, etc.*\n\n> ![\ud83e\udded](https://em-content.zobj.net/thumbs/120/apple/354/compass_1f9ed.png) Think of this section as the **GPS** \u2013 it tells the system where to go fetch the news from.\n\n---\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4926a696-817c-417e-86d7-ebb4eacb5c3a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2420,
        -80
      ],
      "parameters": {
        "color": 7,
        "width": 440,
        "height": 960,
        "content": "## \ud83d\udd37 **Section 2: Scrape & Extract Headlines**\n\n\ud83d\udccc *Nodes:*\n\n* `Scrape Vogue via Bright Data`\n* `Extract Title`\n\n### \ud83d\udee0 What\u2019s Happening:\n\n* \ud83c\udf10 `Scrape Vogue via Bright Data`: Uses **Bright Data Web Unlocker** to bypass bot protection and get the full HTML of the Vogue page using a POST request.\n* \ud83e\uddfe `Extract Title`: Extracts the headline(s) from the HTML using a CSS selector like `.article-feed-card__hed-text`.\n\n### \ud83d\udca1 Why It Matters:\n\nSome websites block scraping \u2014 **Bright Data** ensures you can reliably extract content. The extractor node ensures you get clean, usable text.\n\n> ![\ud83d\udd78\ufe0f](https://em-content.zobj.net/thumbs/120/apple/354/spider-web_1f578-fe0f.png) This is your **web crawler** and **filter**, doing the dirty work of fetching and cleaning up info.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "aaab5f22-013e-4697-80c5-3fac64a76e6f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2940,
        -80
      ],
      "parameters": {
        "color": 6,
        "width": 540,
        "height": 1100,
        "content": "## \ud83d\udfe3 **Section 3: Use AI to Write Engaging Posts**\n\n\ud83d\udccc *Nodes:*\n\n* `LinkedIn post writer`\n* `X (Twitter) post writer`\n\n### \ud83d\udee0 What\u2019s Happening:\n\n* \ud83e\udd16 `LinkedIn post writer`: Passes the headline to an OpenAI Chat Model to turn it into a professional, catchy LinkedIn post.\n* \ud83d\udc26 `X (Twitter) post writer`: Similarly formats a shorter, witty version for X/Twitter.\n\nBoth use prompts like:\n\n> \u201cWrite a trendy post about the following Vogue headline for \\[LinkedIn/Twitter]. Add hashtags. Keep tone professional/casual.\u201d\n\n### \ud83d\udca1 Why It Matters:\n\nAI tailors each post **per platform** \u2014 no copy-pasting. Your brand voice is preserved while staying context-aware.\n\n> ![\u270d\ufe0f](https://em-content.zobj.net/thumbs/120/apple/354/writing-hand_270d-fe0f.png) This is your **copywriting intern** \u2014 except it works 24/7 and never gets tired.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fb12e0fa-64e2-4ea3-a01b-8b1204efae2a",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3580,
        -60
      ],
      "parameters": {
        "color": 3,
        "width": 540,
        "height": 940,
        "content": "## \ud83d\udd34 **Section 4: Auto-Publish to Social Media**\n\n\ud83d\udccc *Nodes:*\n\n* `Publish to LinkedIn`\n* `Publish to X (Twitter)`\n\n### \ud83d\udee0 What\u2019s Happening:\n\n* \ud83d\udcbc `Publish to LinkedIn`: Posts the AI-generated content directly to your **LinkedIn page or profile**.\n* \ud83d\udce3 `Publish to X (Twitter)`: Tweets the optimized content via your **Twitter developer account**.\n\n> Note: These nodes are showing \u26a0\ufe0f errors \u2014 make sure authentication and permissions (tokens) are set up correctly.\n\n### \ud83d\udca1 Why It Matters:\n\nThis eliminates **manual social media posting** \u2014 great for content marketers, personal branding, or agencies.\n\n> ![\ud83d\ude80](https://em-content.zobj.net/thumbs/120/apple/354/rocket_1f680.png) This section is your **launchpad**, sending your posts to the world.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2ea582b1-c9ac-4a6c-8c39-ec97cd14b6f4",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4240,
        -60
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 240,
        "content": "## I\u2019ll receive a tiny commission if you join Bright Data through this link\u2014thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "cb513f17-9010-4f78-bc85-756813814380",
  "connections": {
    "Run workflow": {
      "main": [
        [
          {
            "node": "Set Target News URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Title": {
      "main": [
        [
          {
            "node": "LinkedIn post writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "LinkedIn post writer",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "X (Twitter) post writer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Publish to LinkedIn": {
      "main": [
        [
          {
            "node": "X (Twitter) post writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Target News URL": {
      "main": [
        [
          {
            "node": "Scrape Vogue via Bright data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LinkedIn post writer": {
      "main": [
        [
          {
            "node": "Publish to LinkedIn",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "X (Twitter) post writer": {
      "main": [
        [
          {
            "node": "Publish to X (Twitter)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Vogue via Bright data": {
      "main": [
        [
          {
            "node": "Extract Title",
            "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 automatically finds trending headlines and content from various sources and posts them to your social media accounts. It helps maintain an active social media presence without the daily manual effort of content curation.

Source: https://n8n.io/workflows/5215/ — 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

This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents. ​

Tool Http Request, Agent, HTTP Request +27
AI & RAG

Hacker News to Video Template - AlexK1919. Uses manualTrigger, hackerNews, splitInBatches, lmChatOpenAi. Event-driven trigger; 48 nodes.

Hacker News, OpenAI Chat, Tool Http Request +11
AI & RAG

Instead of staring at a blank page, this workflow scrapes top-performing content, breaks down the psychological hooks, rewrites it for your specific audience, and drafts a custom text graphic. Once yo

Twitter, Facebook Graph Api, LinkedIn +8
AI & RAG

Awesome N8N Templates. Uses stickyNote, gmail, executeWorkflowTrigger, httpRequest. Event-driven trigger; 35 nodes.

Gmail, Execute Workflow Trigger, HTTP Request +7
AI & RAG

Whether you’re a product manager, developer, or simply curious about workflow automation, you’re in the right place. This n8n workflow is designed to help you streamline and automate your social media

Output Parser Structured, OpenAI Chat, LinkedIn +8