LazyRelay
← Back to guides

Schedule posts to Bluesky with LazyRelay

LazyRelay schedules Bluesky posts, images, video and reply threads using an app password, then reads each post back to confirm it is live. LazyRelay's difference is Proof-of-Publish: after a post goes out, it checks Bluesky again to confirm the post is really live.

What you can post to Bluesky

LazyRelay checks file size and format before a post is scheduled and tells you which limit was hit. For the full comparison of what each platform supports, see What Works on Which Platform.

How to connect Bluesky

  1. Open bsky.app and go to Settings, then Privacy and security, then App passwords. Create a new app password. Do not use your main account password.
  2. In LazyRelay, open the Social Platforms tab and click the Bluesky tile.
  3. Enter your handle (for example you.bsky.social) and paste the app password.
  4. Click Connect. LazyRelay saves the connection and takes you back to your dashboard.

How Proof-of-Publish works on Bluesky

When a Bluesky post is created, the record is saved to your account, which is not quite the same as it being publicly visible. So LazyRelay reads that record back from Bluesky by its address and only marks the post confirmed live when Bluesky returns the same post. The link you can share is the bsky.app address of that post.

Want the general idea? Read Does Your Post Actually Publish?

Limits and things to know

Schedule to Bluesky and know it actually went live.

See plans and get started free

Frequently asked questions

Why does Bluesky need an app password?

LazyRelay connects to Bluesky with an app password, so you create a separate one in bsky.app under Settings, Privacy and security, App passwords. It keeps your main password out of LazyRelay and can be revoked at any time.

Does LazyRelay work with my custom domain handle?

Yes. A custom-domain handle works whether the account is hosted on Bluesky's own servers or on a server you or someone else runs.

Does LazyRelay work with a self-hosted or third-party Bluesky server?

Yes. If your account lives on your own server or a third-party one (a personal data server, or PDS), fill in the optional Server box on the Bluesky connect page with its address, for example pds.example.com. The server must be reachable on a public https address; private or local addresses are refused. Posts are confirmed live by reading them back from that same server.

How large can a Bluesky image be?

2,000,000 bytes per image, which is about 1.9 MB. LazyRelay checks the same limit before a post is scheduled.

How do I know my Bluesky post is really live?

LazyRelay reads the post record back from Bluesky after creating it and only marks it confirmed live when Bluesky returns that same post.

Figures on this page come from LazyRelay's platform rules, checked on 2026-09-30. Sources: github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/feed/post.json, github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/embed/images.json. Anything marked not verified has no published source.

Schedule to other platforms: Facebook · Instagram · TikTok · Pinterest · YouTube · LinkedIn · Threads · Mastodon · Telegram · Discord · Tumblr · WordPress · dev.to · Hashnode · Lemmy · Slack