Post to Bluesky from Zapier

Wire Zapier 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

A Webhooks by Zapier action, so any Zap trigger becomes a scheduled post. There is nothing to install on the Zapier 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 YOUR_WORKSPACE_KEY
Content-Type: application/json

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

A typical Bluesky automation

The whole integration is a Webhooks action at the end of a Zap, with the fields mapped from the trigger. Trigger on a new row in a sheet, 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

Character limit300
Counted onone post
Formatsposts, threads and images

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 Zapier 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

A Zap runs in a line, which makes it tempting to build one per network. Do not — every channel id goes in the same `channels` array, so five networks is one action, one Zap task, and one post carrying five receipts.

Questions

Can Zapier post to Bluesky automatically?

Yes. Zapier 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, Zapier 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.