How to Automate Social Media with OpenClaw

Install the Postproxy skill from ClawHub, configure the API key in ~/.openclaw/.env, and let OpenClaw publish to 11 platforms from chat.

What OpenClaw is

OpenClaw is an open-source (MIT), self-hosted personal AI assistant. It runs on your own hardware and connects to the channels you already use — WhatsApp, Telegram, Slack, Discord, Signal, and more. You extend it with skills: folders containing a SKILL.md file that teaches the agent a capability. ClawHub is the public registry where skills are shared and installed.

The Postproxy skill gives OpenClaw the full Postproxy API: publishing, scheduling, drafts, queues, comments, DMs, and stats across Facebook, Instagram, TikTok, LinkedIn, YouTube, X (Twitter), Threads, Pinterest, Bluesky, Telegram, and Google Business.

Quick reference

DetailValue
Skill namepostproxy
ClawHub listingclawhub.ai/danbaranov/postproxy
Install commandnpx clawhub@latest install postproxy
AuthenticationBearer token via POSTPROXY_API_KEY
API key locationapp.postproxy.dev/api_keys
Base URLhttps://api.postproxy.dev

Setup

1. Install the skill

Terminal window
npx clawhub@latest install postproxy

This downloads the skill files into ~/.openclaw/skills/postproxy/. If you have the ClawHub-enabled OpenClaw CLI, openclaw skills install postproxy does the same thing. You can read the full SKILL.md on the ClawHub listing before installing — it’s plain instructions and API reference, nothing executable.

2. Configure the API key

Create an API key at app.postproxy.dev/api_keys, then add it to OpenClaw’s environment file:

Terminal window
echo 'POSTPROXY_API_KEY=pp_live_your_key_here' >> ~/.openclaw/.env

All platform authentication (Instagram OAuth, TikTok tokens, LinkedIn pages) lives in your Postproxy account — OpenClaw only ever holds this one key.

3. Restart OpenClaw

Environment changes are picked up on restart:

Terminal window
openclaw restart

4. Verify

Ask your assistant on any connected channel:

List my connected Postproxy profiles.

It should reply with the social accounts connected to your Postproxy workspace. If it doesn’t, see Common issues.

Usage

Message your assistant in plain language:

Post “We just shipped scheduled DMs — details in the changelog” to X, LinkedIn, and Threads.

That’s it — Postproxy handles per-platform formatting rules, media processing, rate limits, and retries, and the assistant reports the per-platform results back in chat.

What you can ask for:

PromptWhat happens
”Schedule this for tomorrow 9am”Post goes out at 9am, confirmation in chat
”Save it as a draft first”Draft waits in your dashboard until you say publish
”Add it to the content queue”Post takes the next free slot in your posting schedule
”Attach this image”Media you share in chat goes out with the post
”Any new comments on the launch post?”Comments from every platform, in one reply
”Reply to that review”Your response lands on the Google Business review
”How did last week’s posts do?”Post and follower stats summarized in chat

Platform-specific fields work too — Instagram Reels format, TikTok and YouTube privacy_status, Pinterest boards — the skill knows where each applies.

Get publish results pushed back

Postproxy can send webhooks when a post finishes processing. Point them at an OpenClaw webhook so the assistant tells you the outcome instead of you asking. In ~/.openclaw/openclaw.json:

{
"webhooks": {
"postproxy-status": {
"path": "/webhooks/postproxy-status",
"secret": "your_webhook_secret",
"action": "Summarize the Postproxy post status payload and message me the per-platform results"
}
}
}

Then register your gateway’s URL for that path as a webhook endpoint in the Postproxy dashboard. When a scheduled post publishes (or a platform fails), OpenClaw messages you the result.

Advanced workflows

Blog-to-social. OpenClaw watches your RSS feed (cron task), summarizes new posts, adapts the copy per platform, and publishes through Postproxy.

Content calendar from chat. A realistic multi-step request:

Read this week’s changelog at example.com/changelog, write three short posts about the highlights, and schedule them Monday, Wednesday, and Friday at 10am on X and LinkedIn. Show me the drafts before scheduling.

The assistant fetches the page, drafts the posts, sends them for approval in chat, then makes three scheduled Postproxy calls. Approval stays in the conversation — no dashboard round-trip.

Draft-first for autonomous instances. The skill posts with the full permissions of your API key. If your OpenClaw instance acts autonomously (cron jobs, heartbeats), prefer “create a draft and send it to me for review” prompts so nothing publishes without a human look. A wrong post is recoverable — “delete that last post” works too.

Common issues

IssueFix
Skill doesn’t triggerCheck the files exist in ~/.openclaw/skills/postproxy/; ask explicitly (“use the Postproxy skill to…”) once
401 UnauthorizedKey missing from ~/.openclaw/.env, copied with whitespace, or OpenClaw wasn’t restarted after the edit
Profile not found for XThe platform isn’t connected in your Postproxy account, or the assistant used an unrecognised network name
Missing privacy_status (TikTok/YouTube)These platforms require it — tell the assistant “public” or “private”
Post stuck in processingLong video uploads take time; ask the assistant to check status, or watch the Postproxy dashboard
Rate limit errorsStagger bulk requests — ask OpenClaw to queue posts instead of firing them at once

OpenClaw skill vs MCP server

Postproxy also ships a remote MCP server. The difference: MCP is a protocol-level integration for MCP-capable clients (Claude Code, Claude.ai, IDEs); the ClawHub skill is plain instructions over the REST API, so it works with whatever model your OpenClaw instance runs. If you use both, they hit the same account and the same API.

For the integration overview, see postproxy.dev/automation/openclaw.

Ready to get started?

Start with our free plan and scale as your needs grow. No credit card required.