Bluesky scheduler for posts, threads and cross-posting to X
Write a week of Bluesky posts in one sitting and calmposts publishes each one at its time. The same post can go to X in its own wording, and afterwards you can see which posts people liked, reposted and replied to.
Posts, threads and media the way Bluesky takes them
calmposts checks every post against Bluesky's limits before it saves it, so nothing fails on that at publish time.
- Up to 300 characters, counted the way Bluesky counts them: an emoji or an accented letter is one character, and the post's 3,000 bytes are checked too.
- Threads of up to 25 posts, published as a reply chain.
- Up to four images (JPEG, PNG or WebP, 2 MB each) or one MP4 video of up to three minutes and 50 MB, each with alt text.
- Links count as written, and Bluesky charges nothing for them.
Cross-post to Bluesky and X
Pick your Bluesky and X accounts on one post. Each channel can have its own wording: a shorter version for X, a thread on Bluesky, a different link on each.
- X charges $0.20 for every post with a link and Bluesky charges nothing, so only posts to X count against your plan's link limit.
- Each account has its own posting times, and Add to queue gives every one of them its next free time.
Bluesky analytics: see what worked
On plans with analytics, calmposts reads each Bluesky post an hour, a day and a week after it goes out: likes, reposts, replies, quotes and bookmarks.
- Bluesky doesn't publish impressions, so there are none to show.
- The best-time heatmap comes from your own posts of the last 90 days. If you post only to Bluesky, it ranks your hours by engagement.
- Bluesky posts don't count against the plan's monthly analytics limit.
Bluesky automation, with your approval
Claude, ChatGPT, Cursor and your own scripts can draft and schedule Bluesky posts through calmposts' MCP server and REST API. By default an agent's post waits until you approve it.
- No tools that reply, follow or send DMs. calmposts only writes and schedules your own posts.
- Webhooks tell your systems when a post goes out or fails.
Sign in with Bluesky, no app password
You connect your account on Bluesky's own OAuth screen. calmposts asks only to create and delete posts and to upload images and video. You can disconnect it in the app or revoke it on Bluesky at any time.
How it works
Connect Bluesky
Sign in on Bluesky's OAuth screen and pick the account.
Write the week
Write the posts yourself or draft them with AI, then drop them on the calendar or add them to the queue.
Published on time
calmposts publishes each post at its time, retries safely and never posts twice.
See what worked
On plans with analytics, likes, reposts and replies come in an hour after a post goes out.
Questions
Do I need a Bluesky app password?
No. calmposts connects through Bluesky's own OAuth, so you sign in on Bluesky and never create or paste an app password.
Can I schedule a Bluesky thread?
Yes. A thread of up to 25 posts goes out as a reply chain at the time you pick. The free thread splitter shows where a long text will be cut.
Can I post to Bluesky and X at the same time?
Yes. Pick both accounts on one post and give each its own wording if you want. Only the X version counts against your plan's link limit, because X charges $0.20 for a post with a link and Bluesky doesn't.
Does Bluesky analytics show impressions?
No. Bluesky doesn't publish impressions, so calmposts shows likes, reposts, replies, quotes and bookmarks. If you post only to Bluesky, the best-time heatmap ranks your hours by engagement instead.
Which plans post to Bluesky?
Pro, Advanced and Agency. The pricing page lists each plan's limits.
Schedule next week's Bluesky posts
Start the free trial with a card through Polar. Cancel before it ends and nothing is charged.
Start the free trial