15 posts. 2 languages. Scheduled over 13 days. Zero manual intervention after validation.


Here's the automated publishing system.


πŸ”‘ Step 1 β€” Create a LinkedIn app


1. linkedin.com/developers β†’ Create App
2. Link your company page (required)
3. Request scopes: openid, profile, w_member_social
4. Redirect URI: http://localhost:8099/callback
5. Repeat for each LinkedIn profile


🐍 Step 2 β€” OAuth authentication script


A Python script starts a local HTTP server on port 8099. You open the authorization URL in your browser. LinkedIn returns a code. The script exchanges it for a token valid for 60 days.


I have 2 profiles: FR (hicommerceweb@gmail.com) and EN (stephane.jambu@gmail.com). Each has its own .env file and token.json.


πŸ“€ Step 3 β€” Publishing script


The post.py script reads a text file and publishes to LinkedIn via the REST API:
• POST https://api.linkedin.com/rest/posts
• Required header: LinkedIn-Version: 202502
• Options: --profile fr|en, --file post.txt, --image photo.jpg


Usage: python post.py --profile fr --file post.txt


Limit: 3,000 characters per post.


⏰ Step 4 β€” Scheduling with cron


Each post has an FR and EN file (translated by Claude Code β€” not a literal translation: currencies adapted, tone adjusted).


A cron job triggers publishing at scheduled times:
• FR at 9:30 AM France time
• EN 6 hours later (3:30 PM France = 9 AM US Eastern)


A bash wrapper handles logs and errors.


πŸ’° Total system cost


• LinkedIn API: free
• Server: none (cron runs on my PC)
• Writing: Claude Code (existing subscription)
• Additional cost: $0


πŸ”„ The complete cycle


Zoom meeting β†’ auto transcript β†’ AI summary in Obsidian β†’ insight extraction β†’ post writing β†’ human validation ("OK") β†’ auto scheduling β†’ FR+EN publishing


From meeting to LinkedIn post, the only moment I step in: I read the post and type "OK".


Everything else is automated.


Are you still publishing manually on LinkedIn? How much time do you spend on it each week?