OpenClaw Integration in ContentStudio
ContentStudio now works with OpenClaw, a self-hosted AI agent you can talk to in plain language. Once connected, your agent can manage your ContentStudio account for you: create, schedule, approve, or delete posts, handle media, and check your workspaces, accounts, campaigns, labels, and team — all through the ContentStudio API. Hook it up to Telegram, and you can run all of it straight from a chat on your phone.
In this Article:
About OpenClaw
ContentStudio now works with OpenClaw — a self-hosted AI agent you can talk to in plain language. Once connected, your agent can manage your ContentStudio account for you: create, schedule, approve, or delete posts, handle media, and check your workspaces, accounts, campaigns, labels, and team — all through the ContentStudio API. Best of all, you can wire it up to a chat app like Telegram, WhatsApp, or Discord and run everything straight from a chat on your phone. 🦞
What your agent can do
- Create, schedule, approve, reject, and delete posts.
- Upload media, or import it straight from a URL.
- List and filter your connected social accounts.
- Audit workspaces, campaigns, categories, labels, and team members.
- Do it all by chatting in plain language — from Telegram or any other connected chat app.
⚠️ Before you begin
This is a technical, command-line integration. To set it up you'll need: a machine to run OpenClaw on, Node.js installed, a ContentStudio API key, an AI model provider key (e.g. OpenAI) to power the agent, and — for the chat part — an account on a supported chat app (this guide uses Telegram).
This is a technical, command-line integration. To set it up you'll need: a machine to run OpenClaw on, Node.js installed, a ContentStudio API key, an AI model provider key (e.g. OpenAI) to power the agent, and — for the chat part — an account on a supported chat app (this guide uses Telegram).
How to set up OpenClaw
1
Install OpenClaw using the official installer (see docs.openclaw.ai). It auto-detects your operating system and installs any dependencies, including Node.js if it isn't already installed.
2
Complete the guided setup, choose your AI model provider, and paste its API key when prompted. OpenClaw verifies the key and configures a default model for your agent.
3
Install the ContentStudio skill from ClawHub (install from here):
openclaw skills install @contentstudio-official/contentstudio
4
Install the ContentStudio CLI, which the skill runs on top of:
npm install -g contentstudio-cli
5
Generate an API key in ContentStudio from Dashboard → Settings → API Keys. Since OpenClaw runs as a background service, make the key available as an environment variable — the CLI reads CONTENTSTUDIO_API_KEY from the environment, and it takes precedence over the config file:
export CONTENTSTUDIO_API_KEY=cs_...
For quick local testing you can instead log in interactively, which stores the key in the CLI config file: contentstudio auth:login --api-key cs_...
6
Confirm the key was picked up (has_api_key should be true), then check that a workspace is selected. If active_workspace_id is null, list your workspaces and pick one:
contentstudio auth:status contentstudio --json workspaces:current # if no workspace is active: contentstudio --json workspaces:list contentstudio workspaces:use <workspace_id>
⚠️ Note — headless / service setups
A shell export does not persist into a running service process. For OpenClaw, set CONTENTSTUDIO_API_KEY in the agent's actual environment — for example, systemd Environment= (via systemctl edit), an EnvironmentFile=, or Docker -e / compose environment: — then restart the service. OpenClaw gates on declared requirements (requires.env), so it will stay blocked until this variable is present in the process environment.
A shell export does not persist into a running service process. For OpenClaw, set CONTENTSTUDIO_API_KEY in the agent's actual environment — for example, systemd Environment= (via systemctl edit), an EnvironmentFile=, or Docker -e / compose environment: — then restart the service. OpenClaw gates on declared requirements (requires.env), so it will stay blocked until this variable is present in the process environment.
How to connect Telegram (and other chat apps)
This guide uses Telegram. For a full walkthrough, see OpenClaw's Telegram quick setup → View guide
1
In Telegram, open @BotFather and send /newbot. Give your bot a name and a username ending in bot, then copy the Bot Token it returns — keep this secret.
2
Enable the Telegram plugin in OpenClaw:
openclaw config set plugins.entries.telegram.enabled true
3
Add Telegram as a channel using your bot token:
openclaw channels add --channel telegram --token "<YOUR_BOT_TOKEN>"
Prefer a guided flow? Run openclaw configure → Channel → Telegram → paste your token.
4
Start (or restart) the OpenClaw gateway so your Telegram connection becomes active. The gateway runs as a background service that keeps your bot online.
5
Generate an API key in ContentStudio from Dashboard → Settings → API Keys. Since OpenClaw runs as a background service, make the key available as an environment variable — the CLI reads CONTENTSTUDIO_API_KEY from the environment, and it takes precedence over the config file:
export CONTENTSTUDIO_API_KEY=cs_...
This works for most setups. If your gateway still can't see the key, set it directly on the service. First, open the service file (this opens an editor):
systemctl --user edit openclaw-gateway.service
Paste this into the file and save:
[Service] Environment="CONTENTSTUDIO_API_KEY=cs_xxxxxxxxxxxxxx"
Then reload the service configuration:
systemctl --user daemon-reload
And restart the gateway:
systemctl --user restart openclaw-gateway.service
For quick local testing you can instead log in interactively, which stores the key in the CLI config file: contentstudio auth:login --api-key cs_...
6
Approve the pairing code to authorize your account:
openclaw pairing approve --channel telegram <PAIRING_CODE>
7
You're connected! Start chatting with your bot in plain language to manage ContentStudio.
Try asking your bot:
- "List my draft posts."
- "Create a draft for my Facebook page: Weekend sale starts now!"
- "Schedule a post to LinkedIn for Monday at 10am."
- "Show my connected Instagram accounts."
- "Approve post 12345."
🔒 Keep your bot private
An open Telegram bot is a security risk — anyone who finds its username could send it commands. OpenClaw only responds to approved users, so make sure pairing is enabled and add trusted chat IDs to your allowlist. This ensures strangers can never control your ContentStudio account.
An open Telegram bot is a security risk — anyone who finds its username could send it commands. OpenClaw only responds to approved users, so make sure pairing is enabled and add trusted chat IDs to your allowlist. This ensures strangers can never control your ContentStudio account.
💡 Note — prefer a different chat app?
OpenClaw supports several channels beyond Telegram, including WhatsApp and Discord. The setup follows the same pattern — enable that channel's plugin, add the channel, then pair your account — just swap telegram for your channel of choice. See the OpenClaw docs for the full list of supported channels and their setup steps.
OpenClaw supports several channels beyond Telegram, including WhatsApp and Discord. The setup follows the same pattern — enable that channel's plugin, add the channel, then pair your account — just swap telegram for your channel of choice. See the OpenClaw docs for the full list of supported channels and their setup steps.
FAQ's
What is OpenClaw?
A self-hosted AI agent that runs on your own machine and connects to chat apps like Telegram, WhatsApp, and Discord. With the ContentStudio skill installed, it can manage your ContentStudio account on your behalf.
A self-hosted AI agent that runs on your own machine and connects to chat apps like Telegram, WhatsApp, and Discord. With the ContentStudio skill installed, it can manage your ContentStudio account on your behalf.
Do I have to use Telegram?
No. Telegram is the easiest way to get started, but OpenClaw also supports other channels like WhatsApp and Discord — the setup steps are the same idea for each.
No. Telegram is the easiest way to get started, but OpenClaw also supports other channels like WhatsApp and Discord — the setup steps are the same idea for each.
Where do I get my ContentStudio API key?
From your ContentStudio Dashboard → Settings → API Keys. For local testing you can log in with contentstudio auth:login --api-key cs_..., but for an agent running as a service, set it as the CONTENTSTUDIO_API_KEY environment variable so the running process can read it.
From your ContentStudio Dashboard → Settings → API Keys. For local testing you can log in with contentstudio auth:login --api-key cs_..., but for an agent running as a service, set it as the CONTENTSTUDIO_API_KEY environment variable so the running process can read it.
Which AI models can I use?
Any model provider OpenClaw supports (such as OpenAI). You pick your provider and add its API key during setup.
Any model provider OpenClaw supports (such as OpenAI). You pick your provider and add its API key during setup.
Can the agent connect a brand-new social account?
First-time social account connections are done in the ContentStudio web app. Once an account is connected there, the agent can manage its posts, media, and more.
First-time social account connections are done in the ContentStudio web app. Once an account is connected there, the agent can manage its posts, media, and more.
Is it safe to let an agent post for me?
Yes, with sensible guardrails. Only approved users can control your bot, and the agent confirms which workspace it's acting in before making any changes.
Yes, with sensible guardrails. Only approved users can control your bot, and the agent confirms which workspace it's acting in before making any changes.
Why isn't my bot responding?
It's usually one of these: the bot token is incorrect, pairing hasn't been approved yet, the Telegram plugin isn't enabled, or the gateway isn't running.
It's usually one of these: the bot token is incorrect, pairing hasn't been approved yet, the Telegram plugin isn't enabled, or the gateway isn't running.