postonce

PostOnce social publishing and future crossposting workflows for n8n

Package Information

Released: 1 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.2
Author: PostOnce

Documentation

n8n-nodes-postonce

Native PostOnce node for self-hosted n8n: accounts and capabilities, creating and
inspecting posts, future crossposting workflows, and binary media uploads.
Requires a PostOnce Creator or Pro account and a least-privilege API key stored in an
n8n PostOnce API credential. No API key is shipped in this package.

The package is published on npm
with GitHub Actions provenance. It is not yet verified by n8n or available through
n8n Cloud discovery. Install it in your intended self-hosted n8n instance and
preserve existing packages and credential configuration.

Operations and scopes

  • Account / Get Many: accounts:read. Full capabilities and media requirements.
  • Post / Create: posts:write. Requires destination IDs and a stable idempotency key.
  • Post / Get, Get Many: posts:read. Returns per-destination status and errors.
  • Crossposting Workflow / Create: workflows:write. Defaults inactive, future content only.
  • Crossposting Workflow / Get, Get Many: workflows:read.
  • Media / Upload: media:write and media:read. Transfers the actual n8n binary bytes.
  • Media / Get: media:read. Resolves public_url; does not verify upload existence.

Account selectors require accounts:read. Expressions can supply explicit IDs when
selection is unavailable. The API validates current access and platform eligibility.
Creating posts/workflows can lead to public publication or recurring publication;
review targets and content first. No per-write confirmation is added by this node.

Idempotency and results

Create operations send Idempotency-Key as a header. Derive it from a stable source
event, not only an n8n execution ID. Retries must keep the same input and key. A
changed-body or pending-claim conflict requires investigation; never generate a
fresh key to bypass it. The node does not automatically retry uncertain writes.
Queued is not delivered. Inspect the returned post ID and each target's status.
Post Get Many traverses the API's available recent window, not unlimited history,
and can include posts from the profile's other API credentials. Empty discovery
means no matching accounts/results, not a failed credential.

Media

Use public HTTPS media URLs in Post Create, or Media Upload with a named n8n binary
field including filename/MIME type. Upload allocates a signed URL, transfers bytes
without the PostOnce credential, then resolves public_url. Use that returned URL
in Post Create. A local filename, chat attachment, or allocated ID is not uploaded
media. Workflow retries may allocate another upload; keep the resulting public URL
stable when retrying a post with an existing idempotency key.

Inactive example

Import workflows/publish-approved-content.json. Configure the authenticated webhook,
select a PostOnce credential for both PostOnce nodes and choose destination IDs.
Send already-approved JSON {"event_id":"stable-source-id","content":"Final text"}.
The workflow stays inactive until reviewed. Its ten-second wait does not guarantee
publication; the webhook acknowledges receipt only. Inspect the final status.

Build: npm ci --ignore-scripts && npm run build. Lint: npm run lint.
Publication setup and verification gates: PUBLISHING.md.
Source and issues: niyonx/n8n-nodes-postonce.
The package's MIT license applies to this integration package only.

Self-hosted installation and AI tools

Tested with n8n 2.38.5 on Node 24.19.0. From the intended n8n service user's
.n8n/nodes directory (create that directory if absent), run:

npm install n8n-nodes-postonce@0.1.2

Restart the same n8n runtime, create a PostOnce API credential, and test it. The
credential test accepts an empty account list and gives actionable key, scope and plan guidance. Execution errors retain the API denial code and HTTP status.
This package is intended for self-hosted installation; Cloud availability requires
separate n8n verification. Minimum supported n8n version has not been established.

The generated PostOnce AI tool is enabled. Configure destinations, source account
and the idempotency key yourself or from trusted workflow data; $fromAI is rejected
for those fields. The model may supply approved content where you explicitly allow
it. Keep credentials outside model arguments. This node does not introduce a human
approval step: build one into your workflow before any publishing tool.

Discussion