Generate and publish approved employee LinkedIn posts with OpenAI and LinkedIn

Go to Workflow
0 views
Built by WeblineIndia WeblineIndia
Created on June 05, 2026

Description

Quick Overview
This workflow scans an RSS blog feed on a schedule, logs newly found posts to Google Sheets, uses OpenAI to generate role-based LinkedIn drafts, and emails approval links via Gmail; approved drafts are then published to LinkedIn and tracked in Google Sheets, with Slack alerts on failures.

How it works
Runs on a schedule and reads the latest item from your blog’s RSS feed.
Checks Google Sheets to see if the blog URL has already been processed and continues only for new posts.
Formats the blog details, saves the blog as processed in Google Sheets, and passes the content into a linked “AI Content Personalization Engine” workflow.
Receives the blog content from the sub-workflow, defines employee personas (CEO, HR, Developer, Marketing), and uses OpenAI to generate a LinkedIn draft per role.
Stores each generated draft in a Google Sheets “generated_posts” tab with a Pending status and emails approval/rejection links via Gmail.
Receives an approve/reject webhook click, updates the post’s status in Google Sheets, and returns a confirmation response to the browser.
Fetches approved posts from Google Sheets, posts unpublished items to LinkedIn via the LinkedIn API, marks them as published in Google Sheets when creation succeeds, and sends a Slack alert if the LinkedIn API response is not successful.

Setup
Add credentials for Google Sheets, OpenAI, Gmail, LinkedIn, and Slack.
Set your RSS feed URL in the RSS reader and configure the schedule interval for how often you want to scan for new posts.
Create a Google Sheets spreadsheet with two tabs matching the workflow: “processed_blogs” (url, title, processed_at) and “generated_posts” (role, tone, postId, status, blog_title, created_at, generated_post, published).
Replace YOUR_N8N_URL_HERE in the approval link templates and configure the webhook path (approve-post) to be reachable from your email recipients.
Update the Gmail recipient address used for approvals and ensure your LinkedIn app/connection has permission to create posts via the LinkedIn REST API.

Nodes Used (6)

Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
OpenAI
@n8n/n8n-nodes-langchain.openAi
Slack
n8n-nodes-base.slack