LinkedIn post automation with AI (GPT-4o) generation & Slack approval
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER 🎉 Early Black Friday Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
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
StatusasPending
2. Configure Google Sheets Nodes
Connect your Google account to:
Linkedin-Post-Topic(Trigger node)Update-StatusGet-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:
- Monitor spreadsheet for new topics every minute
- Generate LinkedIn post using GPT-4
- Send to Slack for approval/editing
- Upload image to LinkedIn
- Publish to profile and groups
- Update spreadsheet status to
Posted
🔁 Workflow Logic
- Trigger: New/updated row with
Pendingstatus - Generate: AI creates engaging LinkedIn post
- Approve: Slack message for review/edit
- Process: Handle approval response
- Upload: Register and upload image
- Publish: Post to LinkedIn profile & groups
- Update: Mark as
Postedin 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 | Uploads 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
- Include 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 | "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 datar_emailaddress- Access emailw_member_social- Post contentrw_organization_admin- Group posting
Slack Bot Permissions:
chat:write- Send messagesim:write- Direct messagesusers: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
- #AI
- #ContentAutomation
- #SocialMedia
- #Slack
- #GPT4
- #Marketing
- #WorkflowAutomation