Social Media Assistant (via post-bridge.com)
by @jackfriks
Turn your OpenClaw into an autonomous social media manager using Post Bridge API. Use when scheduling, posting, or managing content across TikTok, Instagram...
clawhub install post-bridge-social-managerπ About This Skill
name: post-bridge-social-manager version: 1.0.7 title: Social Media Assistant (via post-bridge.com) description: Turn your OpenClaw into an autonomous social media manager using Post Bridge API. Use when scheduling, posting, or managing content across TikTok, Instagram Reels, YouTube Shorts, Twitter/X, LinkedIn, Pinterest, Facebook, Threads, or Bluesky. Covers media upload, post creation, scheduling, platform-specific configs, draft mode, and post result tracking. license: MIT author: Jack Friks
Social Media Assistant (via post-bridge.com)
Autonomously manage social media posting via Post Bridge API.
Setup
1. Create a Post Bridge account at post-bridge.com
2. Connect your social accounts (TikTok, Instagram, YouTube, Twitter, etc.)
3. Enable API access (Settings β API)
4. Store your API key in workspace .env:
POST_BRIDGE_API_KEY=pb_live_xxxxx
5. Download API docs: https://api.post-bridge.com/reference β save to workspace as post-bridge-api.jsonAuth
All requests use Bearer token:
Authorization: Bearer
Base URL: https://api.post-bridge.com
Core Workflow
1. Get Social Accounts
GET /v1/social-accounts
Returns array of connected accounts with id, platform, username. Store these IDs β you need them for every post.2. Upload Media
POST /v1/media/create-upload-url
Body: { "mime_type": "video/mp4", "size_bytes": , "name": "video.mp4" }
Returns media_id + upload_url. Then:
PUT
Content-Type: video/mp4
Body:
3. Create Post
POST /v1/posts
Body: {
"caption": "your caption here #hashtags",
"media": [""],
"social_accounts": [, ],
"scheduled_at": "2026-01-01T14:00:00Z", // omit for instant post
"platform_configurations": { ... } // optional, see below
}
Additional create options:
media_urls: Array of publicly accessible URLs (used instead of media if no media IDs). Example: ["https://example.com/video.mp4"]is_draft: If true, creates the post but does not process it until updated with a scheduled date or posted instantly later.processing_enabled: If false, skips video processing. Defaults to true.use_queue: Automatically schedule to your next available queue slot (configured in the Post Bridge dashboard). Cannot be used with scheduled_at. Pass true to use your saved timezone, or { "timezone": "America/New_York" } to override.use_queue example:
{
"caption": "Queued post!",
"media": [""],
"social_accounts": [44029],
"use_queue": true
}
This finds the next open slot in your queue schedule and sets scheduled_at automatically. You must have a queue schedule configured in the dashboard first.4. Update or Delete Scheduled Posts
PATCH /v1/posts/
Update a scheduled post (caption, schedule time, etc.). Only works on posts with scheduled status.DELETE /v1/posts/
Delete a scheduled post. Only works on posts with scheduled status.5. Check Results
GET /v1/posts/
Returns status: processing, scheduled, posted, failed.GET /v1/post-results
List all post results across platforms (paginated with offset and limit).6. Analytics
GET /v1/analytics
Retrieve performance data (views, likes, shares, comments, etc.) for posts.Query parameters:
platform β filter by platform (e.g. tiktok, youtube, instagram)post_result_id[] β filter by specific post result IDs (multiple values = OR logic)timeframe β 7d, 30d, 90d, or all (default: all)offset / limit β paginationReturns: view_count, like_count, comment_count, share_count, cover_image_url, share_url, duration, and more per record.
POST /v1/analytics/sync
Manually trigger a sync of analytics from platforms. Optionally pass ?platform=tiktok to sync a specific platform only. Rate-limited to once every 5 minutes.Platform Configurations
Pass inside platform_configurations object on post creation. Crucial: Always wrap these in the correct platform key to ensure they only apply to the target platform and don't cause issues on other platforms in the same post.
TikTok (tiktok):
draft: true β save as draft (publish manually on TikTok with trending sound)video_cover_timestamp_ms: 3000 β cover thumbnailis_aigc: true β label as AI-generated contentExample of correct multi-platform config:
{
"caption": "Default caption",
"social_accounts": [44029, 44030],
"platform_configurations": {
"tiktok": {
"draft": true,
"is_aigc": false
},
"instagram": {
"is_trial_reel": false
}
}
}
Instagram (instagram):
video_cover_timestamp_ms: 3000 β cover thumbnailis_trial_reel: true β trial reel mode (needs 1000+ followers)trial_graduation: "SS_PERFORMANCE" β auto-graduate based on performanceYouTube:
video_cover_timestamp_ms: 3000 β cover thumbnailtitle: "My Short Title" β override post titleTwitter/X:
caption: "override caption" β platform-specific captionAll platforms support caption and media overrides for per-platform customization.
Recommended Workflow for Video Content
1. Store videos in a local folder 2. Extract a frame with ffmpeg to read any text overlays:
ffmpeg -i video.mp4 -ss 00:00:04 -frames:v 1 frame.jpg -y
3. Write caption based on video content + hashtags
4. Upload β create post β schedule or post instantly (or use use_queue to auto-schedule)
5. Move posted videos to a posted/ subfolder to avoid duplicates
6. Set a cron to check post status 5 mins after scheduled time
7. Track performance with GET /v1/analytics or by browsing platform pagesTips
scheduled_at to pre-schedule batches β Post Bridge handles the timinguse_queue to auto-fill your queue schedule without calculating times yourselfβοΈ Configuration
1. Create a Post Bridge account at post-bridge.com
2. Connect your social accounts (TikTok, Instagram, YouTube, Twitter, etc.)
3. Enable API access (Settings β API)
4. Store your API key in workspace .env:
POST_BRIDGE_API_KEY=pb_live_xxxxx
5. Download API docs: https://api.post-bridge.com/reference β save to workspace as post-bridge-api.jsonπ Tips & Best Practices
scheduled_at to pre-schedule batches β Post Bridge handles the timinguse_queue to auto-fill your queue schedule without calculating times yourself