Post to Bluesky from n8n
Wire n8n to one endpoint, then publish or schedule Bluesky posts, threads and images 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 — Bluesky 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_bluesky_channel"]
}
A typical Bluesky 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_bluesky_channel"],
"publish_at": "2026-09-01T09:00:00Z"
}
Find the channel id once from GET /v1/channels — the one you want carries "platform": "bluesky". Text longer than 300 characters is refused with a 422 in your hand, rather than accepted and rejected by Bluesky minutes later.
What Bluesky accepts
Connects in about a minute with an app password you create yourself — no review or audit to wait out.
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 Bluesky automatically?
Yes. n8n calls one REST endpoint with a workspace key, so any trigger you already have can publish or schedule to a connected Bluesky channel without a Bluesky-specific module.
What do I need before Bluesky will work?
Connects in about a minute with an app password you create yourself — no review or audit to wait out. Once the channel is connected in PostWharf, n8n reaches it the same way it reaches every other network.
How long can a Bluesky post be?
300 characters, counted on one post. PostWharf checks that before the post is queued, so an over-length post is refused immediately rather than failing at Bluesky after everything else in the same batch has already published.