Install
openclaw skills install boring-social-publisherPublish social media posts to multiple platforms at once using Boring. Use when the user says 'post to social media', 'publish everywhere', 'cross-post', 'share on all platforms', 'publish to Facebook and Instagram', or wants to distribute content across Facebook, Instagram, Threads, YouTube, TikTok, or X simultaneously.
openclaw skills install boring-social-publisherPublish content to multiple social media platforms with a single message. Powered by Boring — a unified social media publishing API.
https://boring.aiagent-me.com/mcp/t/xxxxx...) contains an embedded authentication token. Treat it like a password — do not share it publicly. You can regenerate it anytime in Settings.boring.aiagent-me.com) to make them accessible for publishing to social platforms. This is required because social media APIs need publicly accessible media URLs.When the user wants to publish content across platforms, follow these steps:
Call boring_list_accounts to see which platforms the user has connected. Show them a summary:
Ask the user:
If the user provides local files or URLs:
boring_upload_file with file_path to upload and get a public URLboring_upload_from_url to re-host the media on Boring's cloud storageAutomatically adjust content for each platform's requirements:
| Platform | Text Limit | Media Required | Notes |
|---|---|---|---|
| No strict limit | No | Supports text, photo, album (2-10), video | |
| 2,200 chars | Yes | Photo, carousel (2-10), Reels (video 9:16) | |
| Threads | 500 chars | No | Text, photo, carousel (2-20), video |
| YouTube | Title: 100, Desc: 5,000 | Yes (video) | Text format: Title\n\nDescription |
| TikTok | 2,200 chars | Yes (video or photos) | Video or photo carousel (up to 35) |
| X | 280 chars | No | Text, up to 4 images or 1 video |
Important adaptations:
Video Title\n\nDescription text hereboring_publish_threadFor each selected platform, call boring_publish_post with:
account_id: from the account listplatform: the platform nametext: adapted contentmedia_urls: array of media URLs (if any)scheduled_at: ISO 8601 datetime if scheduling (e.g., 2025-12-25T10:00:00Z)After publishing, summarize:
To schedule posts for later:
scheduled_at parameter with ISO 8601 format: 2025-12-25T10:00:00Zboring_list_scheduled_posts to view queued postsboring_cancel_scheduled_post to cancel before publish time| Error | Solution |
|---|---|
InvalidApiKey | MCP link may be invalid — regenerate it at boring.aiagent-me.com Settings |
TokenExpired | Ask user to reconnect the account at boring.aiagent-me.com |
MediaRequired | Instagram/TikTok require media — skip or ask user for an image |
TextTooLong | Truncate or split content for the platform |
RateLimitExceeded | Wait and retry (check retry_after field) |
AccountDisabled | Account was disconnected — reconnect at dashboard |
User: "Post 'Just launched our new product!' with this image to all my accounts"
Agent workflow:
boring_list_accounts → finds Facebook, Instagram, Threads accountsboring_upload_from_url (if image is a URL) → gets hosted URLboring_publish_post to Facebook with text + imageboring_publish_post to Instagram with text + imageboring_publish_post to Threads with text + imageFull API docs: boring-doc.aiagent-me.com