To publish content instantly to social media from OpenClaw, run `clawhub install upload-post` in your terminal, configure your UPLOAD_POST_API_KEY, and describe what you want to post and to which platforms. Unlike Postiz, Upload Post publishes immediately rather than queuing for later — ideal for time-sensitive announcements or spontaneous posts across Twitter/X, LinkedIn, Instagram, and more.
Publish Content Instantly to Multiple Social Platforms from OpenClaw
Sometimes you don't need a scheduling queue — you need to post right now. A product just shipped, a news story just broke, or you had a thought worth sharing while it's still fresh. Upload Post is the instant-publishing counterpart to scheduling tools like Postiz: you describe what you want to share and where, and it goes live immediately across all specified platforms in a single action.
The Upload Post ClawHub skill integrates this instant-publishing capability directly into OpenClaw chat. You no longer need to open a browser, navigate to each platform, and paste your content multiple times. One prompt to OpenClaw publishes across Twitter/X, LinkedIn, Instagram, Facebook, and any other platform connected to your Upload Post account simultaneously. The skill handles the API calls, character limits, and platform-specific formatting behind the scenes.
Upload Post differs from Postiz in a deliberate way: Postiz is optimized for planning and scheduling future content, while Upload Post is optimized for frictionless immediate publishing. For most social media workflows you want both: use Postiz for your regular content calendar and Upload Post for reactive, time-sensitive posts. Having both installed in OpenClaw lets you choose the right publishing mode for each situation without switching tools.
Integration method
Upload Post is available as a native ClawHub skill that connects to your Upload Post account via API key. Once installed and configured, OpenClaw can publish content immediately to all social platforms linked in your Upload Post account — the skill handles platform routing, character limit enforcement, and media attachment automatically. No scheduling step is needed; content goes live as soon as OpenClaw sends the request.
Prerequisites
- OpenClaw installed and running (see openclaw.ai for installation instructions)
- ClawHub CLI available in your terminal (bundled with OpenClaw)
- An Upload Post account at uploadpost.com with social accounts connected
- At least one social media account (Twitter/X, LinkedIn, Instagram, Facebook) connected in Upload Post
- Terminal access to run the clawhub install command
Step-by-step guide
Install the Upload Post Skill via ClawHub
Install the Upload Post Skill via ClawHub
Open your terminal and run the ClawHub install command for Upload Post. This downloads the skill from the ClawHub registry, validates its package signature, and registers it with your local OpenClaw configuration. The install command completes in a few seconds and shows you the required configuration key: UPLOAD_POST_API_KEY. You will get this in the next step. The skill installs successfully without the key but produces an error when you try to use it before the key is configured — this is expected behavior. If you see `clawhub: command not found`, verify your OpenClaw PATH configuration. The ClawHub binary ships with OpenClaw and is typically found at `/usr/local/bin/clawhub` on macOS/Linux. Reinstalling OpenClaw from openclaw.ai will restore a missing ClawHub binary.
1clawhub install upload-postPro tip: Run `clawhub list` to verify the skill appears after installation. Use `clawhub info upload-post` to see all supported configuration options before proceeding.
Expected result: Terminal confirms: 'upload-post@X.X.X installed successfully. Required config: UPLOAD_POST_API_KEY'. The skill appears in the output of `clawhub list`.
Connect Social Accounts and Get Your Upload Post API Key
Connect Social Accounts and Get Your Upload Post API Key
Before getting the API key, ensure your social media accounts are connected in Upload Post. Log into app.uploadpost.com and navigate to the Accounts or Channels section. Connect each platform you want to publish to — Twitter/X, LinkedIn, Instagram, Facebook, etc. Each platform will walk you through an OAuth authorization flow. Complete these connections before generating the API key so you can test all your platforms in the steps that follow. Once your accounts are connected, navigate to Settings and look for the API Keys or Developer section. Click 'Generate API Key' or 'Create new key'. Give it a label like 'OpenClaw' to identify its purpose. Copy the generated key immediately — some services only display it once. Your Upload Post API key provides full posting access to all connected social accounts. Treat it as you would a password — don't share it, don't commit it to version control, and regenerate it immediately if you suspect it has been exposed.
Pro tip: Make sure you test posting manually from the Upload Post web dashboard before connecting via OpenClaw. This confirms your social account connections are working before you introduce the API layer.
Expected result: You have at least one social platform connected in Upload Post and an API key ready to configure in OpenClaw.
Configure the API Key in OpenClaw
Configure the API Key in OpenClaw
Add your Upload Post API key to OpenClaw's configuration. Use the `clawhub config set` command for the quickest setup, or add the key manually to your OpenClaw `.env` file located in `~/.openclaw/` on macOS/Linux. After setting the key, run `clawhub reload` to apply the configuration without restarting OpenClaw. Verify the key is properly set by running `clawhub config get UPLOAD_POST_API_KEY` — this returns the key value (partially masked) if configured correctly. If you use OpenClaw on multiple machines or share it with a team, each instance needs its own API key configured. Generate a separate key per instance in Upload Post's settings for easier access management.
1# Option A: Add to ~/.openclaw/.env2UPLOAD_POST_API_KEY=your-upload-post-api-key-here34# Option B: Set via clawhub config5clawhub config set UPLOAD_POST_API_KEY your-upload-post-api-key-here67# Verify configuration8clawhub config get UPLOAD_POST_API_KEY910# Apply without restart11clawhub reloadPro tip: Double-check that the variable name is exactly UPLOAD_POST_API_KEY — the skill looks for this exact string. Typos in variable names are the most common configuration failure.
Expected result: `clawhub config get UPLOAD_POST_API_KEY` returns your key (masked). OpenClaw confirms the upload-post skill is ready.
Test Instant Publishing from OpenClaw Chat
Test Instant Publishing from OpenClaw Chat
Open OpenClaw chat and write a prompt to publish a test post. For your first test, publish to one platform with simple text content to verify the end-to-end connection. Once confirmed, you can move to multi-platform posts. The Upload Post skill publishes content the moment OpenClaw sends the API request — there is no preview or confirmation step by default. If you want to review content before it goes live, include 'draft mode' or 'show me what will be posted before publishing' in your prompt. OpenClaw will present the content for your review and wait for explicit confirmation. A successful publish returns a confirmation from Upload Post that includes the post ID, the platform it was published to, and a direct link to the live post. Save the post ID if you might need to reference or delete the post later. RapidDev can help you set up a multi-platform publishing workflow in OpenClaw that combines Upload Post for instant publishing with Postiz for scheduled content, giving you full control over your social media pipeline.
Post immediately to LinkedIn: 'Testing OpenClaw's social media integration — publishing this from my AI agent setup. If you're seeing this, it worked!' Confirm the post URL after publishing.
Paste this in OpenClaw chat
Pro tip: If this is your first live post from OpenClaw, consider posting to one platform first to verify formatting before publishing to all platforms simultaneously.
Expected result: OpenClaw confirms the post was published with a post ID and a direct URL to the live post on the social platform. The post appears immediately on the platform.
Multi-Platform Publishing with Platform-Specific Content
Multi-Platform Publishing with Platform-Specific Content
The most powerful Upload Post workflow is publishing platform-adapted content simultaneously. Each social platform has different character limits, audience expectations, and media requirements. You can instruct OpenClaw to craft platform-specific versions of the same core message and publish them all in a single prompt. Twitter/X: 280 characters, punchy, conversational, hashtags welcome. LinkedIn: professional tone, longer-form acceptable (up to 3,000 characters), no excessive hashtags. Instagram: visual-first, caption under 2,200 characters, hashtag-heavy (up to 30). Facebook: conversational, medium length, link-friendly. You can also request that OpenClaw attach images or media to posts through Upload Post if you have the media URL available. The skill passes media attachments through to each platform's media upload API automatically. For high-frequency publishing workflows — content agencies or brands posting dozens of times per week — configure the skill's default platform list so you don't need to specify platforms in every prompt.
Publish to all my connected social platforms right now about my new newsletter signup page: Twitter should be punchy under 280 chars with a hook, LinkedIn should be 2 professional paragraphs about why I started the newsletter, Facebook should be casual and friendly. The signup URL is https://example.com/newsletter. Post all platforms simultaneously.
Paste this in OpenClaw chat
1# Configure default platforms in skill config2# ~/.openclaw/skills/upload-post.yaml3upload-post:4 default_platforms:5 - twitter6 - linkedin7 - facebook8 require_confirmation: false # set true to review before publishing9 include_link_preview: true # generate link preview cards when URLs are includedPro tip: Set `require_confirmation: true` in your skill config if you want OpenClaw to always show you a preview before publishing. This adds a safety check that prevents accidental posts.
Expected result: OpenClaw confirms publication to all specified platforms simultaneously, returning post IDs and live URLs for each platform. All posts appear live within seconds.
Common use cases
Instant Product Launch Announcement
The moment a feature ships, bug gets fixed, or product goes live, use OpenClaw to publish an announcement simultaneously to all your social channels. Upload Post publishes immediately — no scheduling delay — ensuring your audience hears the news the instant you're ready.
Publish immediately to Twitter, LinkedIn, and Facebook: we just launched our mobile app on iOS and Android. Twitter: 'The iOS + Android app is live. Download link in bio.' LinkedIn: write a professional 2-paragraph announcement about the launch highlighting the main features. Facebook: write something friendly and excited. Post all three now.
Copy this prompt to try it in OpenClaw
Breaking News or Trend Response
When an industry event happens and you want to add your voice while it's trending, instant publishing is critical. Use OpenClaw to draft a timely response and publish it immediately rather than adding it to a queue that might not post for hours.
A major AI model was just announced. Post a reaction on Twitter right now: 'Fascinating release today — here are the 3 things that stand out to me about the new model architecture: [write 3 brief points based on what you know]. What are others noticing?' Publish it immediately.
Copy this prompt to try it in OpenClaw
Cross-Post Existing Content Immediately
Republish a blog post, YouTube video, or article to social channels the moment it's live. OpenClaw can draft appropriate social captions for each platform and publish them all at once via Upload Post.
I just published a blog post at https://myblog.com/ai-tools-2026. Create and immediately publish social posts for this article: Twitter (punchy hook + link), LinkedIn (professional summary + link), and Facebook (conversational intro + link). All three should go live now.
Copy this prompt to try it in OpenClaw
Troubleshooting
OpenClaw returns '401 Unauthorized' or 'upload-post: authentication failed' when trying to publish
Cause: UPLOAD_POST_API_KEY is not configured in OpenClaw, was set under a different variable name, or the key was copied with extra whitespace or is no longer valid.
Solution: Run `clawhub config get UPLOAD_POST_API_KEY` to verify the key is set and correct. Re-run `clawhub config set UPLOAD_POST_API_KEY your-key` if it's missing or wrong. Verify the key is still active in your Upload Post account settings.
1clawhub config get UPLOAD_POST_API_KEY2clawhub config set UPLOAD_POST_API_KEY your-key-here3clawhub reloadPublishing fails for one platform but succeeds for others
Cause: The social account connection for the failing platform has expired or lost OAuth authorization. This happens when social platforms revoke third-party access or when the account password changes.
Solution: Open the Upload Post dashboard, navigate to Connected Accounts, find the failing platform, disconnect it, and reconnect it via the OAuth flow. After reconnecting, retry the publish from OpenClaw.
clawhub install upload-post returns a network error or hangs
Cause: ClawHub registry connectivity issue or temporary rate limit. This is a registry-side issue, not an Upload Post issue.
Solution: Wait 2-3 minutes and retry. Use `--force` to clear partial installation state if retrying fails.
1clawhub install upload-post --forceContent is truncated on Twitter/X after publishing — the post is cut off
Cause: The content exceeded Twitter/X's 280-character limit. Upload Post may have truncated the text rather than failing, or the skill posted the content without applying character limit enforcement.
Solution: Instruct OpenClaw to check the character count before publishing, or set platform content limits in your prompt. For Twitter specifically, ask OpenClaw to 'keep the Twitter version under 280 characters' explicitly.
Best practices
- Always connect and test your social accounts in the Upload Post dashboard before configuring the skill in OpenClaw — platform connection issues are easier to diagnose in the web UI.
- Store UPLOAD_POST_API_KEY in your OpenClaw .env file, never in chat logs or version-controlled configuration files.
- Write platform-specific content instructions in your OpenClaw prompts — 'professional tone for LinkedIn, under 280 characters for Twitter' rather than posting identical text to all platforms.
- Set `require_confirmation: true` in your skill config while you're getting familiar with the integration — this lets you review what OpenClaw will post before it goes live.
- Use Upload Post for reactive, time-sensitive posts and Postiz for planned content calendar posts — having both skills installed gives you the right tool for each publishing scenario.
- Keep track of post IDs returned by Upload Post — if you need to delete a post later (e.g., something went out incorrectly), you can reference the ID to find and remove it quickly.
- For brands managing multiple social accounts, generate a separate Upload Post API key per client account or environment — this makes access revocation cleaner if a key needs to be rotated.
Alternatives
Postiz provides a full scheduling queue with optimal timing — use it for planned content calendars rather than immediate publishing.
The LinkedIn skill posts directly to LinkedIn via native API without needing Upload Post as a middleware layer — simpler if LinkedIn is your only target platform.
The X/Twitter skill provides native Twitter/X interaction including reading, posting, and searching — more feature-rich for Twitter-only workflows than Upload Post.
Reddit Read-Only monitors community discussions — use it as a research companion alongside Upload Post to find trending topics and then publish responses.
Frequently asked questions
How do I install Upload Post in OpenClaw?
Run `clawhub install upload-post` in your terminal. Then log into app.uploadpost.com, connect your social media accounts, and generate an API key in Settings. Add the key to OpenClaw with `clawhub config set UPLOAD_POST_API_KEY your-key-here`, run `clawhub reload`, and you can immediately publish to social media from OpenClaw chat.
What is the difference between Upload Post and Postiz in OpenClaw?
Upload Post publishes content immediately the moment you send the prompt — no queue, no delay. Postiz adds content to a scheduling queue to be posted at a future time you specify or at an optimal time Postiz determines. Use Upload Post for time-sensitive reactive posts and Postiz for your planned content calendar. Both can be installed and used simultaneously.
Which platforms can Upload Post publish to from OpenClaw?
Upload Post can publish to any social platform you have connected in your Upload Post account. Typically this includes Twitter/X, LinkedIn, Instagram, Facebook, TikTok, Pinterest, and others. The specific platforms available depend on what you've authorized in the Upload Post dashboard — OpenClaw can only publish to platforms that are actively connected there.
Does RapidDev help with setting up Upload Post in OpenClaw?
Yes — RapidDev can help configure a complete social media publishing workflow combining Upload Post (for instant posts) and Postiz (for scheduled content) within OpenClaw. This is especially useful for content teams managing multiple brand accounts or running social media alongside other business automation in their OpenClaw setup.
Why is the OpenClaw Upload Post API key configuration not working?
Check that the variable name is exactly `UPLOAD_POST_API_KEY` (all caps, underscores). Run `clawhub config get UPLOAD_POST_API_KEY` to verify the value is set correctly. Also confirm the key is still active in your Upload Post account — keys can be revoked or expire. Run `clawhub reload` after any configuration change to ensure OpenClaw picks up the new value.
Can Upload Post publish images and videos from OpenClaw?
Yes, if you provide a publicly accessible URL for the media file in your OpenClaw prompt. The skill passes media URLs to Upload Post's media attachment API, which then uploads the content to each platform. Note that video format and size requirements vary by platform — Instagram has different requirements than Twitter, for example. Refer to Upload Post's documentation for platform-specific media limits.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation