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.

Connect n8n

Self-hosted n8n, a PostOnce plan with API access, and your own API key. Not currently available on n8n Cloud.

See setup steps

Set up your connection

Connect your n8n workflow to PostOnce

For self-hosted n8n. Save your key in an n8n credential.

  1. 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 directory
    npm install /absolute/path/n8n-nodes-postonce-0.1.0.tgz

    Use 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. 2

    Save a dedicated PostOnce credential

    Use a PostOnce plan with API access. Create a dedicated key with accounts:read for discovery. Add posts:write and posts:read for 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. 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. 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
Read n8n documentation

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. 1. Webhook

    Receive approved content

    Accept the final content and a stable event_id from your source system.

  2. 2. PostOnce

    Create the post

    Use configured account IDs and approved-post:<event_id> as the stable idempotency key.

  3. 3. Wait

    Wait briefly

    Give processing time to start. A scheduled post may still be waiting.

  4. 4. PostOnce

    Inspect the result

    Get the post using the ID returned by Create Post. Check every target.

Example webhook JSON · supply your own event ID and approved text
{
  "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 PostOnce

Build 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 workflows

Questions 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

Your next post starts here.

Connect n8n

Self-hosted n8n, a PostOnce plan with API access, and your own API key. Not currently available on n8n Cloud.