How to cross-post to Bluesky and Mastodon

Publish the same idea to Bluesky and Mastodon while keeping each account, caption, and visibility choice deliberate. Start with a text post, then add media once the route works.

By PostOnce.co 7 min read
Can you cross-post to Bluesky and Mastodon?

Yes. Connect each account to a tool that supports both destinations, prepare a separate caption when needed, and schedule the two deliveries. In PostOnce, Bluesky and Mastodon are Live connectors. A campaign keeps the shared source and separate destination versions, with a result for each account. Cross-posting does not synchronize replies, edits, or deletions between the networks.

Start with the accounts you actually use.

You need a Bluesky account, an account on a Mastodon server, and permission to publish from both. Decide whether the audiences need the same announcement. A community conversation may belong on one network even when a product release belongs on both.

For PostOnce, create a dedicated Bluesky app password. For Mastodon, use the instance URL and an access token with the required publishing permissions. Enter credentials only in the channel connection form. Review the Bluesky requirements and Mastodon requirements before connecting; the account and server rules still apply.

Try a private draft first. Then choose one low-risk update for your first real delivery. A saved draft checks your editing workflow; only a successful destination result tells you the publishing route worked.

Keep these differences visible.

What to review before sending the same idea to both networks
DecisionBlueskyMastodon
Copy lengthKeep the caption within the limit shown in Composer. Shorten the idea deliberately.Check the selected instance’s advertised limit. Extra room is useful for context, not a reason to repeat the article.
Account identityVerify the Bluesky handle you connected.Verify both the username and instance domain.
Mentions and linksCheck the intended profile and final link.A remote mention uses the account’s full address. A handle copied from another network may identify someone else or nobody.
VisibilityReview the audience and account before posting.Review visibility, language, and any content warning independently. Do not assume a setting transfers across networks.
Images and videoCheck upload readiness and the formats shown for the connector.Instance limits can differ. Check the actual account’s media requirements before scheduling.
After publishingCheck the Bluesky result and public post.Check the Mastodon result separately, even if Bluesky succeeded.

Mastodon’s official posting guide explains remote mentions, visibility, content warnings, and media descriptions. Platform-native options do not necessarily have identical controls in every publishing tool. Check what the selected connector exposes, and use the native application if an essential option is missing.

How to schedule both in PostOnce

Visibility matters: the current Composer does not expose Mastodon visibility or content-warning controls. A new Composer post defaults to public visibility. Use Mastodon directly when you need those controls, or an explicitly configured API publishing plan for the supported settings. Do not use this Composer walkthrough for a followers-only or private announcement.

  1. Connect the accounts. Open Destinations, choose Add destination, and add Bluesky and Mastodon. Confirm the displayed identities and resolve any connection problem before scheduling.
  2. Create the shared source. Choose Create to open the composer, write a post, or import your source material. Keep the original facts and link intact.
  3. Select both destinations. Check compatibility for your content type and media. Two accounts on the same platform are still two destinations.
  4. Review each version. Shorten or expand the caption and verify mentions. Confirm that public visibility is appropriate for this update. An explicit override should contain the complete copy you want delivered.
  5. Set the date and timezone. Review the chosen time before confirming. A shared campaign uses one schedule; create separate campaigns if you need different times for the two audiences.
  6. Inspect both results. Open the campaign’s delivery details after the scheduled time. A queued request is not yet a published post.

Publishing is not guaranteed to happen at the exact same second on both networks. Upload processing, network responses, and rate limits can affect the order. Treat the schedule as your requested publishing time, then use the delivery results to confirm what happened.

One announcement, two useful captions

This fictional example announces a community workshop. It contains no claim about an actual PostOnce event. Add the real date, registration link, and host details to your own source before creating variants.

Bluesky version

Planning your first community workshop? Our next session covers choosing one useful outcome, writing a short agenda, and leaving room for questions. Details and registration are in the workshop announcement.

Mastodon version

We’re hosting a session for people planning their first community workshop. We’ll work through a simple agenda: choose one outcome, decide what participants will do, and reserve time for questions. The workshop announcement has the date, accessibility information, and registration details.

The versions make the same promise with different amounts of context. Before publishing, insert the real link and recheck the full caption. If you attach a poster, write an image description that communicates the important details; essential event information should also remain in the post or linked page.

Common cross-posting questions

Can I use exactly the same text?

Yes, when it fits both destinations and makes sense to both audiences. Check links, mentions, length, and visibility independently. Reuse the meaning freely; change anything that would confuse the reader.

Does publishing to Bluesky automatically copy future posts to Mastodon?

No. Selecting both accounts in a PostOnce campaign sends that campaign to both. It does not continuously mirror either feed or synchronize later edits. Signed source workflows are a separate feature that you configure explicitly.

Does it count as one post or two?

In PostOnce, two successful destination deliveries use two publishes. A failed validation or an automatic retry does not add another billed delivery. See the delivery estimate on the pricing page for a monthly workload example.

What if only one platform succeeds?

Keep the successful post. Inspect the other destination’s error before doing anything else. If the outcome is uncertain, check the native account first; do not resend the entire campaign. Follow the failed scheduled post checklist.

Sources and next steps

To practice without connecting real accounts, open the guided demo. For a longer source article, use the blog-to-social worked example before choosing your captions.

Try the publishing workflow.

Try the guided demo without signup, or create a workspace and connect an available destination.