How to Schedule Bluesky Posts: Native Options and Schedulers

·8 min read

A hand placing a blank sky-blue post card into a timed publishing queue with other cards waiting on a rail in a warm editorial scene

As of July 25, 2026, Bluesky does not offer a scheduling control in its official app or web composer. You can publish manually when the time arrives, or schedule the post through an OAuth-connected publishing tool such as Donivo. This status was checked directly in the authenticated Bluesky web composer on the date above.

For a single spontaneous post, manual publishing is the shortest route. Scheduling helps you publish at the right time, coordinate campaign content, and manage posts across multiple social networks. For the broader workflow, see the practical social media scheduling guide.

What Bluesky offers natively today

The official composer currently provides immediate publishing, drafts, interaction controls, media, GIF, emoji, language, and the 300-character counter. It does not show a date, time, calendar, or scheduling action. That makes the native choice a manual workflow: prepare the post elsewhere, set a reminder, then open Bluesky and publish it at the intended time.

Composer controls can change. Check the current app and web composer before relying on this status for a future campaign. The rest of this guide covers the OAuth-connected route that is available now.

How to schedule a Bluesky post with Donivo

You connect Bluesky through its secure OAuth authorization flow, where you review and approve the access Donivo needs. Bluesky's OAuth client documentation explains how clients identify themselves, request authorized access, and use access and refresh tokens for later requests.

  1. Connect Bluesky through OAuth. Add Bluesky in Donivo, continue to the Bluesky authorization screen, and review and approve the requested publishing access.
  2. Choose the destination accounts. Select the Bluesky account and any other connected accounts that should receive a tailored version of the campaign.
  3. Prepare the Bluesky version. Keep the copy within 300 characters and choose text only, up to four images, or one video that fits the current Donivo limits.
  4. Set the publication time. Choose the date, time, and timezone, then save the post to the scheduled queue.
Donivo Create Post screen with the Bluesky account selected, a 300-character counter, and scheduling enabled with date, time, and timezone controls
Donivo's Create Post screen with Bluesky selected and scheduling enabled. Confirm the account, date, time, and timezone before selecting Schedule Post.

Bluesky formats and Donivo limits

Bluesky's official post documentation covers text records, image embeds with up to four images, link cards, and video embeds. Donivo currently validates the following Bluesky formats before a scheduled post enters its publishing flow:

  • Text: up to 300 characters.
  • Text-only post: copy without an attached media file.
  • Image post: up to four images, with each image at or below 1 MB.
  • Video post: one video at or below 100 MB and between 1 and 60 seconds.

Do not combine the image and video paths in one scheduled post. Check the copy with the free character counter, then review the composition in the post preview. The preview is a useful preflight, but the live Bluesky post remains the final source of truth for crop and rendering.

Manual Bluesky publishing versus a centralized scheduler

Choose the workflow based on timing, campaign size, and delivery checks
NeedManual Bluesky publishingDonivo
Best fitImmediate or occasional Bluesky-only postsPlanned Bluesky posts and multi-network campaigns
TimingYou return and publish at the intended timeThe saved queue controls the publication time
ConnectionDirectly inside the official Bluesky composerBluesky OAuth authorization
Other network versionsPrepared and tracked in separate workflowsTailored versions share one campaign workflow
Delivery handlingYou confirm the live result manuallySupported temporary failures can retry, with alerts when attention is needed

A migration-neutral scheduling checklist

Moving an active queue is mostly an inventory and verification task. The checklist below works whether your previous workflow used reminders, a spreadsheet, a calendar, or another publishing setup.

  • Keep the existing queue active until every future Bluesky item has been accounted for.
  • Inventory each unpublished post, including source copy, media, alt text, destination account, date, time, and timezone.
  • Connect Bluesky through OAuth and verify the account handle before recreating any scheduled items.
  • Recreate a small batch first, then compare every new queue entry with the inventory.
  • Let the first scheduled post publish and inspect the live output before moving the rest of the queue.
  • Retire the previous workflow only after duplicate times, missing posts, media, and timezone differences have been resolved.

Troubleshoot Bluesky scheduling by symptom

Start with the failure you can see. One focused check is more useful than repeatedly resaving the same post without changing its connection, validation, or media.

Symptom: OAuth connection fails or expires

Check
Confirm you are signing in on the real Bluesky authorization screen and approving access for the intended account. An expired connection may need a fresh authorization.
Next action
Reconnect Bluesky through OAuth, return to the queue, and verify that the correct account is selected before saving again.

Symptom: The draft is rejected before scheduling

Check
Count the copy and review the media combination. Donivo allows 300 characters, text only, up to four images, or one video for Bluesky.
Next action
Shorten the copy or correct the media combination, then save the revised version instead of retrying the invalid draft.

Symptom: An image or video will not upload

Check
Keep each image at or below 1 MB. Keep a single video at or below 100 MB and between 1 and 60 seconds.
Next action
Resize or re-export the asset, upload it again, and check the preview before putting the post back in the queue.

Symptom: The scheduled post does not publish

Check
Review the Donivo alert, connection state, selected account, and current draft validation. Temporary delivery errors may be retried automatically.
Next action
Reconnect or correct the post when the alert identifies an action. Avoid creating a duplicate while a supported retry is still pending.

Symptom: The live post looks different from the draft

Check
Open the live Bluesky post and compare its text, image order, crop, video, alt text, account, and publication time with the approved version.
Next action
Correct the live post in Bluesky when appropriate, then update the source version before scheduling it again.

Final preflight before the post enters the queue

  • Confirm the intended Bluesky account is selected.
  • Keep the final copy at or below 300 characters.
  • Use text only, up to four qualifying images, or one qualifying video.
  • Review image order, crop, video playback, alt text, and any links.
  • Check the date, time, timezone, and saved queue entry.
  • Open the live post after delivery and compare it with the approved version.

Manual publishing remains a practical choice for occasional Bluesky posts. A scheduler becomes useful when timing, coordinated network versions, and delivery follow-up are part of the job. Whichever path you choose, verify the saved queue before publication and the live post afterward.

Keep reading

Ready for the next step

Add Bluesky to the same publishing workflow.

Connect Bluesky through OAuth, prepare a platform-specific version, and keep its delivery status beside the rest of your scheduled posts.

Start Posting FreeNo credit card required.