n8nflow.net logo

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

by Amit Mehtaโ€ขUpdated: Last update 4 months agoโ€ขSource: n8n.io
Loading workflow viewer...

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 webhook
  • 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 post 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 post
  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 NameDescription
Linkedin-Post-TopicMonitors spreadsheet for new post topics
Validate-StatusFilters only 'Pending' items
LimitProcesses one item at a time
Linedin-Post-CreatorGenerates post content using GPT-4
Format-ContentPrepares content for Slack display
Approval-on-SlackSends interactive approval message
WebhookReceives Slack button responses
Format-ResponseExtracts edited content from Slack
Set-Final-MessagePrepares approved content
Linkedin-User-DetailFetches LinkedIn user info
Register ImageInitiates LinkedIn image upload
Upload ImageUploads image to LinkedIn
Linkedin-postPublishes to personal profile
Get-Group-idRetrieves LinkedIn group IDs
Post-Linkedin-GroupsPosts to multiple groups
Update-StatusMarks 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
  • Include URL shortening for tracking

๐Ÿ“’ Suggested Sticky Notes for Workflow

Node/SectionSticky 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"Receives 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

ComponentPurpose
Google SheetStore post topics and status
LinkedIn AppAPI access for posting
Slack AppInteractive approval flow
OpenAI AccountGPT-4 content generation
N8N InstanceWorkflow 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 NamePurpose
Linkedin PostGoogle Sheet to hold post topics and status

๐Ÿท Suggested Tags & Categories

  • #LinkedIn
  • #AI
  • #ContentAutomation
  • #SocialMedia
  • #Slack
  • #GPT4
  • #Marketing
  • #WorkflowAutomation