Post to X from n8n

Wire n8n to one endpoint, then publish or schedule X posts, threads and video from any trigger you already run — with a signed webhook for every delivery.

How it connects

No custom node needed — an HTTP Request node and a workspace key is the whole integration. There is nothing to install on the n8n side and no per-network module to configure — X is a channel id in the request body.

POST https://api.postwharf.com/v1/posts
Authorization: Bearer {{$env.POSTWHARF_KEY}}
Content-Type: application/json

{
  "text": "Shipping today.",
  "channels": ["ch_your_x_channel"]
}

A typical X automation

The whole integration is one HTTP Request node, sitting between your trigger and whatever comes after it. Trigger on a new RSS item, then queue the post rather than publishing it straight away:

{
  "text": "New this week",
  "channels": ["ch_your_x_channel"],
  "publish_at": "2026-09-01T09:00:00Z"
}

Find the channel id once from GET /v1/channels — the one you want carries "platform": "x". Text longer than 280 characters is refused with a 422 in your hand, rather than accepted and rejected by X minutes later.

What X accepts

Character limit280
Counted onone post in a thread
Formatsposts, threads and video

A post takes up to four images or one video; X does not accept both in one post.

Getting the result back

Register a webhook and every delivery outcome is posted to you — published, retrying, failed, or removed after publishing. Each is signed with HMAC-SHA256, so n8n can verify it came from us before acting on it. That is the difference between a run that succeeded and a post that landed, and only the second one is worth a notification.

One thing worth setting up correctly

If that node is set to retry on failure, a retry is a second post rather than a second attempt at the first one. Leave it off: PostWharf already retries the delivery itself, and the receipt is where you find out whether it worked.

Questions

Can n8n post to X automatically?

Yes. n8n calls one REST endpoint with a workspace key, so any trigger you already have can publish or schedule to a connected X channel without an X-specific module.

What do I need before X will work?

A post takes up to four images or one video; X does not accept both in one post. Once the channel is connected in PostWharf, n8n reaches it the same way it reaches every other network.

How long can an X post be?

280 characters, counted on one post in a thread. PostWharf checks that before the post is queued, so an over-length post is refused immediately rather than failing at X after everything else in the same batch has already published.