Cross-Post Adapter · Social Media
Write one post, get the right version for Bluesky and Mastodon
AI rewrites your post for each network, 300 characters for Bluesky and 500 with hashtags for Mastodon, in your voice. You approve, and both go out.
Free account to start. Buying and running live need a paid plan.
- Starts when your form or app sends it something
- 1 AI step
- A person approves before it acts
- About 10 min to set up
Sound familiar?
The job, before and after this agent.
What it feels like today
- “Every announcement has to be rewritten twice because Bluesky and Mastodon have different limits.”
- “Pasting the same text everywhere looks lazy and cuts posts off mid-sentence.”
- “I never remember which hashtags and content warnings Mastodon people expect.”
What you get with the agent
- A Bluesky version within 300 characters and a Mastodon version within 500, in your voice, with every fact and link kept.
- Mastodon gets hashtags at the end and a content warning when your rules ask for one.
- Both versions wait for your approval, and you can edit either before anything is posted.
- After approval, code checks the lengths and leftover placeholders again, then posts to both networks.
Before
The marketing lead writes the launch post, trims it three times to fit Bluesky, rewrites it again with hashtags for Mastodon and posts both by hand.
After
She sends the post once. Two tailored versions are waiting in Reviews; she tweaks one word, approves, and both are live with their links.
How it works
The whole workflow, step by step.
Send one source post from a form, your CMS or a manual run. AI rewrites it in your voice for each network: a Bluesky version within 300 characters (with at most one or two hashtags, since Bluesky shows them as plain text when posted this way) and a Mastodon version within 500 characters with hashtags at the end and a content warning when your rules ask for one. Every fact and link from the source is kept. Both versions wait for your approval in Reviews; after you approve, code checks the lengths and leftover placeholders again and posts them to Bluesky and Mastodon (or just the one you connected). Text only: no images, and no scheduling (they post when you approve).
- TriggerNew post to share
- AI stepRewrite it for each network
- Human approvalApprove both versions
- Approved:Check before posting
- LogicCheck before posting
- LogicPassed the checks?
- Post:Post to Bluesky
- Held:Held: nothing posted
- OutputHeld: nothing posted
- App callPost to Bluesky
- App callPost to Mastodon
- LogicPosted on Bluesky?
- LogicWhat went out?
- Both:Posted
- Bluesky:Posted
- Mastodon:Posted
- Nothing posted:Nothing posted
- Other:Nothing posted
- OutputPosted
- OutputNothing posted
This is the workflow that opens in your workspace when you set the agent up. Every step can be edited.
- Step 1New post to shareStarts when your form, CMS or a manual run sends one post: post (the text), link (optional), notes (optional, e.g. “mention the opening hours”).
- Step 2Rewrite it for each networkAI writes a Bluesky version (300 characters) and a Mastodon version (500 characters, hashtags, content warning when your rules ask for one) in your voice, keeping every fact from the source.
- Step 3Approve both versionsBoth versions wait in Reviews: edit either, then approve to post them. Reject to post nothing.
- Step 4Check before postingIn code: both versions are there, have no leftover placeholders, and fit (300 characters on Bluesky, 500 on Mastodon).
- Step 5Passed the checks?Both versions passed: they're posted (to the networks you connected). Otherwise nothing is posted and the run history says why.
- Step 6Held: nothing postedA version was blank, too long or still had a placeholder. Fix it and send the post again.
- Step 7Post to BlueskyPublishes the approved Bluesky version. Skipped when Bluesky isn't connected.
- Step 8Post to MastodonPublishes the approved Mastodon version (public), with its content warning when there is one. Skipped when Mastodon isn't connected.
- Step 9Posted on Bluesky?In code: did Bluesky return a post link? (No when Bluesky isn't connected.)
- Step 10What went out?In code: names only the networks the post really went out on (a network that isn't connected was skipped).
- Step 11PostedThe run history says where it went out (Bluesky, Mastodon or both) and keeps both versions and the post links.
- Step 12Nothing postedNeither network is connected any more: connect Bluesky or Mastodon and send the post again.
Example run
What goes in, and what comes out.
Example with fictional data
Comes in
Post: our second bakery opens Saturday on Alberta Street, doors at 7am, free cardamom bun for the first 50 guests, with a link.
The agent produces
Bluesky version (231 characters) leads with the free bun and keeps the link; Mastodon version (402 characters) adds #PortlandEats #Bakery and the content warning Food. Both approved and posted.
What you need
Everything it takes to run it.
About 10 minutes from purchase to live. A checklist above the canvas takes you through each step.
Plan
Included in Enterprise; on other paid plans it's $69 once. Agents run live on paid plans, from Basic ($39/mo).
Your AI key
Connect any of 15 AI providers on your own key. Your provider bills usage directly, at cost; we add no markup.
Checklist
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Bluesky, Mastodon or both, connected in Settings → Integrations (the steps for a network you don't connect are skipped).
- A form, CMS or script that can send the post to a webhook (or run it by hand).
Setup, about 10 minutes
- Connect your AI provider. The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
- Connect Bluesky, Mastodon or both. Connect the networks you use: Bluesky with your handle and an app password, Mastodon with your server and an access token with read and write scopes (Settings → Integrations). One is enough; the steps for a network you don't connect are skipped.
- Describe your voice. Open “Rewrite it for each network” and replace the placeholder with your voice, hashtags and content-warning topics.
- Pick your accounts. Open “Post to Bluesky” and “Post to Mastodon” and pick your accounts. Leave a network empty if you don't use it: its step is skipped.
- Test it with Dry Run. Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
- Switch the trigger on. Open the trigger, copy the webhook URL and secret into your form, CMS or script, and switch it on. Fields: post, link (optional), notes (optional).
Is it a fit?
Who it's for, and what it won't do.
Built for
- Small businesses active on both Bluesky and Mastodon
- Marketers who announce launches, events and offers
- Agencies that post the same news for clients on two networks
What it doesn't do
- Nothing is posted without your approval.
- Text only: no images or video. On Bluesky, #hashtags and @mentions appear as plain text (links are clickable).
- Bluesky and Mastodon only.
- It doesn't schedule posts: they go out as soon as you approve.
We list the limits up front so you can decide before you buy.
Price
$69 one-time
Per workspace. It never renews.
- Included at no extra cost on Enterprise.
- Buying and running it live need a paid plan, from Basic ($39/mo).
- Dry Run costs nothing: simulated AI and app calls, nothing sent.
- AI usage is billed by your own provider, at cost. No AI credits to buy from us.
One-time agent purchases aren't covered by the 30-day money-back guarantee. Refund policy
FAQ
Questions about Cross-Post Adapter.
Will the AI change my facts?
It's told to keep every fact, offer, date and link exactly, and you see and can edit both versions before anything is posted.
How do I send it a post?
From any form tool, your CMS or a script that can call a webhook, or by starting a run by hand in the canvas.
What about hashtags on Bluesky?
Bluesky shows hashtags as plain text when posted this way, so the Bluesky version uses one or two at most. The Mastodon version puts two to four at the end, where they're clickable.
Do I need both networks?
No: Bluesky, Mastodon or both. A network you haven't connected is skipped, and the run history says where the post went out.
How do I send a post?
POST JSON to the webhook URL with post (the text) and optionally link and notes, from a form tool, your CMS or a script. You can also start a run by hand from the canvas with your own text.
Does anything go out without me?
No. Both versions wait in Reviews; nothing is posted until you approve, and a rejected post isn't posted anywhere.
Is this a subscription?
No. Cross-Post Adapter is a one-time purchase of $69 per workspace and never renews. The Enterprise plan includes it at no extra cost. Running it live needs a paid plan (from Basic ($39/mo)), and your AI provider bills you directly for usage.
Can I test it before it touches real data?
Yes. Once it's set up in your workspace, Dry Run plays every step on sample data with simulated AI and app calls: nothing is sent and nothing in your apps changes. Switch the trigger on only when you're happy.
Put Cross-Post Adapter to work.
Free account, no credit card. Your Agents page opens with Cross-Post Adapter ready to buy and set up, then Dry Run it before it goes live.