Skip to main content

Publish RSS articles to LinkedIn and Instagram using OpenAI and Gemini images

Workflow preview

Workflow preview
100%
Publish RSS articles to LinkedIn and Instagram using OpenAI and Gemini images preview
Open on n8n.io

1. Workflow Overview

This n8n workflow automatically converts new RSS feed articles into ready to publish social media posts for LinkedIn and Instagram. Whenever a new article is detected from the RSS feed, the workflo...

Best for

  • Social Media automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.lmchatopenai, @n8n/n8n-nodes-langchain.googlegemini, n8n-nodes-uploadtourl.uploadtourl, n8n-nodes-base.rssfeedreadtrigger, n8n-nodes-base.set, @n8n/n8n-nodes-langchain.chainllm, n8n-nodes-base.code, n8n-nodes-base.linkedin

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Jitesh Dugar.

Original n8n.io source

1.1 Workflow description

Title
Publish RSS articles to LinkedIn and Instagram using OpenAI and Gemini images
Workflow name
Publish RSS articles to LinkedIn and Instagram using OpenAI and Gemini images

This n8n workflow automatically converts new RSS feed articles into ready-to-publish social media posts for LinkedIn and Instagram.

Whenever a new article is detected from the RSS feed, the workflow extracts the article title, link, description, and publish date. It then uses OpenAI to generate a professional LinkedIn post, a short Instagram caption, relevant hashtags, and an image prompt. After that, Google Gemini generates a custom image, UploadToURL converts the generated image into a public image URL, and the workflow publishes the final content to LinkedIn and Instagram.


What This Workflow Does

  • Watches an RSS feed for new articles
  • Extracts article title, link, description, and publish date
  • Uses OpenAI to generate LinkedIn and Instagram content
  • Creates an AI-generated image using Google Gemini
  • Uploads the generated image to a public URL using UploadToURL
  • Publishes the AI-generated post to LinkedIn
  • Publishes the generated image and caption to Instagram

Node-by-Node Explanation


1. Watch RSS Feed for New Articles

What this node does

This node monitors an RSS feed and checks for new articles every hour.

How it works

The RSS Feed Trigger runs automatically based on the configured polling schedule. In this workflow, it checks the RSS feed every hour.

When a new article is found, the node outputs article data such as:

  • Title
  • Link
  • Publish date
  • Description
  • Content snippet

Why it is important

This node starts the automation. Instead of manually checking a blog, news website, or company update page, the workflow automatically detects fresh content and begins the social media publishing process.


2. Extract Article Data

What this node does

This node cleans and organizes the raw RSS feed data into simple fields that can be used in the next steps.

How it works

It extracts the important article details and stores them in clean fields:

  • article_title
  • article_link
  • article_description
  • published_date

3. Generate Social Media Content

What this node does

This node uses AI to create platform-ready social media content from the RSS article.

How it works

It sends the article title, description, and link to the OpenAI model and asks it to return valid JSON only.

The generated JSON includes:

  • content_angle
  • linkedin_post
  • instagram_caption
  • instagram_image_prompt
  • hashtags

4. Parse AI JSON Output

What this node does

This node converts the AI-generated JSON text into clean structured fields.

How it works

Sometimes AI returns JSON inside markdown code blocks. This node first removes unwanted formatting like:

```json

Then it parses the cleaned text using:

```js
JSON.parse()

After parsing, it returns these fields:

  • content_angle
  • linkedin_post
  • instagram_caption
  • instagram_image_prompt
  • hashtags
  • hashtags_text

Why it is important

The next nodes need structured data, not raw AI text. This node makes sure the AI output becomes proper fields that can be used by the image generation, LinkedIn, and Instagram nodes.

Error handling

If the AI output is not valid JSON, this node throws an error. This helps catch formatting issues before the workflow publishes anything.


5. Generate an Image

What this node does

This node generates an AI image for the social media post.

How it works

It uses Google Gemini image generation with the model:

models/gemini-2.5-flash-image

The image prompt comes from the parsed AI output:

$json.instagram_image_prompt

The prompt describes the visual concept, style, and layout for the image.

Why it is important

This node creates a custom visual automatically, so the workflow can publish image-based posts instead of only text updates.


6. Upload a File

What this node does

This node uploads the AI-generated image and converts it into a public image URL using UploadToURL.

How it works

After the image is generated by Google Gemini, the file is passed to the Upload a File node. UploadToURL receives the generated image file, uploads it, and returns a publicly accessible CDN URL.

That public URL is then used by the Instagram node to publish the generated image.

Why it is important

Many social media platforms and APIs require a public image URL before they can publish media. This node solves that problem by converting the generated image file into a shareable public link automatically. UploadToURL


7. Publish LinkedIn Post

What this node does

This node publishes the AI-generated LinkedIn post.

How it works

It takes the LinkedIn post text from the Parse AI JSON Output node:

$('Parse AI JSON Output').item.json.linkedin_post

The LinkedIn node is configured to publish a post using the generated content.


8. Publish Instagram Post

What this node does

This node publishes the generated image and caption to Instagram.

How it works

It uses the public image URL returned from the UploadToURL node:

$json.url

It also uses the Instagram caption generated by AI:

$('Parse AI JSON Output').item.json.instagram_caption

Why it is important

This node completes the Instagram publishing process by posting both the generated image and the AI-written caption automatically.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - OpenAI Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.3

Block 2 - Generate an image

Type / Role
@n8n/n8n-nodes-langchain.googleGemini - googleGemini
Config choices
Version 1.1

Block 3 - Upload a File

Type / Role
n8n-nodes-uploadtourl.uploadToUrl - uploadToUrl
Config choices
Version 1

Block 4 - Watch RSS Feed for New Articles

Type / Role
n8n-nodes-base.rssFeedReadTrigger - rssFeedReadTrigger
Config choices
Version 1

Block 5 - Extract Article Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 6 - Generate Social Media Content

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.9

Block 7 - Parse AI JSON Output

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 8 - Publish LinkedIn Post

Type / Role
n8n-nodes-base.linkedIn - linkedIn
Config choices
Version 1

Block 9 - Publish Instagram Post

Type / Role
@mookielianhd/n8n-nodes-instagram.instagram - instagram
Config choices
Version 1

Block 10 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note8

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Publish RSS articles to LinkedIn and Instagram using OpenAI and Gemini images
Complexity advanced
Nodes 18
Categories Social Media, Multimodal AI
Author Jitesh Dugar
Published 13 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15697/15697.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Publish RSS articles to LinkedIn and Instagram using OpenAI and Gemini images do?

This n8n workflow automatically converts new RSS feed articles into ready to publish social media posts for LinkedIn and Instagram. Whenever a new article is detected from the RSS feed, the workflo...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Social Media, Multimodal AI use case.