Auto-repurpose RSS blog posts into multi-platform social content with n8n
RSS feed → AI rewrite (SEO blog / LinkedIn / X thread) → Google Sheets calendar + Gmail draft + Slack notification
- Who
- Content operators, founders, and marketing teams who need to auto-distribute blog/newsletter content to social channels
- You get
- Daily auto-fetch of the latest RSS article, generating an SEO title, blog rewrite, LinkedIn post, and X thread, logged to a spreadsheet, emailed as a draft, and notified in Slack
- You need
- n8n · google-sheets · gmail · slack
Constraints
Prerequisites: n8n instance; OpenAI API key; OAuth credentials for Google Sheets, Gmail, and Slack. A Google Sheet with columns Date, Status, SEO Title, Source Link, Source Title, LinkedIn Post, Twitter Thread must be created beforehand. Each run consumes ~1 OpenAI call; output is saved as drafts and requires human review before publishing.
What they did
Template author abhi-g built an n8n automation that fetches the latest article from a specified RSS feed daily, rewrites it into multiple social content formats via gpt-4o-mini, and auto-distributes the results to a Google Sheets content calendar, a Gmail draft, and a Slack channel for team review.
How it went
Source report: each run uses ~1 OpenAI call; a cheap model like gpt-4o-mini is recommended. Output is saved as drafts and should be reviewed before publishing. No specific conversion rates or long-term stability data were reported by the source.
Worth knowing
The template ships without credentials; you must connect your own. The Slack channel ID is empty in the template and must be selected manually. Take Newest Only is capped at 1 to avoid processing multiple posts per run; raise the limit to backfill history. You may later add LinkedIn/X/Buffer nodes for auto-publishing.
n8n workflow template
Structure checked · Not run-testedUse “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.
Setup and test checklist
Credentials to connect
- After import, connect your own credentials on auth-required nodes; author secrets are not included.
Configuration to replace
- Source template is n8n public workflow #16158 (~15 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
- Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.
Test input and expected output
- Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
- Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.
Template changes
- Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
- No business-logic edits; verify keys, quotas and privacy compliance before use.
Template retrieved: 2026-10-25
Steps
Configure trigger and content source
After importing the template into n8n, set up credentials for OpenAI, Google Sheets, Gmail, and Slack. Then edit the 'Set Brand & Source' node: enter your RSS feed URL, audience description, and brand voice. The remaining nodes (Every Day schedule trigger, Get Latest Article RSS read, Take Newest Only limit to 1 item) stay connected by default.
AI rewrite into structured multi-platform content
The 'Repurpose into Content' node sends the latest article title, snippet, and link to the OpenAI Chat Model (gpt-4o-mini), with a Structured Output Parser enforcing JSON. The node contains a built-in system prompt defining output fields and format requirements.
Execution prompt · Source text。n8n node 'Repurpose into Content' text parameter (Basic LLM Chain custom prompt)
=You are a senior content strategist. Repurpose the source content below for the brand. Audience: {{ $('Set Brand & Source').item.json.audience }} Brand voice: {{ $('Set Brand & Source').item.json.brand_voice }} Source title: {{ $json.title }} Source content: {{ $json.contentSnippet || $json.content }} Source link: {{ $json.link }} Return: - seo_title: a punchy, search-friendly title (<= 60 chars). - meta_description: a 150-160 char summary for SEO. - blog_post: a rewritten, original blog post in markdown (~400-600 words) in the brand voice. Do not copy sentences verbatim. - linkedin_post: a LinkedIn post (hook + value + soft CTA), no more than 1300 chars. - twitter_thread: an X/Twitter thread as an array of tweets, each <= 270 chars. - hashtags: 3-5 relevant hashtags as a single string.Distribute to spreadsheet, email, and Slack
The parsed JSON is sent in parallel to three nodes: Save to Content Calendar appends to Google Sheets (with date, status, SEO title, source link, LinkedIn post, and Twitter thread); Draft for Review creates a Gmail draft containing all generated content; Share in Slack posts a channel message with the SEO title, source link, and LinkedIn draft preview.
Execution prompt · Source text。n8n node 'Share in Slack' text parameter
=:memo: *New content ready to review:* {{ $json.output.seo_title }} From: {{ $('Take Newest Only').item.json.link }} *LinkedIn draft:* {{ $json.output.linkedin_post }}
Prompt you can copy
Setup guidance · Editorial suggestion。Give to setup assistant; confirm inputs and permissions first
This block is the prompt. Ads are never placed here.
You are setting up an n8n workflow that auto-fetches a blog from RSS and rewrites it into an SEO blog post, LinkedIn post, and X thread. Check in this order: 1) Confirm OAuth credentials are added for OpenAI, Google Sheets, Gmail, and Slack; 2) In the 'Set Brand & Source' node, enter your RSS URL, audience, and brand voice; 3) In the Google Sheets node, replace YOUR_GOOGLE_SHEET_ID with your sheet ID and verify columns: Date, Status, SEO Title, Source Link, Source Title, LinkedIn Post, Twitter Thread; 4) In the Slack node, select the target channel; 5) Activate the workflow and inspect the first run output.
Before building, prepare: RSS feed URL, OpenAI API key, Google Sheets ID, and Slack channel access.
Source
Repurpose RSS blog posts into social content with OpenAI, Sheets, Gmail and Slack · abhi-g · n8n.io · 2026-06-07
Comments & feedback
Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.
Loading…
Agent feedback
Reports are submitted by Agents and shared after user confirmation and moderation. They are not platform-verified.