Social Media Assistant (via postsyncer.com)
Manages social media through PostSyncer using MCP tools. Use when scheduling, posting, or managing content across Instagram, TikTok, YouTube, X (Twitter), Li...
Like a lobster shell, security has layers — review code before you run it.
License
Runtime requirements
SKILL.md
PostSyncer Social Media Assistant
Autonomously manage social media through PostSyncer using MCP tools.
Setup
- Create a PostSyncer account at app.postsyncer.com
- Connect social profiles (Instagram, TikTok, YouTube, X, LinkedIn, etc.)
- Go to Settings → API Integrations and create a personal access token with abilities:
workspaces,accounts,posts - Add to
.env:POSTSYNCER_API_TOKEN=your_token - Configure OpenClaw MCP server: URL
https://postsyncer.com/mcp, headerAuthorization: Bearer <POSTSYNCER_API_TOKEN>
MCP Tools Reference
All operations use these MCP tools. Arguments accept snake_case or camelCase.
Discovery (Call First)
list-workspaces - Get all workspaces and their IDs
- No parameters required
- Returns: workspaces with
id,name, and connected accounts
list-accounts - Get all connected social accounts
- No parameters required
- Returns: accounts with
id,platform,username,workspace_id
Posts
create-post - Schedule or publish content
{
"workspace_id": 12,
"schedule_type": "schedule",
"content": [{"text": "Caption #hashtags", "media": ["https://example.com/image.jpg"]}],
"accounts": [{"id": 136}, {"id": 95, "settings": {"board_id": 123}}],
"schedule_for": {"date": "2026-03-26", "time": "14:30", "timezone": "America/New_York"},
"labels": [5],
"campaign_id": null,
"repeatable": false,
"repeatable_times": null,
"repeatable_gap": null,
"repeatable_gap_unit": "days"
}
schedule_type:publish_now|schedule|draftschedule_for: Required forschedule. Date formatY-m-d, timeH:icontent: Array of thread items. Each needstextand/ormedia(public HTTPS URLs)accounts: Array of{id, settings?}. Platform-specific options insettings
list-posts - Browse posts with pagination
{"per_page": 50, "page": 1, "include_comments": false}
get-post - Get single post details
{"id": 123}
update-post - Modify scheduled/draft posts
{"id": 123, "content": [{"text": "Updated caption"}], "schedule_for": {...}}
delete-post - Remove a post (confirm with user first)
{"id": 123}
Comments
sync-comments-from-platforms - Refresh comments from social networks
{"post_id": 123}
list-comments - View comments on a post
{"post_id": 123}
create-comment - Reply to a post or comment
{
"post_id": 123,
"content": "Reply text",
"parent_comment_id": null,
"media_urls": []
}
hide-comment - Hide a comment from public view
{"id": 456}
delete-comment - Permanently remove a comment (confirm first)
{"id": 456}
Labels & Campaigns
list-labels | create-label | update-label | delete-label
- Use workspace-scoped IDs only
list-campaigns | create-campaign | update-campaign | delete-campaign
- Campaigns group related posts
Analytics
get-analytics-summary - Overview across all workspaces
get-analytics-workspace - Per-workspace metrics
{"workspace_id": 12}
get-analytics-post - Single post performance
{"post_id": 123}
get-analytics-account - Per-account metrics
{"account_id": 136}
sync-post-analytics - Refresh stale metrics
{"post_id": 123}
Account Management
delete-account - Disconnect a social profile (destructive, confirm first)
{"id": 136}
Common Workflows
Schedule a Post to Multiple Platforms
list-workspaces→ getworkspace_idlist-accounts→ getids for target platformscreate-postwithschedule_type: "schedule"andschedule_for
Reply to Comments Across Platforms
list-posts→ find postidsync-comments-from-platformsfor that postlist-comments→ view commentscreate-commentwithpost_idand optionalparent_comment_idfor replies
Check Performance & Refresh Data
get-analytics-postfor specific post- If stale:
sync-post-analyticsthen check again
Platform-Specific Settings
Pass per-platform options in accounts[].settings:
Pinterest: {"board_id": 123456}
X/Twitter: {"reply_to_tweet_id": "...", "quote_tweet_id": "..."}
TikTok: {"allow_comments": true, "allow_duet": false, "allow_stitch": true}
See API docs for complete settings reference.
Best Practices
- Always start with
list-workspacesandlist-accountsto get IDs - New automations: Use
schedule_type: "draft"or confirm beforepublish_now - Destructive actions: State what will happen, then confirm before
delete-post,delete-account,delete-comment - Multi-network: One post can target multiple accounts; check per-platform status in response
- Rate limits: Respect analytics sync limits; don't call
sync-*repeatedly - Hashtags: Keep relevant and limited (3-5 per post)
Error Handling
- 401/403: Token invalid or missing required abilities
- 404: Resource not found or no access
- 422: Validation error—check required fields and formats
- 429: Rate limited—wait before retrying
Links
Files
2 totalComments
Loading comments…
