AutomationFlowsEmail & Gmail › Create Linkedin Carousel Post Drafts From RSS Articles with Postnitro and Gmail

Create Linkedin Carousel Post Drafts From RSS Articles with Postnitro and Gmail

ByArsalan @malik on n8n.io

This workflow polls the TechCrunch RSS feed for new articles, uses PostNitro to generate carousel content from each article URL, creates a PostNitro draft scheduled for the next day (LinkedIn document format), and sends Gmail notifications for both successful draft creation and…

Event trigger★★★★☆ complexity10 nodes@Postnitro/N8N Nodes Postnitro AiRss Feed Read TriggerGmail
Email & Gmail Trigger: Event Nodes: 10 Complexity: ★★★★☆ Added:

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

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": "TWgTKZVC7RNEXMsC",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Article-to-Carousel Draft Pipeline",
  "tags": [],
  "nodes": [
    {
      "id": "89f8472a-eedc-453b-97d4-f4af93376d75",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1280,
        -864
      ],
      "parameters": {
        "width": 480,
        "height": 864,
        "content": "## Article-to-Carousel Draft Pipeline\n\n### How it works\n\nThis workflow monitors an RSS feed for new article items, limits how many articles are processed, and turns an article URL into AI-generated carousel/post content using PostNitro. The generated content is then used to create a scheduled post or draft, with Gmail notifications sent from both the generation step and the final draft creation step.\n\n### Setup steps\n\n- Configure the RSS Feed Trigger with the source feed URL and polling settings.\n- Connect PostNitro credentials and configure the AI generation node to use the desired article URL field from the RSS item.\n- Configure the PostNitro draft/scheduling node with the target workspace, post settings, and whether posts should be drafts or scheduled.\n- Connect Gmail credentials and set the recipients, subject lines, and message bodies for both notification nodes.\n- Adjust the Limit node to control how many RSS items are processed per workflow run.\n\n### Customization\n\nYou can change the RSS feed source, the Limit value, PostNitro generation settings, scheduling behavior, and the Gmail notification recipients/content to match your publishing workflow."
      },
      "typeVersion": 1
    },
    {
      "id": "a940b1b2-0511-4bad-9e19-b2c7022ec139",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        -672
      ],
      "parameters": {
        "color": 7,
        "width": 656,
        "height": 336,
        "content": "## Fetch and generate draft\n\nStarts from the RSS feed, limits the number of incoming articles, and sends the selected article URL to PostNitro to generate carousel/post content with AI. These nodes form the main left-side horizontal processing cluster."
      },
      "typeVersion": 1
    },
    {
      "id": "fcfb672e-73f8-4615-bcf7-de946dd97b58",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -864
      ],
      "parameters": {
        "color": 7,
        "width": 448,
        "height": 336,
        "content": "## Create draft and notify\n\nUses the generated PostNitro content to create a scheduled post or draft, then sends a Gmail notification about that created draft. This is the upper-right output branch."
      },
      "typeVersion": 1
    },
    {
      "id": "ee958e37-3d42-4d13-a2ad-c30586a909c6",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        -496
      ],
      "parameters": {
        "color": 7,
        "width": 240,
        "height": 464,
        "content": "## Send generation notification\n\nSends a separate Gmail message directly after AI generation, likely to report generation status or provide an alternate notification path. This node is visually separated on the lower-right branch."
      },
      "typeVersion": 1
    },
    {
      "id": "1953f10d-1994-48a3-86e4-a4bf96898201",
      "name": "Generate AI Post from Article URL",
      "type": "@postnitro/n8n-nodes-postnitro-ai.postNitro",
      "notes": "={{ $json.error.message }}",
      "onError": "continueErrorOutput",
      "position": [
        -208,
        -496
      ],
      "parameters": {
        "brandId": "cmrabdq3r003jmf1fkirr1avg",
        "presetId": "cmr96cp9i0001k1040wqqpip9",
        "operation": "aiFromArticle",
        "articleUrl": "={{ $json.link }}",
        "templateId": "cmrnc0pvm000ql504luhyx3at"
      },
      "credentials": {
        "postNitroApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": false
    },
    {
      "id": "b1935ac6-4c49-40d6-8032-42b259d1aa13",
      "name": "Limit to 10 Articles",
      "type": "n8n-nodes-base.limit",
      "position": [
        -480,
        -496
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5db3d2ce-d129-45ff-a592-02cda9f9745d",
      "name": "Schedule Post Creation",
      "type": "@postnitro/n8n-nodes-postnitro-ai.postNitro",
      "position": [
        176,
        -688
      ],
      "parameters": {
        "status": "DRAFT",
        "designId": "={{ $json.data.result.designId }}",
        "resource": "scheduledPost",
        "postContent": {},
        "scheduledAt": "={{ $now.plus({ days: 1 }).toISO() }}",
        "platformSettings": {
          "linkedinPostSettings": "{\n  \"postType\": \"document\",\n  \"postTitle\": null\n}"
        },
        "selectedAccounts": [
          "cmrabkwrp0001jp04tateajp3"
        ]
      },
      "credentials": {
        "postNitroApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "71f66960-c3da-411d-93ab-7bd7739521ab",
      "name": "When RSS Feed Updates",
      "type": "n8n-nodes-base.rssFeedReadTrigger",
      "position": [
        -672,
        -496
      ],
      "parameters": {
        "feedUrl": "https://techcrunch.com/feed/",
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "166e9fc7-046b-4fb1-b243-48022a0b58db",
      "name": "Email Post Confirmation",
      "type": "n8n-nodes-base.gmail",
      "position": [
        432,
        -688
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "=A new carousel draft was generated from a TechCrunch article.\nTitle: {{ $json.designDetails.name }} \nReview it here: https://postnitro.ai/app/...",
        "options": {},
        "subject": "\ud83d\udcdd New draft ready for review"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d5de0915-a798-452e-ab36-54af007a3fad",
      "name": "Email Draft Creation Notice",
      "type": "n8n-nodes-base.gmail",
      "position": [
        272,
        -192
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "=Error: {{ $json.error }} Article: {{ $json.link }}",
        "options": {},
        "subject": "\u26a0\ufe0f Failed to generate draft from article"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.2
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "7ab7c755-2abd-4563-984c-78a4c646861a",
  "nodeGroups": [],
  "connections": {
    "Limit to 10 Articles": {
      "main": [
        [
          {
            "node": "Generate AI Post from Article URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When RSS Feed Updates": {
      "main": [
        [
          {
            "node": "Limit to 10 Articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Post Creation": {
      "main": [
        [
          {
            "node": "Email Post Confirmation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate AI Post from Article URL": {
      "main": [
        [
          {
            "node": "Schedule Post Creation",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Email Draft Creation Notice",
            "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 polls the TechCrunch RSS feed for new articles, uses PostNitro to generate carousel content from each article URL, creates a PostNitro draft scheduled for the next day (LinkedIn document format), and sends Gmail notifications for both successful draft creation and…

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

More Email & Gmail workflows → · Browse all categories →

Related workflows

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

Email & Gmail

This workflow polls the TechCrunch RSS feed for new articles, uses PostNitro AI to generate a LinkedIn carousel design from each article URL, saves it as a draft scheduled for the next day, and sends

@Postnitro/N8N Nodes Postnitro Ai, Rss Feed Read Trigger, Gmail
Email & Gmail

This n8n template demonstrates how to use Reka API via HTTP to AI generate a clip automatically from a YouTube video and send email notifications. Looking at the RSS feed of a YouTube channel, the flo

Rss Feed Read Trigger, Gmail, HTTP Request
Email & Gmail

This n8n template demonstrates how to use Reka Vision to automatically generate a customized video clip from a YouTube video using AI. The workflow keeps you informed by sending an email when the work

Rss Feed Read Trigger, @Reka Ai/N8N Nodes Reka, Gmail
Email & Gmail

email. Uses gmailTrigger, gmail, ftp, mattermost. Event-driven trigger; 81 nodes.

Gmail Trigger, Gmail, Ftp +1
Email & Gmail

Gmail Workflow. Uses gmail, googleCalendar, executeWorkflowTrigger, whatsApp. Event-driven trigger; 61 nodes.

Gmail, Google Calendar, Execute Workflow Trigger +2