Social & Community · Integration
Bluesky
Add Bluesky to your product for your customers, and give your AI agents governed access to it.
Bluesky runs on the AT Protocol, so every call is an XRPC procedure under /xrpc on a personal data server such as bsky.social, and the read-only AppView at public.api.bsky.app serves feeds and profiles without auth. A session is opened with com.atproto.server.createSession using a handle plus an app password, returning a short-lived accessJwt and a refreshJwt that must be rotated through refreshSession. Posts are not a posts endpoint: you write a record into the app.bsky.feed.post collection with com.atproto.repo.createRecord, and images must be pushed through com.atproto.repo.uploadBlob first and referenced by their blob ref. The detail that catches implementers is facets, the structures that mark links, mentions and hashtags: their byteStart and byteEnd are offsets into the UTF-8 encoding of the text, not into a JavaScript string, so any post containing emoji or non-Latin characters ends up with mangled links if you index naively. Identity is a DID, while the handle is a mutable alias that can move between hosting providers, so store the DID as the key. fastn holds each customer's session and app password separately, refreshes tokens before they expire, and tracks protocol changes so your team does not have to.
In your product
Embedded for your customers. Per-tenant auth, no per-customer code, maintained by fastn.
Let a customer connect their own Bluesky account and schedule posts from inside your product
Mirror a brand's Bluesky replies and mentions into a shared social inbox for triage
Cross-post release notes to Bluesky alongside other channels, resolving handles to DIDs first
Report follower growth and engagement per post by polling the AppView for each connected account
For your AI agents
Governed, audited access for the agents you build, through the MCP server.
Let an agent draft a reply to a mention and hold it for human approval before writing the record
Have an agent summarise the last week of mentions for one tenant, with every read audited per tenant
Let an agent follow back accounts matching a customer-defined rule, within a rate cap
Example prompt
What did people say in reply to our Bluesky post about the pricing change?
Set up Bluesky in 4 steps
- 01Enable the Bluesky connector from your fastn dashboard.
- 02Have each customer authorise their own Bluesky account, so calls run under their credentials rather than a shared key.
- 03Decide which posts, pages and comments your product needs, map those fields, then enable the actions and triggers you want.
- 04Call it from your product and expose it to your agents through the same governed connection.
Why teams use the Bluesky integration
What you get by embedding it with fastn instead of building it yourself.
- Ship a Bluesky integration without building it. Your customers connect their own Bluesky account inside your product and work their posts, pages and comments there, with no per-customer code on your side.
- Handle the part that actually costs time: anything published is public immediately, and each network gates access behind its own review process. fastn owns the auth, token refresh, rate limits, pagination and breaking-change fixes, so a Bluesky update is not your on-call problem.
- One integration serves your product and your agents. The same governed Bluesky connection powers in-product features and gives AI agents scoped, audited access, so you publish and listen from inside your product instead of a separate social tool without wiring it twice.
Used by these teams
Compare with
Often used alongside
Tools the same teams tend to run next to Bluesky, across other categories.
Bluesky integration FAQ
How do I add a Bluesky integration to my product?
Enable the Bluesky connector in your fastn dashboard, then let each customer authenticate their own Bluesky account. fastn handles the OAuth flow, token storage and refresh per tenant, so there is no Bluesky client code in your app and no per-customer branch in your codebase. Setup is 4 steps.
Do my customers each connect their own Bluesky account?
Yes. Every connection is scoped to the individual customer, so each authorises their own Bluesky account and only ever sees their own posts, pages and comments. That per-tenant isolation is the point of an embedded integration: you support the long tail of customer setups without maintaining an integration per customer.
Can AI agents use this Bluesky integration?
Yes. The same connection is exposed to your agents through the fastn MCP gateway, with permissions scoped per tenant and every call audited. Let an agent draft a reply to a mention and hold it for human approval before writing the record
Who maintains the Bluesky integration?
fastn does. When Bluesky changes an endpoint, deprecates a field or alters its auth, the fix lands in the connector rather than in your backlog, and your customers' connections keep working.
Can my product publish to a customer's own Bluesky account?
Yes. Each customer authorises their own account, so a post goes out as them, under their permissions, never from a shared account you own. That also means a customer revoking access affects only their own connection.
Can I read engagement back from Bluesky?
Yes. Comments, reactions and reach come back scoped per tenant, so your product can act on them or show them in your own reporting without one customer's numbers mixing with another's.
What can I build with the Bluesky integration?
A common starting point: let a customer connect their own Bluesky account and schedule posts from inside your product. Teams also use it for the other use cases listed above, and expose it to agents for governed reads and writes.
How much does the Bluesky integration cost?
It is included. Pricing is based on connected accounts, not on how many connectors you enable, so adding Bluesky does not change your per-connector cost. You can start free with 3 connected accounts.
Add Bluesky to your product
Start free with 3 connected accounts. No sales call required, and no per-customer integration code.