4.2k★by lao9s
mixpost – OpenClaw Skill
mixpost is an OpenClaw Skills integration for coding workflows. Mixpost is a self-hosted social media management software that helps you schedule and manage your social media content across multiple platforms including Facebook, Twitter/X, Instagram, LinkedIn, Pinterest, TikTok, YouTube, Mastodon, Google Business Profile, Threads, Bluesky, and more.
Skill Snapshot
| name | mixpost |
| description | Mixpost is a self-hosted social media management software that helps you schedule and manage your social media content across multiple platforms including Facebook, Twitter/X, Instagram, LinkedIn, Pinterest, TikTok, YouTube, Mastodon, Google Business Profile, Threads, Bluesky, and more. OpenClaw Skills integration. |
| owner | lao9s |
| repository | lao9s/mixpost |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @lao9s/mixpost |
| last updated | Feb 7, 2026 |
Maintainer

name: mixpost description: Mixpost is a self-hosted social media management software that helps you schedule and manage your social media content across multiple platforms including Facebook, Twitter/X, Instagram, LinkedIn, Pinterest, TikTok, YouTube, Mastodon, Google Business Profile, Threads, Bluesky, and more. homepage: https://mixpost.app metadata: {"openclaw":{"emoji":"🗓️","primaryEnv":"MIXPOST_ACCESS_TOKEN","requires":{"env":["MIXPOST_URL","MIXPOST_ACCESS_TOKEN","MIXPOST_WORKSPACE_UUID"]}}}
Mixpost Skill
Mixpost is a self-hosted social media management software that helps you schedule and manage your social media content across multiple platforms including Facebook, Twitter/X, Instagram, LinkedIn, Pinterest, TikTok, YouTube, Mastodon, Google Business Profile, Threads, Bluesky, and more.
Setup
- Navigate to your Mixpost dashboard
- Click on Access Tokens from the user menu
- Click Create to generate a new token
- Get your workspace UUID: Go to Social Accounts page, click the 3 dots menu on any account, and copy the workspace UUID
- Set environment variables:
export MIXPOST_URL="https://your-mixpost-instance.com/mixpost" export MIXPOST_ACCESS_TOKEN="your-access-token" export MIXPOST_WORKSPACE_UUID="your-workspace-uuid"
Test Connection
curl -X GET "$MIXPOST_URL/api/ping" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Accounts
Get all accounts
curl -X GET "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/accounts" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Get a specific account
curl -X GET "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/accounts/:accountUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Media
Get all media
curl -X GET "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/media?limit=50" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Get a specific media file
curl -X GET "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/media/:mediaUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Upload media (form-data)
curl -X POST "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/media" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json" \
-F "file=@/path/to/your/file.png"
Update media
curl -X PUT "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/media/:mediaUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"alt_text": "Alternative text for accessibility"
}'
Delete media
curl -X DELETE "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/media" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"items": ["media-id-1", "media-id-2"]
}'
Tags
Get all tags
curl -X GET "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/tags" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Get a specific tag
curl -X GET "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/tags/:tagUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Create a tag
curl -X POST "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/tags" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Marketing",
"hex_color": "#FF5733"
}'
Update a tag
curl -X PUT "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/tags/:tagUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Updated Tag Name",
"hex_color": "#00FF00"
}'
Delete a tag
curl -X DELETE "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/tags/:tagUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Posts
Get all posts
curl -X GET "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts?limit=50&status=scheduled&page=1" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Query Parameters:
limit(number, default: 50): Results per pagestatus:draft,scheduled,published,failed,needs_approval,trashkeyword(string): Search posts by contentaccounts(array): Filter by account IDstags(array): Filter by tag namespage(number): Page number for pagination
Get a specific post
curl -X GET "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts/:postUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Create a post
curl -X POST "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"schedule": true,
"date": "2024-12-25",
"time": "10:00",
"timezone": "America/New_York",
"accounts": [1, 2],
"tags": [1],
"versions": [
{
"account_id": 0,
"is_original": true,
"content": [
{
"body": "Hello from Mixpost API!",
"media": [1, 2],
"url": "https://example.com"
}
],
"options": {}
}
]
}'
Post Options:
schedule: Set totrueto schedule for specific date/timeschedule_now: Set totrueto publish immediatelyqueue: Set totrueto add to publishing queue- If none are set, post is saved as draft
Platform-specific options:
{
"options": {
"facebook_page": {
"type": "post" // post, reel, story
},
"instagram": {
"type": "post" // post, reel, story
},
"linkedin": {
"visibility": "PUBLIC" // PUBLIC, CONNECTIONS
},
"mastodon": {
"sensitive": false // boolean
},
"pinterest": {
"link": null, // null | string
"title": "", // string
"boards": {
"account-1": "971672010430333260" // The key `account-*` is the ID of your Pinterest account
}
},
"youtube": {
"title": null, // null | string
"status": "public" // public, private, unlisted
},
"gbp": { // Google Business Profile
"type": "post", // post, offer, event
"button": "NONE", // NONE, BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP, CALL
"button_link": "", // Leave empty if button is NONE or CALL
"offer_has_details": false, // Only applies if type is offer
"coupon_code": "", // Only applies if type is offer and offer_has_details is true
"offer_link": "", // Only applies if type is offer and offer_has_details is true
"terms": "", // Only applies if type is offer and offer_has_details is true
"event_title": "", // Only applies if type is event or offer
"start_date": null, // null | string - Only applies if type is event or offer
"end_date": null, // null | string - Only applies if type is event or offer
"event_has_time": false, // Only applies if type is event
"start_time": "09:00", // Only applies if type is event and event_has_time is true
"end_time": "17:00" // Only applies if type is event and event_has_time is true
},
"tiktok": {
"privacy_level": {
"account-2": "PUBLIC_TO_EVERYONE" // PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, SELF_ONLY - The key `account-*` is the ID of your TikTok account
},
"allow_comments": {
"account-2": true // boolean
},
"allow_duet": {
"account-2": false // boolean
},
"allow_stitch": {
"account-2": false // boolean
},
"content_disclosure": {
"account-2": false // boolean
},
"brand_organic_toggle": {
"account-2": false // boolean
},
"brand_content_toggle": {
"account-2": false // boolean
}
}
}
}
Update a post
curl -X PUT "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts/:postUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"content": "Updated post content",
"schedule_at": "2024-12-25T10:00:00Z",
"media": ["url1", "url2"],
"tags": ["tag1", "tag2"],
"account_ids": ["id1", "id2"]
}'
Delete a post
curl -X DELETE "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts/:postUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"trash": false,
"delete_mode": "app_only"
}'
Delete modes:
app_only: Delete only from the app (default)app_and_social: Delete from both app and social mediasocial_only: Delete only from social media platforms
Delete multiple posts
curl -X DELETE "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"posts": ["post-uuid-1", "post-uuid-2"],
"trash": false,
"delete_mode": "app_only"
}'
Schedule a post
curl -X POST "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts/schedule/:postUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"postNow": false
}'
Add post to queue
curl -X POST "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts/add-to-queue/:postUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
Approve a post
curl -X POST "$MIXPOST_URL/api/$MIXPOST_WORKSPACE_UUID/posts/approve/:postUuid" \
-H "Authorization: Bearer $MIXPOST_ACCESS_TOKEN" \
-H "Accept: application/json"
No README available.
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install mixpost?
Run openclaw add @lao9s/mixpost in your terminal. This installs mixpost into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/lao9s/mixpost. Review commits and README documentation before installing.
