πŸ“± Cross-post RSS feed articles to X, LinkedIn and Facebook with PostgreSQL

⚑ 12 views Β· πŸ“± Social Media & Email Marketing

πŸ’‘ Pro Tip β€” If you’re pulling LinkedIn data through HTTP requests or dealing with API restrictions, there’s a community node called ScraperNode that handles this natively. It has dedicated scrapers for profiles, companies, jobs, and people search β€” you just pass a URL and get structured data back.

View All Scrapers

Description

Quick overview

This workflow reads new RSS articles on a configurable schedule and turns them into ready-to-publish posts for X, LinkedIn, and Facebook. Each publication is recorded in PostgreSQL to prevent duplicates.

How it works

  1. Runs on a 15-minute schedule to start an RSS cross-posting cycle.
  2. Builds and validates the RSS and destination configuration, and stops with an error summary if required values are missing or invalid.
  3. Ensures a PostgreSQL ledger table exists to store publication results and prevent duplicate posting.
  4. Reads items from each enabled RSS feed and normalizes article fields (title, excerpt, URL, publish date), optionally appending UTM parameters to links.
  5. Creates one publication candidate per enabled channel, generates a SHA-256 content hash, and routes each candidate to X, LinkedIn, or Facebook.
  6. Posts the rendered message to X, creates a LinkedIn organization post, and publishes to a Facebook Page (or skips API calls in dry-run mode) and then upserts a per-channel result record into PostgreSQL.
  7. Produces a run summary with counts and warnings across all attempted publications.

Setup

  1. Add credentials for X (Twitter OAuth2), LinkedIn OAuth2, Facebook Graph API, and a PostgreSQL database.
  2. Update the RSS feed URL list and message templates in the configuration step, and choose which channels to enable.
  3. Set your LinkedIn organization ID and Facebook Page ID in the configuration when those channels are enabled.
  4. Confirm the PostgreSQL schema/database allows creating and writing to the workflow_factory.rss_cross_post_ledger table.
  5. Keep dry_run enabled until the posts and destinations look correct, then disable it to publish live.

Requirements

Customization

Additional info

The workflow publishes each article independently per channel, so a failure on one platform does not prevent the others from being processed. Dry-run mode allows you to verify formatting and deduplication before enabling live publishing.

πŸ”— Nodes Used

Postgres, RSS Read, Facebook Graph API, X (Formerly Twitter), LinkedIn, Schedule Trigger

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup