To view the n8n flow demo and copy the JSON you need to purchase our Bundle... don't worry, it's FREE

Go to the BUNDLE

LinkedIn Post Automation with AI (GPT-4o) Generation & Slack Approval

LinkedIn Post Automation with AI Generation (Gpt-4o) & Slack Approval

How it Works

This workflow automates the creation and publishing of LinkedIn posts with AI-generated content and human approval via Slack , using Google Sheets , OpenAI (GPT-4) , Slack Interactive Messages , and the LinkedIn API .

Whether you're a social media manager, content creator, or marketing professional, this workflow helps you maintain consistent LinkedIn presence and scale content creation while keeping human oversight β€” all managed from a simple spreadsheet.

🎯 Use Case

Ideal for:

  • Content Marketers managing multiple LinkedIn accounts
  • Personal Brand Builders maintaining regular posting schedule
  • Agencies handling client social media presence
  • Teams requiring content approval workflows

Setup Instructions

1. Prepare the Spreadsheet

  • File name: Linkedin Post
  • Main sheet structure:
    | ID | Linkedin Post Title | Status | Image URL |
  • Groups sheet structure:
    | GroupIds |
  • Add post topics and set their Status as Pending

2. Configure Google Sheets Nodes

Connect your Google account to:

  • Linkedin-Post-Topic (Trigger node)
  • Update-Status
  • Get-Group-id

3. Add API Credentials

  • OpenAI API Key β†’ for GPT-4 content generation
  • Slack OAuth Token β†’ for approval messages
  • LinkedIn Access Token β†’ for posting content
  • HTTP Header Auth β†’ Bearer token for LinkedIn API

4. Configure Webhooks

  • Set up Slack Interactive Components webhooks
  • Point Request URL to your N8N webhook endpoint
  • Enable interactive messages in Slack app

5. Activate the Workflow

Once live, the workflow will:

  1. Monitor spreadsheet for new topics every minute
  2. Generate LinkedIn posts using GPT-4
  3. Send to Slack for approval/editing
  4. Upload image to LinkedIn
  5. Publish to profile and groups
  6. Update spreadsheet status to Posted

πŸ” Workflow Logic

  1. Trigger : New/updated row with Pending status
  2. Generate : AI creates engaging LinkedIn posts
  3. Approve : Slack message for review/edit
  4. Process : Handle approval response
  5. Upload : Register and upload image
  6. Publish : Post to LinkedIn profile & groups
  7. Update : Mark as Posted in sheet

🧩 Node Descriptions

Node Name Description
Linkedin-Post-Topic Monitors spreadsheet for new post topics
Validate-Status Filters only 'Pending' items
Limit Processes one item at a time
Linedin-Post-Creator Generates post content using GPT-4
Format-Content Prepares content for Slack display
Approval-on-Slack Sends interactive approval message
Webhook Receives Slack button responses
Format-Response Extracts edited content from Slack
Set-Final-Message Prepares approved content
Linkedin-User-Detail Fetches LinkedIn user info
Register Image Initiates LinkedIn image upload
Upload Image Upload image to LinkedIn
Linkedin post Publishes to personal profile
Get-Group-id Retrieves LinkedIn group IDs
Post-Linkedin-Groups Posts to multiple groups
Update Status Marks as completed in sheet

πŸ› οΈ Customization Tips

  • Adjust AI prompt for brand voice and hashtags
  • Change Slack approver or add multiple reviewers
  • Modify posting schedule with delay nodes
  • Add analytics tracking with additional API calls
  • Filter groups based on specific criteria
  • Includes URL shortening for tracking

πŸ“’ Suggested Sticky Notes for Workflow

Node/Section Sticky Note Content
Linkedin-Post-Topic "Triggers every minute for new posts in your spreadsheet"
Validate-Status "Filters to process only 'Pending' items - prevents duplicates"
Linedin-Post-Creator "Uses GPT-4 to generate LinkedIn content - customize prompt for your brand voice"
Approval-on-Slack "Sends for human review - edit the Slack user to change approver"
Webhook "Receive approval responses - ensure URL is configured in Slack app"
Register Image "Initiates LinkedIn media upload - requires valid image URL from sheet"
Linkedin post "Publishes to your profile - update with your LinkedIn credentials"
Post-Linkedin-Groups "Posts to multiple groups - add group IDs in Groups sheet"
Update Status "Marks as 'Posted' to prevent reprocessing"

πŸ’‘ AI Prompt Configuration

The workflow uses a sophisticated prompt that:

  • Creates compelling hooks
  • Includes 3-4 informative paragraphs
  • Adds engagement questions
  • Inserts relevant emojis
  • Generates 4-6 hashtags
  • Formats with proper spacing

πŸ”’ Security & Permissions

LinkedIn App Requirements:

  • r_liteprofile - Read profile data
  • r_emailaddress - Access email
  • w_member_social - Post content
  • rw_organization_admin - Group posting

Slack Bot Permissions:

  • chat:write - Send messages
  • im:write - Direct messages
  • users:read - User information

πŸ“Ž Required Components

Component Purpose
Google Sheet Store post topics and status
LinkedIn App API access for posting
Slack App Interactive approval flow
OpenAI Account GPT-4 content generation
N8N Instance Workflow execution

πŸ§ͺ Testing Tips

  • Start with one test topic marked as Pending
  • Verify Slack message appears correctly
  • Test both "Approve" and "Edit" buttons
  • Check image upload completes
  • Confirm post appears on LinkedIn
  • Verify status updates to Posted

⚠️ Common Issues & Solutions

LinkedIn API Errors:

  • Token expiration β†’ Refresh access token
  • Rate limits β†’ Add delays between posts
  • Group restrictions β†’ Check posting permissions

Slack Integration:

  • Missing responses β†’ Verify webhook URL
  • Button not working β†’ Check interactive components
  • User not found β†’ Confirm Slack user ID

Image Upload Failures:

  • Invalid URL β†’ Validate image accessibility
  • Size limits β†’ Compress images under 10MB
  • Format issues β†’ Use JPEG or PNG only

πŸ“Š Workflow Benefits

  • Time Savings : 80% reduction in content publishing time
  • Consistency : Regular posting schedule maintained
  • Quality Control : Human review ensures brand standards
  • Scalability : Handle multiple accounts and groups
  • Flexibility : Easy to modify and extend

πŸ“Ž Required Files

File Name Purpose
Linkedin Post Google Sheet to hold post topics and status

🏷 Suggested Tags & Categories

  • #LinkedIn
  • #TO THE
  • #ContentAutomation
  • #SocialMedia
  • #Slack
  • #GPT4
  • #Marketing
  • #WorkflowAutomation
Do you want to automate your business?

Let's talk about your project