OpenClaw
Connect dopost to OpenClaw — a self-hosted personal AI gateway you control via Telegram, WhatsApp, Discord, or any chat app. Connect through MCP or the dopost Skill to publish, schedule posts, and read analytics.
Connect dopost to OpenClaw — a self-hosted personal AI gateway you control via Telegram, WhatsApp, Discord, or any chat app. Connect through MCP or the dopost Skill to publish, schedule posts, and read analytics.
OpenClaw is a personal AI gateway you run on your own machine or a cloud server. Once set up, you talk to it through Telegram, WhatsApp, Discord, or any supported chat app — and it acts as your AI assistant.
To give your OpenClaw agent the ability to publish and schedule social media posts, you install a Skill. A Skill is a small SKILL.md file injected into OpenClaw's system prompt that teaches the agent how and when to call the dopost REST API.
OpenClaw can also connect to the hosted MCP server with OAuth and no API key: openclaw mcp add dopost --url https://mcp.dopost.co/mcp --transport streamable-http, then openclaw mcp configure dopost --auth oauth and openclaw mcp login dopost. Use the Skill in this guide if you prefer the REST API or need to upload files from the machine OpenClaw runs on. See the OpenClaw guide.
Don't have an API key? Open Settings → API keys in dopost, click Generate Key, and copy it.
The easiest way is with the skills CLI — it installs the skill and links it to OpenClaw automatically:
npx skills add dopost-co/skillsnpx skills add dopost-co/skillsOr manually via git clone:
cd ~/.openclaw/skills
git clone https://github.com/dopost-co/skills.git dopost-apicd ~/.openclaw/skills
git clone https://github.com/dopost-co/skills.git dopost-apiOpenClaw automatically discovers and loads skills placed in ~/.openclaw/skills/.
Or just ask OpenClaw to set itself up. Since OpenClaw has built-in web access, you can paste the skill page URL directly in chat and let it read the instructions and configure itself:
Hey, can you check https://dopost.co/docs/api/openclaw and configure yourself so we can manage social media together?OpenClaw will fetch the page, read the setup instructions, and guide you through the rest.
Edit your OpenClaw config file (~/.openclaw/openclaw.json) to inject your API key:
{
"env": {
"DOPOST_API_KEY": "dpk_live_your_api_key_here"
}
}{
"env": {
"DOPOST_API_KEY": "dpk_live_your_api_key_here"
}
}The config auto-reloads for most changes. If you need to force it:
openclaw gateway restartopenclaw gateway restartSend a message to your OpenClaw agent through Telegram, WhatsApp, Discord, or wherever you've connected it:
List my connected social media accounts
OpenClaw will respond with your dopost-connected accounts. If it does, you're ready.
Talk to your OpenClaw agent in natural language from any chat:
Publish a LinkedIn post announcing our new feature launch
Schedule a tweet for tomorrow at 10am: "New blog post is live — check it out!"
Upload
promo.mp4and post it as an Instagram Reel
Check if my last 3 posts were published successfully
If you manage multiple dopost workspaces (different blogs, brands, or clients), each workspace has its own API key.
The simplest approach is to run separate OpenClaw gateway instances — one per workspace — each with its own config and API key:
Gateway for Brand A (~/.openclaw/openclaw.json):
{
"env": {
"DOPOST_API_KEY": "dpk_live_brand_a_key"
}
}{
"env": {
"DOPOST_API_KEY": "dpk_live_brand_a_key"
}
}Gateway for Brand B (separate server or config):
{
"env": {
"DOPOST_API_KEY": "dpk_live_brand_b_key"
}
}{
"env": {
"DOPOST_API_KEY": "dpk_live_brand_b_key"
}
}Each API key only accesses the accounts and posts within its own dopost workspace. This keeps brands, clients, or projects completely separate.
Never share API keys between workspaces. Each key should map to exactly one dopost workspace.
| Action | Description |
|---|---|
| List accounts | See all connected social media accounts |
| Publish posts | Create and publish to any platform |
| Schedule posts | Set a future date and time |
| Upload media | Upload images and videos for posts |
| Check status | See if posts were published or failed |
| Reschedule | Change the date of pending posts |
| Delete posts | Remove posts or cancel scheduled ones |
| Platform options | Set Instagram post type, TikTok privacy, YouTube Shorts, and more |
| Account analytics | Read account KPIs, rankings, comparisons, and data availability |
| Post performance | Rank published posts and inspect a post’s performance history |
| Content insights | Read Best Time, Best Day, Format Opportunity, and Platform Pulse |
| Audience analytics | Read available audience breakdowns for Facebook and Instagram accounts |
| Platform limits | Check platform-specific posting limits and constraints |
OpenClaw can retrieve statistics through the hosted MCP connection or the REST API. Analytics requires the analytics:read permission and an active paid plan.
The available tools are get_analytics_overview, list_post_performance, get_post_performance, get_content_insights, and get_audience_analytics. See the MCP tool reference.
If you connected OpenClaw before analytics was added, reconnect and approve analytics:read. Existing authorizations do not receive this permission automatically. If the permission is already present, reconnect to refresh the available tools.
Create a workspace API key with analytics:read and use it as DOPOST_API_KEY. The dopost Skill includes all five analytics endpoints, their filters, pagination, and data availability rules. Update an older installation by running npx skills add dopost-co/skills again, then start a new OpenClaw session. You can also refer to the endpoint documentation:
Compare my accounts’ performance over the last 30 days.
Show my best-performing posts from the last month.
What are the best times and days to publish on my Instagram account?
Show the available audience breakdown for my Facebook account.
Results depend on the platform and the data available in dopost. Audience breakdowns currently support Facebook and Instagram. TikTok Analytics is unavailable until the integration is enabled and the account has the required permissions. Ask OpenClaw to include data freshness and explain missing metrics.