Zernio
Zernio
ResourcesIntegrationsChat SDKn8nMakeZapierOpenClaw
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Integrations

OpenClaw

Install the Zernio skill from ClawHub so OpenClaw can create, schedule and retry posts, connect accounts and read analytics from natural language.


When you finish this page OpenClaw creates and schedules posts on your connected accounts from natural language, using the zernio-api skill from ClawHub. You need an API key, a connected account and a working OpenClaw installation.

DetailValue
Skill namezernio-api
ClawHubclawhub.ai/mikipalet/zernio-api
Install commandnpx clawhub@latest install mikipalet/zernio-api
AuthAPI key in the ZERNIO_API_KEY environment variable
Base URLhttps://zernio.com/api/v1

The skill teaches OpenClaw these parts of the API:

AreaWhat OpenClaw can do
ProfilesCreate and manage profiles
AccountsStart the OAuth flow that connects an account
PostsCreate, schedule, bulk upload and retry posts
MediaUpload images and video through presigned URLs
QueueManage queue slots for scheduled publishing
WebhooksDelivery and status events, webhook verification
AnalyticsPost performance

It covers every platform Zernio posts to: X (platform value twitter), Instagram, Facebook, LinkedIn, TikTok, YouTube, Pinterest, Reddit, Bluesky, Threads, Google Business Profile, Telegram, Snapchat, Discord, Slack and WhatsApp.

Step 1: Install the skill

Install from ClawHub

npx clawhub@latest install mikipalet/zernio-api

This downloads the skill and its rule files (authentication.md, posts.md, accounts.md, connect.md, platforms.md, webhooks.md, media.md) into your local skills directory.

Add the API key

echo "ZERNIO_API_KEY=$ZERNIO_API_KEY" >> ~/.openclaw/.env

The key starts with sk_; keep it free of quotes and spaces.

Restart OpenClaw

openclaw restart

OpenClaw loads the skill and the environment file on start.

Check the connection

Ask OpenClaw to list what it can post to:

Show my Zernio profiles and connected accounts

It calls GET /v1/profiles and GET /v1/accounts and prints them. An empty list means the key is valid but nothing is connected yet; an error here means the key did not load, which the "If it fails" section covers.

Step 2: Post from a prompt

Tell OpenClaw what to publish. The skill knows the calls, so a request like this is enough:

Post "We shipped scheduled Stories" to X

OpenClaw lists your accounts with GET /v1/accounts, then calls POST /v1/posts with publishNow: true. Other prompts the skill handles: "Schedule a LinkedIn post for 1 January 2027 at 12:00 New York time", "Cross-post this to X, LinkedIn and Bluesky", "Show my recent posts", "Retry all my failed posts", "Connect my Instagram account" (OpenClaw returns the authUrl for you to open), "How did my last X post perform".

For media, "Post this product photo to Instagram" makes the skill request a presigned upload URL, upload the file and create the post with the resulting media URL, the same flow as the media uploads guide.

Step 3: Trigger posts from a webhook

OpenClaw can receive a POST from another service and turn it into a post. Add an endpoint to ~/.openclaw/openclaw.json:

{
  "webhooks": {
    "zernio-post": {
      "path": "/webhooks/zernio-post",
      "secret": "${OPENCLAW_WEBHOOK_SECRET}",
      "action": "Run the zernio-api skill to publish the post content from the payload"
    }
  }
}

OpenClaw substitutes ${VAR_NAME} in config string values from the environment when it starts, so keep the braces: the $VAR shorthand is not expanded and would be stored as the literal secret. Give the sending service the same value. A service then POSTs to http://your-openclaw-host:port/webhooks/zernio-post:

{
  "text": "Hello from a webhook",
  "platform": "twitter"
}

OpenClaw runs the skill and creates the post. The same pattern runs a blog-to-social pipeline (OpenClaw watches an RSS feed, summarizes each new article, writes a version per platform and posts each one) or a content calendar (a scheduled OpenClaw task reads today's entries from Notion, Apple Notes or a file and posts them).

If it fails

A 401 from the API means the key in ~/.openclaw/.env is wrong or was revoked. Check it under API keys, fix the file and restart OpenClaw, because it reads .env only on start:

grep ZERNIO_API_KEY ~/.openclaw/.env

"Skill not found" means the install did not land: ls ~/.openclaw/skills/zernio-api/ should list SKILL.md and the rule files; if it does not, run the install command again. A 429 means your team hit its request limit; space out automated posts and honour the Retry-After header (rate limits).

Related

  • Zernio skill on ClawHub
  • API keys
  • API reference
  • Media uploads
Was this page helpful?

Zapier

Create and schedule posts from a Zap with the Zernio app, triggered by Google Sheets, Notion, RSS, Ghost or any of 7,000+ apps.

Open Source

Generate a client from the Zernio OpenAPI spec, use one of the platform specs, or start from an open-source project built on the API.

On this page

Step 1: Install the skillInstall from ClawHubAdd the API keyRestart OpenClawCheck the connectionStep 2: Post from a promptStep 3: Trigger posts from a webhookIf it failsRelated