Lesson 4 of 5
Multi-Platform Publishing
Estimated time: 7 minutes
Multi-Platform Publishing
Your pipeline generates drafts. Now you'll connect it to real publishing platforms so content goes from idea to published with minimal manual work.
Review before publishing
This lesson sets up scheduled publishing, not instant auto-publish. You'll always review drafts before they go live. The goal is to remove the manual copying and formatting — not to bypass editorial judgment.
Platform Connections
OpenClaw can connect to publishing platforms through their APIs. You'll set up connectors for the platforms you actually use.
Connect your publishing platforms
Add the platforms you want to publish to:
For WordPress or Ghost blogs:
# WordPress
openclaw connect add \
--name "My Blog" \
--type wordpress \
--url "https://yourblog.com" \
--api-key "YOUR_WP_APPLICATION_PASSWORD"
# Ghost
openclaw connect add \
--name "My Blog" \
--type ghost \
--url "https://yourblog.com" \
--api-key "YOUR_GHOST_ADMIN_KEY"
WordPress Application Passwords
In WordPress admin: Users → Profile → Application Passwords. Create one named "OpenClaw" and copy the generated password.
Verify your connections:
openclaw connect listSet up a publishing schedule
Create a publishing schedule that distributes your content across the week:
openclaw schedule add \
--name "Content Calendar" \
--blog "monday 9:00" \
--twitter "monday 12:00,wednesday 12:00,friday 12:00" \
--linkedin "tuesday 8:30" \
--newsletter "thursday 7:00" \
--tz "America/New_York"
This tells OpenClaw:
- Blog posts go live Monday at 9 AM
- Twitter threads post Mon/Wed/Fri at noon
- LinkedIn posts go out Tuesday morning
- Newsletter sends Thursday morning
Best posting times
These defaults are based on general B2B engagement data. Adjust based on your audience's timezone and behavior. The exact time matters less than consistency.
Queue content for publishing
After your pipeline generates drafts and you've reviewed them, queue them for the schedule:
openclaw publish queue \
--draft "~/.openclaw/content-drafts/2024-01-15-ai-tools-small-biz/" \
--schedule "Content Calendar"
This queues all variants (blog, Twitter, LinkedIn, newsletter) for their respective time slots.
Preview what's scheduled:
openclaw publish upcoming --days 7Output:
📅 Publishing Queue (Next 7 days)
Mon Jan 15, 9:00 AM 📝 Blog: "5 AI Tools Under $50/Month..."
Mon Jan 15, 12:00 PM 🐦 Twitter: Thread (7 tweets)
Tue Jan 16, 8:30 AM 💼 LinkedIn: "⚡ Most small business owners..."
Wed Jan 17, 12:00 PM 🐦 Twitter: Engagement reply thread
Thu Jan 18, 7:00 AM 📧 Newsletter: Weekly digest
Fri Jan 19, 12:00 PM 🐦 Twitter: Recap + blog link
Handle the review workflow
Before anything publishes, you'll get a review notification in your chat:
openclaw publish review \
--notify-before "30m" \
--channel telegram \
--to "CHAT_ID"
30 minutes before each scheduled post, OpenClaw sends you a preview. You can:
Reply with /approve to confirm the post goes out as-is.
Handling Cross-Platform Links
One tricky part of multi-platform publishing: each post should link back to the blog, but you don't know the URL until the blog is published.
OpenClaw handles this automatically:
1. Blog publishes at 9:00 AM → URL captured
2. Social variants updated with actual blog URL
3. Social posts go out at their scheduled times with correct links
If you're publishing to a platform that doesn't auto-generate URLs (like Ghost), you can set a URL pattern:
openclaw connect edit "My Blog" \
--url-pattern "https://yourblog.com/{slug}"
What Your Pipeline Looks Like Now
/idea in chat
│
▼
Content Brief (saved to queue)
│
▼
Blog Post + Social Variants (generated)
│
▼
Review notification (30 min before)
│
▼
Mon: Blog → Tue: LinkedIn → Thu: Newsletter → MWF: Twitter
From idea to published: 15 minutes of your time (reviewing and approving). OpenClaw handles the other 7+ hours of production and distribution.
Why does the publishing schedule spread content across multiple days instead of posting everything at once?