n8n + PostOnce
Automate social posting with n8n
Publish approved content from n8n to your connected social accounts. Check each destination’s result in the same workflow.
Self-hosted n8n, a PostOnce plan with API access, and your own API key. Not currently available on n8n Cloud.
Set up your connection
Connect your n8n workflow to PostOnce
For self-hosted n8n. Save your key in an n8n credential.
- 1
Install the PostOnce node in your n8n instance
Use a self-hosted instance with community nodes enabled. This setup was checked with n8n 2.38.5. Download the package to the machine running n8n. As that instance’s user, open its .n8n/nodes directory (create it if missing), then run the command below with your downloaded file’s absolute path.
Terminal · from your n8n instance’s .n8n/nodes directorynpm install /absolute/path/n8n-nodes-postonce-0.1.0.tgzUse the intended instance’s persistent user directory. If N8N_USER_FOLDER is configured, its .n8n/nodes directory is the destination. Installing on another machine or inside a temporary container does not configure your running instance.
Restart n8n after installation. Every runtime that executes this workflow needs the node installed. Preserve existing community packages and credentials; review an existing PostOnce installation before replacing it.
- 2
Save a dedicated PostOnce credential
Use a PostOnce plan with API access. Create a dedicated key with
accounts:readfor discovery. Addposts:writeandposts:readfor the example workflow; add media or workflow scopes only for the operations you need.In the PostOnce node, create a PostOnce API credential and enter your key in its API Key field. Run the credential test. Keep the key out of node parameters, webhook data and exported workflows.
Create an API key - 3
Find your connected accounts
Add a PostOnce node to a workflow. Select Account and Get Many, choose your PostOnce API credential, then execute the node.
An empty list means the credential works but there are no connected accounts. Connect an account in PostOnce and run the node again. Use the returned IDs, capabilities and media requirements when choosing destinations.
Connect social accounts - 4
Import the example and choose your destinations
Download the workflow JSON below, then use n8n’s import-from-file action. It imports inactive and contains no saved credentials. Select your PostOnce credential in both PostOnce nodes, choose the destination accounts, and configure the Webhook node’s header-auth credential.
Send only content you have approved. Test with your intended accounts before activating the workflow; running Create Post submits a real publishing request.
Download example workflow
From approved content to a checked result
Start with one publishing workflow
An authenticated webhook receives your approved update. PostOnce creates the post, n8n waits briefly, then retrieves that same post to check its status.
1. Webhook
Receive approved content
Accept the final content and a stable event_id from your source system.
2. PostOnce
Create the post
Use configured account IDs and approved-post:<event_id> as the stable idempotency key.
3. Wait
Wait briefly
Give processing time to start. A scheduled post may still be waiting.
4. PostOnce
Inspect the result
Get the post using the ID returned by Create Post. Check every target.
{
"event_id": "release-2026-09-09-v1",
"content": "Our latest product update is ready."
}The webhook’s authentication value belongs in its configured request header, not this JSON. Use a different source event ID for a new update. Reusing an event ID with changed content can return a conflict; do not change the key merely to bypass an uncertain earlier request.
Review posts in PostOnceBuild on your connected accounts
Discover accounts
Use Account / Get Many to inspect available destinations and their capabilities. Account IDs come from your own PostOnce account.
Publish with media
Use a supported public image or video URL, or upload n8n binary data first. Pass the returned media URL into Create Post and check the destination’s requirements.
Set up crossposting
Create a PostOnce crossposting workflow from a supported source account to your chosen targets. New workflows default to inactive. Review and enable the workflow in PostOnce to apply it to future source posts; it does not replay earlier content.
Using an n8n AI Agent? Attach PostOnce as a tool and let the model supply the post text. Keep destination accounts and the stable idempotency key in fixed configuration or trusted workflow input, so an agent retry uses the same publication identity.
Review crossposting workflowsQuestions before connecting
Can I install this on n8n Cloud?
The downloadable package is for self-hosted n8n. It is not currently a verified n8n Cloud installation. Directory verification and Cloud availability are separate from this manual setup.
Why does the credential test fail?
Check that the dedicated key is current, belongs to the intended PostOnce account, includes accounts:read and has API access on its plan. If discovery succeeds with no accounts, connect a social account in PostOnce.
Does the workflow wait until every post is delivered?
No. The example performs one status check after a bounded wait. Inspect the aggregate status and each target’s status or error. Queued and scheduled results are not proof of delivery.
What should I do after a timeout or conflict?
Keep the original source event ID and unchanged request. Inspect the earlier result before submitting again. A request-in-progress conflict may need reconciliation in PostOnce; creating a fresh key can duplicate the post.
How do I disconnect?
Deactivate workflows using the credential, revoke its dedicated key in PostOnce, and remove or replace the n8n credential. Removing the node alone does not revoke the key.
Explore more ways to connect
Claude 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 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 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 setupYour next post starts here.
Self-hosted n8n, a PostOnce plan with API access, and your own API key. Not currently available on n8n Cloud.