NanoClaw + PostOnce
Prepare social posts with NanoClaw
Connect NanoClaw to PostOnce through OneCLI to find your social accounts, prepare image drafts, and review content before publishing.
Requires PostOnce Creator or Pro, a configured NanoClaw installation and model provider, and a working OneCLI HTTPS proxy with CA trust and access granted to the intended agent. Social accounts are not required for discovery or unpublished drafts. This is manual installation.
Set up your connection
Connect NanoClaw through OneCLI
Keep your PostOnce key in the OneCLI vault.
Requires PostOnce Creator or Pro, a configured NanoClaw installation and model provider, and a working OneCLI HTTPS proxy with CA trust and access granted to the intended agent. Social accounts are not required for discovery or unpublished drafts. This is manual installation. Configure your model provider separately, and check that your NanoClaw containers use the intended OneCLI proxy and trust its CA before continuing.
- 1
Install the template for a new group
Download and extract the PostOnce template 0.1.0, then verify the archive against its checksum. From your intended NanoClaw installation, copy the extracted folder into its local template library. Replace the source path below with your extracted folder. If NANOCLAW_TEMPLATES_DIR is configured, use that directory instead of templates. Review an existing PostOnce template before replacing it.
Install the extracted templatemkdir -p templates && test ! -e templates/postonce && cp -R /absolute/path/to/extracted/postonce templates/postonceCreate your NanoClaw groupncl groups create --template postonce --name "PostOnce"Keep the returned group ID. Creating a group does not connect a chat channel; connect your intended channel through NanoClaw’s normal setup.
- 2
Give the intended agent access through OneCLI
Create a dedicated PostOnce key with
Create a PostOnce API keyaccounts:readfor the first account check. Addposts:readandposts:writefor drafts (this also permits publishing and deletion); addmedia:readandmedia:writewhen uploading local media. Save the key in a private file. Never paste it into chat, the template, or the container environment.Select the intended OneCLI project and proxy, then import the file. Add
--project <project-slug>when you need an explicit project.Import the key into OneCLIonecli secrets create --name PostOnce --type generic --file /absolute/path/to/private-key-file --host-pattern postonce.to --header-name Authorization --value-format 'Bearer {value}'In OneCLI, explicitly grant this secret to the agent matching your NanoClaw group ID. Importing a secret alone does not grant access. Keep the host restricted to postonce.to and preserve existing proxy rules. Remove the private file according to your secret-handling policy after import.
- 3
Check accounts, then save an image draft
Start the configured group in your connected chat channel and ask:
Try this promptShow my connected PostOnce social accounts and their capabilities.
A successful empty account list is valid. Connect a social destination only when you want to publish, and use the returned account IDs and capabilities.
Prepare your first image draftCreate an unpublished PostOnce draft with the caption "Trying my first NanoClaw draft" and this public PNG image: https://postonce.to/integrations/assets/postonce-transparent.png. Leave destinations empty and do not schedule or publish it. Return the draft ID, then get that draft and show me its saved caption, image, and status for review.
Review the returned draft in PostOnce drafts. For a local image, make sure its bytes are mounted in the agent container; the hosted MCP server cannot read a host-only file path. Upload the bytes with the signed-upload flow and use the returned public media URL. Never send PostOnce Authorization to signed storage.
Alternative: add MCP to an existing group
Inspect the group’s current servers first. Use this only if no PostOnce entry exists; preserve unrelated servers and plugin-owned configuration. Replace <group-id> with the intended group ID.
ncl groups config add-mcp-server --id <group-id> --name postonce --url https://postonce.to/mcp
ncl groups restart --id <group-id>This adds MCP only; it does not install the PostOnce skill. Complete the same OneCLI secret grant and proxy/CA setup above.
If authentication fails, check the key’s scopes, plan access, intended-agent grant, proxy routing, and CA trust. To disconnect, revoke this dedicated key in PostOnce and remove only its matching OneCLI secret/access and group integration. NanoClaw’s container policy can allow tools without a separate confirmation; request publishing only when your content and destinations are ready.
From connection to first result
Start with one useful action
Find your accounts
Show my connected social accounts.
Use the returned names and IDs to choose your targets. If nothing appears, connect an account in the dashboard.
Save an image draft
Create an unpublished PostOnce draft with the caption "Trying my first NanoClaw draft" and this public PNG image: https://postonce.to/integrations/assets/postonce-transparent.png. Leave destinations empty and do not schedule or publish it. Return the draft ID, then get that draft and show me its saved caption, image, and status for review.
Open the returned draft in PostOnce to review its saved caption and image. Leave destinations empty until you are ready to publish.
Set up crossposting
Crossposting needs workflows:read and workflows:write on your dedicated PostOnce API key. Import the updated key into OneCLI and retain the intended agent’s access before using this example.
Show my connected accounts and the available crossposting options. Help me choose a supported source and destinations, then confirm the workflow before creating it.
A created workflow applies to future matching source posts. Inspect the workflow in PostOnce before relying on it.
Know what your agent can access
Connected accounts and scoped actions
PostOnce uses your API key’s scopes and existing account permissions. Your available destinations come from your connected accounts; media and text requirements still vary by platform.
Media needs a supported upload path
The hosted server cannot read a file path on your computer or assume access to a chat attachment. For a first media post, use a supported publicly accessible media URL and have the agent validate the selected platform’s requirements before publishing.
Help me publish an image from a public media URL. Ask me for the URL, text, and connected destination accounts; check the platform requirements and confirm the post before creating it.
Questions before connecting
Do I need a particular PostOnce plan?
You need a plan with Public API access. Your API keys tab checks your account’s actual entitlement and shows an upgrade option when required. Connecting a client does not change your plan.
What if my agent shows no social accounts?
A successful empty account list means the connection worked. You can save unpublished drafts without a social destination. Before publishing, connect an account in PostOnce and ask NanoClaw to list accounts again. Check that your key belongs to the intended account and includes accounts:read.
How do I check a failed or queued post?
Ask the agent to get the post using its returned ID and inspect each target’s status and error. Review the post in the dashboard. Check the existing result before creating another post to avoid duplicates.
How do I disconnect or replace the key?
Revoke the dedicated key in PostOnce Preferences → API keys and remove its matching OneCLI secret/access and group integration. To reconnect, import a new scoped key into OneCLI, grant the intended agent access, and check the group’s proxy and CA configuration.
Explore more ways to connect
Google Drive
Media imports
Choose an image from Google Drive, import it into PostOnce, and review your post before scheduling.
View setupChatGPT
AI agents
Connect ChatGPT to PostOnce to find your social accounts, prepare drafts, and publish content you approve.
View setupClaude
AI agents
Connect Claude to PostOnce to find your social accounts, prepare drafts, and publish content you approve.
View setupClaude Code
Coding tools
Turn a product update into social posts from your terminal. Connect Claude Code to the accounts and crossposting workflows you manage in PostOnce.
View setupCodex
Coding tools
Ask Codex to publish your release update to connected social accounts, then inspect each destination’s result through PostOnce.
View setupCursor
Coding tools
Keep your product update in the editor. Use Cursor’s agent to publish through PostOnce and manage automatic crossposting between connected accounts.
View setupGrok
AI agents
Connect Grok to PostOnce to find your social accounts, prepare image drafts, and publish posts you approve.
View setupOpenClaw
AI agents
Connect your OpenClaw agent to PostOnce to publish updates, check delivery, and manage automatic crossposting from your connected accounts.
View setupHermes Agent
AI agents
Use Hermes Agent to publish updates through PostOnce, check delivery, and manage automatic crossposting between your connected accounts.
View setupn8n
Workflow automation
Publish approved content from n8n to your connected social accounts. Check each destination’s result in the same workflow.
View setupZapier
Workflow automation
Save feed updates as PostOnce drafts with Zapier. Review the text before choosing where and when to publish.
View setupMake
Workflow automation
Turn RSS updates into PostOnce drafts with Make. Review the text before choosing where and when to publish.
View setupAny MCP client
MCP clients
Connect an MCP-compatible agent to PostOnce to discover your social accounts, publish posts, and set up automatic crossposting.
View setupDropbox
Media imports
Choose an image from Dropbox, add it to your PostOnce draft, and review it before scheduling.
View setupYour next post starts here.
Requires PostOnce Creator or Pro, a configured NanoClaw installation and model provider, and a working OneCLI HTTPS proxy with CA trust and access granted to the intended agent. Social accounts are not required for discovery or unpublished drafts. This is manual installation.