# How to Automate Social Media Posting with OpenClaw

> OpenClaw can't post on its own. Here's how to automate social media carousels and videos and schedule them to 15 social platforms

- **Author**: Rishi Mohan
- **Published**: 2026-10-23
- **Tags**: OpenClaw, Social Media, Content Creation, Social Analytics, AI Agents, MCP, Automation
- **Read time**: 18 min read
- **URL**: https://orshot.com/blog/automate-social-media-posting-openclaw

---

To automate social media posting with OpenClaw, install a posting route and connect your accounts. The Orshot plugin covers the whole loop: content creation, posting and scheduling, and social analytics, from one chat.

Scheduler skills (Postiz, ContentStudio, Zernio) post text you already have, and a custom skill talks to one platform API.

![Three ways to post from OpenClaw: Zernio with a custom skill and API key for posting only, Postiz as a scheduler skill for posting and scheduling, and the Orshot plugin covering content creation, posting, scheduling and social analytics with Instagram, LinkedIn, X, TikTok, WhatsApp and Facebook icons](https://orshot.com/blog/automate-social-media-posting-openclaw/three-openclaw-posting-routes.webp)

**Already on OpenClaw and want to post today?** Three steps, about ten minutes:

1. Run the two commands below (install the plugin, log in through your browser).
2. Connect one social account in your [free Orshot account](https://orshot.com/signup).
3. Send the prompt in step 3 to make your first post design.

```bash
openclaw plugins install clawhub:orshot
openclaw mcp login orshot
```

Once it is connected, these are the kinds of messages the plugin handles end to end: a carousel posted as a draft, a Reel scheduled at your best time, a link card sent to every connected account.

![A chat window with OpenClaw and the Orshot plugin connected, showing three example prompts and their results: a five-slide carousel queued to LinkedIn as a draft, a 15-second Instagram Reel scheduled at the best engagement time, and a link card posted to LinkedIn, Instagram, X and Facebook](https://orshot.com/blog/automate-social-media-posting-openclaw/openclaw-example-prompts.webp)

The rest of this guide compares the routes, shows every step with real screenshots and ends with the costs.

OpenClaw cannot post anywhere on its own. It is an open-source agent that runs on your machine and acts through skills (instruction files) and MCP servers (apps it can call).

In my test on October 22, 2026, one message produced a five-slide LinkedIn carousel in 1.3 seconds and held it as a draft until I approved it.

**TL;DR** — Which OpenClaw posting route fits? Pick by what the post contains:

- **1. Content creation and posting in one plugin**: [Orshot](#1-create-content-post-and-read-analytics-from-openclaw-with-orshot) — The agent creates the post design, makes each post from it, publishes it as a draft and reads the social analytics. OAuth, no key.
- **2. Text and links you already have**: [A scheduler skill: Postiz, ContentStudio or Zernio](#2-post-text-you-already-have-with-a-scheduler-skill) — Install one skill, paste an API key, and OpenClaw schedules text and uploaded files across 10 to 28 networks.
- **3. One platform, your own rules**: [A custom SKILL.md against the platform API](#3-write-your-own-openclaw-posting-skill-for-one-platform) — Most control, most maintenance. The route the ranking Reddit threads took.

| Route | What it covers | Setup | Cost shape |
| :--- | :--- | :--- | :--- |
| **1. Orshot plugin** | Content creation, posting, scheduling, social analytics | Plugin + OAuth login | 100 free credits, $12 per account for posting |
| **2. Scheduler skill** (Postiz, ContentStudio, Zernio) | Posting and scheduling of text and uploads | Skill + API key | Free tier, then per channel |
| **3. Custom skill** | Whatever one platform API allows | You write and host it | Platform API fees, your time |

## 1. Create Content, Post and Read Analytics from OpenClaw with Orshot

The [Orshot plugin](https://clawhub.ai/orshot/plugins/orshot "target=_blank") gives OpenClaw the whole social media loop in one install: it creates the post design from a brief, makes each post from it with new copy, publishes or schedules the post, and reads the social analytics back.

Orshot is an API for automated image, PDF and video generation from templates, where a template is a reusable post design. It connects to 15 social platforms and talks to OpenClaw over a hosted MCP server with OAuth.

**Pick this if** you want designed posts (quote cards, carousels, weekly stat graphics, product posts) that look the same every week, without a designer or a second tool in the loop.

Customers had published 604 posts through Orshot to 49 connected accounts on 8 platforms as of October 22, 2026, and 70 percent of those posts came from an AI agent rather than the dashboard.

Disclosure: I built Orshot.

**Before you start** you need three things: OpenClaw installed, a free Orshot account, and one social account connected in the Orshot dashboard. Publishing to that account needs a paid plan (costs are in the table below); drafts and previews work on the free plan.

### Step 1: Install the plugin and log in

Two commands. The plugin registers the MCP server and loads four skills (images and video, social media scheduler, carousel, social media content). The login opens your browser once; there is no API key.

```bash
openclaw plugins install clawhub:orshot
openclaw mcp login orshot
```

![Setting up Orshot in OpenClaw in three steps: install the plugin with openclaw plugins install clawhub:orshot, log in once with openclaw mcp login orshot through the browser OAuth page, then OpenClaw and Orshot are connected with 100 plus tools and four skills](https://orshot.com/blog/automate-social-media-posting-openclaw/orshot-openclaw-setup.webp)

Prefer the MCP server alone? `openclaw mcp add orshot --url https://mcp.orshot.com/mcp --transport streamable-http --auth oauth` does that, per the OpenClaw [MCP CLI docs](https://docs.openclaw.ai/cli/mcp "target=_blank rel=nofollow"). Every command and the config-file form are on the [OpenClaw agent page](https://orshot.com/agents/openclaw).

Once connected, the Agents & MCP page in your workspace shows what the agent did: tool calls, sessions, posts made and the tools it used most.

![The Agents and MCP page in the Orshot workspace showing 1.6K tool calls, 50 sessions, a 98 percent success rate, tool calls per day and the most used tools, the generate and design tools](https://orshot.com/blog/automate-social-media-posting-openclaw/orshot-agents-mcp.webp)

### Step 2: Connect the social accounts once

Accounts are connected by a human in the Orshot dashboard, never by the agent. Open Social, then Accounts, pick a platform and sign in. Each connected account shows its id, followers and last post.

![The Social Accounts page in the Orshot workspace with a Connect an account card for WhatsApp, X, Instagram, Facebook, LinkedIn and TikTok, and two connected accounts, X and LinkedIn, with follower counts and ids](https://orshot.com/blog/automate-social-media-posting-openclaw/orshot-social-accounts.webp)

Social publishing is an add-on on paid plans at $12 per connected account per month, with no extra credit per post, as of October 2026 (see the [publishing docs](https://orshot.com/docs/publish/introduction)). After that, `orshot_list_social_accounts` returns the numeric ids the agent posts with.

![What OpenClaw can do once Orshot is connected, the loop in four steps: create the post design from a brief, new copy on the same design in 1.3 seconds, a LinkedIn draft with Instagram, X, TikTok, WhatsApp and Facebook as other destinations, and the best time to post from your own analytics](https://orshot.com/blog/automate-social-media-posting-openclaw/openclaw-orshot-loop.webp)

### Step 3: Create the post design from a brief

Describe the post in plain words. OpenClaw picks the fonts, colours and safe areas from the social media content skill and your brand kit, and sends a preview back in chat.

Orshot saves what it made as a reusable design. From then on the agent only changes the words, so every post looks like the same brand.

![A brief to OpenClaw on the left asking for a weekly tip Instagram post, the created photo design in the middle with the headline Post the visual not just the link, and on the right the same design with new copy, Draft first post on approval, in 1.3 seconds](https://orshot.com/blog/automate-social-media-posting-openclaw/template-created-then-rendered.webp)

The design above came back as design 28523 with five editable fields in one call on October 22, 2026. From here every post is the same design with new copy, never a redesign.

Already have a design in Canva or Figma? Import it instead and skip this step.

### Step 4: Make a carousel and post it as a draft with one message

This is the test behind the number in the opening. I asked for a five-slide LinkedIn carousel from an existing growth tips design and told the agent to hold it as a draft.

![An OpenClaw message on the left asking for a five-slide LinkedIn carousel, a speed ring showing 1.3 seconds, and on the right the five finished slides with the Orshot draft card showing LinkedIn @Orshot, status draft, post 2114](https://orshot.com/blog/automate-social-media-posting-openclaw/openclaw-message-to-linkedin-draft.webp)

The make-and-queue call returned in 1,273 ms with five slide URLs and a `publish` entry for LinkedIn in `pending` status. The draft sat in the dashboard as post 2114 until I opened it. Nothing reached LinkedIn.

**Make your first draft from OpenClaw** — Free plan: 100 images a month, no card. Posting is $12 per connected account on paid plans.

[Start free](https://orshot.com/pricing?via=blog-openclaw-social-test)

Under the hood the agent called `orshot_render_template` with a `publish` object. The same call works from any code over REST, which matters when you later move the job to a cron:

```json
{
  "templateId": 12155,
  "modifications": {
    "page1@headline": "HOW TO\nGROW ON\nLINKEDIN",
    "page2@headline": "Post when your\naudience is\nactually online",
    "page3@headline": "Lead with the\nvisual, not\nthe link",
    "page4@headline": "Reply to every\ncomment in the\nfirst hour",
    "page5@cta_text": "FOLLOW @ORSHOTAPP"
  },
  "response": { "type": "url", "format": "png" },
  "publish": {
    "accounts": [15],
    "content": "Five slides, one message to an agent.",
    "status": "draft"
  }
}
```

</CodeTab>

```bash
curl -s -X POST https://api.orshot.com/v1/studio/render \
  -H "Authorization: Bearer $ORSHOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": 12155,
    "modifications": { "page1@headline": "HOW TO\nGROW ON\nLINKEDIN" },
    "response": { "type": "url", "format": "png" },
    "publish": { "accounts": [15], "content": "Five slides, one message.", "status": "draft" }
  }'
```

</CodeTab>
</CodeTabs>

![Five carousel slides side by side, 1080 by 1350, a red growth tips design with captions hook, tip 1, tip 2, tip 3 and CTA, and the platforms it posts to as a carousel: Instagram, LinkedIn, TikTok, Threads and Bluesky](https://orshot.com/blog/automate-social-media-posting-openclaw/four-carousel-slides.webp)

A carousel is a multi-slide design: Orshot uploads every slide and posts it as a carousel on Instagram, LinkedIn, TikTok (photo mode), Threads and Bluesky. The `orshot-carousel` skill carries a six-slide formula and TikTok's safe zones.

### Step 5: Turn the design into a weekly content calendar

Seven posts from the same design is seven posts with different copy, each created as a draft.

The Posts Log shows them as a calendar: queue, drafts, published and anything that needs attention. Approve from there or from chat, and the approved ones get a `scheduled_for` time.

![The Posts Log in the Orshot workspace as a month calendar for October 2026 with queue, drafts, published and needs attention counters and scheduled LinkedIn posts on the 23rd, 24th and 25th](https://orshot.com/blog/automate-social-media-posting-openclaw/orshot-posts-log.webp)

### Step 6: Schedule at the best time your own data shows

Orshot's `orshot_get_best_time_to_post` tool reads your account's engagement history and returns day-and-hour slots in UTC.

For our LinkedIn page on October 22, 2026, the strongest slot with real evidence was Thursday 08:00 UTC at 2.7 engagements per post across 6 posts.

The top slot, Wednesday 20:00 UTC, had one post behind it, and the tool says so.

![Bar chart of LinkedIn engagement per post by slot from Orshot analytics: Thursday 8am UTC 2.7 across six posts, Saturday 8am 2.6 across five, with a note that one-post slots are weak evidence](https://orshot.com/blog/automate-social-media-posting-openclaw/best-time-to-post-linkedin.webp)

The agent takes the top slot with enough posts behind it, converts it to your timezone, and passes it as `scheduled_for`.

On a new account the slots come back empty. The agent should ask for a time rather than invent one.

### Step 7: Read the social analytics and adjust

The Analytics page and the `orshot_get_social_analytics` tool return the same numbers: impressions, engagement, posts published, followers, a day-by-day chart and a best-time heatmap per account.

![The Social Analytics page in the Orshot workspace showing 510 impressions, 20 engagements, 15 posts published and 209 followers for the last 30 days, a daily chart and a best time to post heatmap](https://orshot.com/blog/automate-social-media-posting-openclaw/orshot-social-analytics.webp)

A daily loop is one prompt: read last week's posts, keep the hook styles of the top quarter, drop the bottom quarter, write next week's drafts.

### Step 8: Put it on a schedule

The simplest schedule is an Orshot Workflow, which posts from a sheet without OpenClaw being awake; the scheduling section below shows the preset.

If you want OpenClaw itself to run it, its cron jobs and heartbeat are documented in its [cron guide](https://docs.openclaw.ai/automation/cron-jobs "target=_blank rel=nofollow"). The daily job is one prompt:

### What It Costs

| Item | Price, as of October 22, 2026 |
| :--- | :--- |
| Orshot free plan | 100 credits a month, no card |
| Image post | 1 credit per image; video needs a paid plan |
| Social publishing add-on | $12 per connected account per month, paid plans only |
| Publishing a post | No extra credit |

The add-on is per account, so one brand on Instagram, LinkedIn and X is three accounts.

- **100 images a month**: Every post design, every template in the library, and new designs from a brief. No card.
- **The plugin, MCP server and four skills**: Content creation, carousel, scheduler and images and video skills, with OAuth login and no key on your machine.
- **Drafts, previews and the dashboard**: Queue posts as drafts, see the cards in chat, approve from the Posts Log. Publishing needs a paid plan plus the $12 add-on.

### Things That Bit Me

- Modifications key by `parameterId`, not layer name. If a value is ignored, the key is wrong; the skill tells the agent to read the design first.
- PDFs cannot be posted anywhere. Images cannot go to TikTok or YouTube, which take video or photo carousels.
- `scheduled_for` must be at least 60 seconds ahead and only pairs with `status: "scheduled"`.
- Instagram and TikTok publish asynchronously. A `processing` status is not a failure.

- Content creation, posting, scheduling and social analytics in one plugin, 1.2 to 1.3 seconds per image in my tests
- OAuth login, no API key on the OpenClaw machine
- Drafts by default, visual preview cards in chat, best time from your own data

Cons:
- You create the post design once first, or let the agent do it
- Social publishing is a paid add-on per account
- 15 platforms, fewer than Postiz's list

**Best for:** Orshot suits founders and small marketing teams who want OpenClaw to create, post and measure designed images, carousels and video every week without opening a design tool.

## 2. Post Text You Already Have with a Scheduler Skill

A scheduler skill lets OpenClaw post text, links and uploaded media through a social media scheduler's API. Postiz, ContentStudio and Zernio each publish one on ClawHub, the OpenClaw skill registry.

**Pick this if** your posts are copy and links, you already have a scheduler account, and you want the widest platform list. None of the three makes the image; you upload what you already have.

Postiz's install is one line, documented on its [OpenClaw page](https://postiz.com/openclaw "target=_blank rel=nofollow"):

```bash
openclaw skills install @nevo-david/postiz
postiz auth:login
```

ContentStudio asks for three commands (skill, CLI, API key) and notes the first social account must be connected in its web app, per its [guide](https://contentstudio.io/blog/automate-social-media-openclaw "target=_blank rel=nofollow"). Zernio's skill reads a `ZERNIO_API_KEY` line from `~/.openclaw/.env`, per its [step-by-step post](https://zernio.com/blog/how-to-post-to-social-media-using-openclaw-step-by-step-guide "target=_blank rel=nofollow").

| Scheduler | Free tier | Paid, as of October 22, 2026 |
| :--- | :--- | :--- |
| Postiz | "Start for $0" | Paid plans add channels; prices on its pricing page |
| ContentStudio | 7-day trial, no card | Plans on its pricing page |
| Zernio | First 2 social accounts | $6 per account for accounts 3 to 10, less above |

Two things bit me here: platform counts are marketing numbers (Postiz says 28+ in its skill and 30+ on its page), and the skill may not appear in `openclaw skills list` until the vendor CLI is installed globally.

Using one of these already? Orshot still makes the visual: the `orshot-carousel` skill documents the Postiz hand-off (download the slides, `postiz upload`, `postiz posts:create`).

**Best for:** Postiz, ContentStudio and Zernio suit teams that already write copy and have images, and want OpenClaw to schedule it across many networks.

## 3. Write Your Own OpenClaw Posting Skill for One Platform

A custom posting skill is a `SKILL.md` file that tells OpenClaw how to call one platform's API with your credentials. This is the route in the Reddit threads that rank for this query.

**Pick this if** you post to one network, you already have developer access to its API, and you would rather own the code than pay per channel.

Three steps. Get platform API access: X, Meta's Graph API and LinkedIn each need an app, a review for posting scopes and a token that expires.

Write the skill in OpenClaw's [skill format](https://docs.openclaw.ai/tools/creating-skills "target=_blank rel=nofollow") with the token in an environment variable. Then write the draft gate into the skill body: "Never call the publish endpoint until the user says post."

What bit me: tokens expire, so the cron fails silently on day 60 without a refresh step; media upload is a second API with its own limits; and X's free tier allows only a few hundred posts a month.

**Best for:** A custom OpenClaw skill suits a developer posting to one platform who wants to own the whole path, and accepts that nothing in it makes the image.

## Which OpenClaw Posting Route Should You Use?

Use the Orshot plugin when the post is a visual and you want creation, posting and analytics in one place; a scheduler skill for text you already have; a custom skill only for one platform you control.

| Question | Orshot plugin | Scheduler skill | Custom skill |
| :--- | :--- | :--- | :--- |
| Creates the content? | Yes, from a brief | No | No |
| Makes the image or carousel? | Yes, from your design | No | No |
| Credentials on the machine | OAuth token | API key | Platform token |
| Platforms | 15 | 10 to 28 | 1 per skill |
| Drafts and approvals | Yes, default | Yes | You write it |
| Analytics and best time | Yes, from your own posts | ContentStudio, Postiz | No |
| Time to first post | Under 10 minutes | Under 10 minutes | Days (API review) |

## Keep OpenClaw from Posting the Wrong Thing

OpenClaw posts whatever its skill lets it post, so the controls live in the skill text and the account setup. Four rules kept my test boring, which is the goal.

![Four guard rails for OpenClaw posting: drafts by default with status draft, OAuth with PKCE instead of an API key in a config file, naming the account by its numeric id, and the ClawHub audit badge on the Orshot skills](https://orshot.com/blog/automate-social-media-posting-openclaw/openclaw-guard-rails.webp)

- **Drafts by default.** The Orshot skills send `status: "draft"` unless the message says post now. Write the same rule into any custom skill.
- **OAuth over keys.** A token the agent cannot read beats a key in `~/.openclaw/.env`. Orshot's MCP server uses OAuth with PKCE; Postiz offers a device-flow login as well.
- **Name the account.** Two LinkedIn accounts have two numeric ids. The skill repeats platform and username before sending.
- **Read the audit.** ClawHub scans every skill version. The four Orshot skills show a Pass audit; check the badge on anything you install.

## Can OpenClaw Post on Social Media?

Yes, through a skill or plugin; OpenClaw has no built-in posting. The Orshot plugin creates the content, an image, carousel or video, and posts it to 15 platforms.

Those platforms are X, Instagram, Facebook, LinkedIn, TikTok, YouTube, Pinterest, Reddit, Bluesky, Threads, Telegram, Snapchat and Google Business.

The ContentStudio, Postiz and Zernio skills post text and uploaded media to 10 to 28 networks.

## Can OpenClaw Post to Instagram, LinkedIn and TikTok?

OpenClaw can post to Instagram, LinkedIn and TikTok through any of the three routes, with one catch per platform.

![Where OpenClaw can post through Orshot and the catch on each of 15 platforms: Instagram publishes async, LinkedIn wants the link in the first comment, TikTok takes photos 2 to 35 or video, X 280 characters, YouTube video only, Bluesky 300 characters, Reddit no video via API, Google Business no video, Discord 2,000 characters, Snapchat in beta](https://orshot.com/blog/automate-social-media-posting-openclaw/openclaw-platform-matrix.webp)

Instagram and TikTok publish asynchronously, so the agent should re-check status after a minute. TikTok takes video or a photo carousel of 2 to 35 images, never a single image.

LinkedIn accepts a first comment, which is where the link belongs if you want the preview card suppressed.

## How Do I Schedule Posts from OpenClaw on a Cron?

You do not need a cron. An [Orshot Workflow](https://orshot.com/workflows/images-from-sheet-to-social) is the scheduled job: connect a data source, map its columns to your post design, pick the connected accounts, and every new row becomes a finished post.

OpenClaw creates the design and fills the sheet. The workflow does the posting on its own schedule, so nothing depends on your machine being on.

The preset below is ready to copy into your workspace with one click on **Use this workflow**.

[Auto-post images to social media from Google Sheets workflow on Orshot](https://orshot.com/workflows/images-from-sheet-to-social/embed)

The same shape exists for LinkedIn carousels from Airtable or Notion, Pinterest pins from a sheet and daily quote graphics, and each runs on new rows or a fixed schedule.

If you want OpenClaw itself to run the job, its cron and heartbeat run the same skills as an interactive message, so the job text is the prompt from step 8 above.

Keep the draft gate either way. A job that publishes unreviewed posts is the failure mode every guide warns about.

## OpenClaw Social Media Automation FAQ

**Q: Can OpenClaw post on social media?**

Yes, with a skill or plugin. OpenClaw itself has no posting feature. The Orshot plugin creates the content, images, carousels and video, and posts them to 15 platforms over OAuth. Postiz, ContentStudio and Zernio publish OpenClaw skills that schedule text and uploaded media.

**Q: How do I automate social media posting with OpenClaw?**

Install the Orshot plugin or a posting skill from ClawHub, connect your social accounts in that vendor's dashboard, then send OpenClaw a message or a cron job prompt that says what to post and holds it as a draft. In my October 22, 2026 test, one message produced a five-slide LinkedIn carousel draft in 1.3 seconds.

**Q: Can OpenClaw create the content, not just post it?**

Yes, with the Orshot plugin. The orshot-social-media-content skill lets OpenClaw create an on-brand post design from a brief, and every later post reuses that design with new copy. Scheduler skills post media you upload; they do not make it.

**Q: Is there an AI that automatically posts to social media for you?**

Yes. OpenClaw with the Orshot plugin drafts, schedules and publishes posts on its own, with the visual made from your own design. Keep drafts on so a human approves each post; every tool in this guide supports that gate.

**Q: Does OpenClaw social media automation need an API key?**

Not with Orshot. The Orshot plugin logs in with OAuth and keeps no key on the machine. Postiz offers a device-flow login or an API key. ContentStudio and Zernio use an API key stored in the OpenClaw environment.

**Q: How much does it cost to automate social media with OpenClaw?**

OpenClaw is free and open source; you pay for the model and the posting route. As of October 22, 2026, Orshot's free plan has 100 images a month with posting at $12 per connected account on paid plans. Postiz starts at $0, ContentStudio has a 7-day trial, Zernio gives two accounts free.

**Q: Do I need a paid Orshot plan to post from OpenClaw?**

Not to start. The free plan makes images, carousel slides and drafts from OpenClaw with 100 images a month. Publishing to a connected account needs a paid plan plus the social publishing add-on at $12 per account per month, as of October 22, 2026. Video needs a paid plan.

**Q: What is Orshot?**

Orshot is an API for automated image, PDF and video generation from templates. You create a post design once, or let an agent create it, then fill it with new text and images from code, n8n, Make, Zapier or an AI agent such as OpenClaw, and post the result to 15 social platforms in the same call. Orshot Workflows run the same loop on a schedule from a sheet or database.

## Get Your First Post Out of OpenClaw

Install the Orshot plugin, log in, connect one account, and send the design prompt from step 3. The preview comes back in chat, the first draft lands in the Posts Log, and you approve it from there.

[Sign up](https://orshot.com/pricing?via=blog-openclaw-social-footer) for the free plan, which includes 100 images a month and no card.