Install
openclaw skills install @muratkaragozgil/ravenpostSchedule and publish social media posts to Instagram, TikTok, X, LinkedIn, Threads, Bluesky, YouTube, Pinterest and Telegram through Ravenpost's hosted MCP server — preview every destination before anything goes out, schedule it or drop it into a weekly queue, and read follower counts and engagement back. Use when the user wants to post, cross-post, schedule, queue or draft social content to their connected accounts, asks what is scheduled, or asks how their posts did.
openclaw skills install @muratkaragozgil/ravenpostRavenpost is a social media scheduler: one post carries one caption and one set of media, and goes to any number of connected accounts across Instagram, TikTok, X, LinkedIn, Threads, Bluesky, YouTube, Pinterest and Telegram. Each account is a separate destination with its own publish status, link and error.
OpenClaw reaches it through Ravenpost's hosted MCP server,
https://api.ravenpo.st/mcp. There is nothing to install and no API key: the
server signs the user in with OAuth. The user needs a Ravenpost account — the
free plan (one social account, ten posts a month) is enough to try it — and
connects their social accounts in the Ravenpost dashboard, not here.
Check first: openclaw mcp status. If ravenpost is listed and authorized,
skip this section.
Otherwise the user saves the server and signs in. The sign-in needs a browser once, so ask the user to run these rather than running them for them:
openclaw mcp add ravenpost \
--url https://api.ravenpo.st/mcp \
--transport streamable-http \
--auth oauth \
--oauth-scope mcp
openclaw mcp login ravenpost
openclaw mcp status --verbose
login prints a link to Ravenpost's sign-in and waits. The user opens it in a
browser, signs in (or creates an account in the same flow) and approves the
connection; the browser then returns to OpenClaw on its own, and login ends
with "MCP OAuth credentials saved". Ravenpost's approval page names the app and
notes that it runs on this machine — that is OpenClaw, and it is expected. OpenClaw keeps its own credential; the user can end it at any time
under Connected AI apps on their Ravenpost account page.
On a machine with no browser, login prints a link. The
user opens it on any device and signs in; when the browser then fails to reach
the local address, they copy the code value from its address bar and run:
openclaw mcp login ravenpost --code THE_CODE
OpenClaw 2026.10.10 takes the code alone and refuses an --issuer option. If
openclaw mcp login --help lists --issuer in a later OpenClaw, add
--issuer https://api.ravenpo.st — the iss value beside the code.
If openclaw mcp status ever reports authorization-required, run
openclaw mcp login ravenpost again; if sign-in is stuck, run
openclaw mcp logout ravenpost first.
OpenClaw may show the tools with the server's name in front, such as
ravenpost__create_post. They are the tools named below.
list_workspaces. With exactly one, give
nothing and move on. With more than one, ask the user which, then give
workspaceId on every later call. Never guess: a workspace is a client, and
posting one client's content to another's accounts is the mistake to avoid.list_accounts returns each account's id,
platform, username and status. Targets are account ids, never
platform names. If the user said "Instagram" and two are connected, ask
which; if they said "everywhere", list what you are about to select first.upload_media (a public URL), or create_media_upload then
attach_media for a large file. create_variants cuts one image into each
network's canvas — feed, story, square, landscape.list_boards, then set board.tiktok options publishes privately (SELF_ONLY).
Say so, rather than letting the user think it went public.captionMax in list_accounts).preview_post takes exactly create_post's arguments,
writes nothing, and returns each destination as it will look plus a list
of warnings. Fix the warnings before writing.list_queue_slots), or "now".create_post — caption, accountIds and action:action | What happens |
|---|---|
draft | Saved, reaches nobody. Needs no yes. |
schedule | Goes out at scheduledAt — ISO 8601 with an offset, 2026-07-05T09:00:00+03:00. |
queue | Goes out at the workspace's next free queue slot. |
now | Saved, and waits for the user to confirm it in Ravenpost. |
get_post shows each destination's status, link
and error afterwards.action: "now", publish_post, and a schedule less than 15 minutes ahead are
held by Ravenpost. The post is saved, and the result says NOT PUBLISHED YET
and carries a link to the post in Ravenpost. Where no post card with a Publish
button is shown — in a chat app, for one — send the user that link: they
confirm the post there. Then stop. Do not call again: every call waits for
them again, and create_post makes a second post each time. When they say it
is done, get_post shows it going out.
A schedule further ahead is not held: it goes out by itself at its time, with nobody watching. So make that call only after the user said yes to it. In a scheduled OpenClaw job with nobody in the conversation, create drafts — or schedule only what the user approved when they set the job up.
update_post on a scheduled post takes
it off the schedule; give action again to put it back.delete_post never takes a post
down from a network; on Instagram, Threads, TikTok and YouTube Ravenpost
cannot take one down at all. Say so before deleting.get_analytics leaves out what a
network does not report; never turn a missing metric into a zero.