What it does in ContentPulse: Post to Bluesky (the AT Protocol network) directly from ContentPulse. You write the post, click Publish, and it appears on your Bluesky profile. Status: Available Tier: Available on all paid plans.
Before you start (prerequisites)
- Account requirement: A Bluesky account at https://bsky.app. Free and open to anyone — the old invite-code requirement was lifted in early 2024.
- App Password: Bluesky uses "App Passwords" instead of OAuth. You generate one inside Bluesky and paste it into ContentPulse. This is a per-third-party password you can revoke at any time without changing your main password.
- Cost: Free.
Important — do not paste your main Bluesky password. Bluesky has two kinds of credentials: your main account password (used to sign in at bsky.app) and App Passwords (used only by third-party apps). ContentPulse requires an App Password. Using your main password technically works but is strongly discouraged because there's no scope limitation and revoking it logs you out everywhere.
Step-by-step setup
1. On Bluesky's side — generate an App Password
- Go to https://bsky.app and sign in with the account you want to post from.
- Click your profile picture (top-right) → Settings. [Screenshot to be added](screenshot:Bluesky main menu with Settings highlighted)
- In Settings, scroll to Privacy and Security → App Passwords, or go directly to https://bsky.app/settings/app-passwords.
- Click Add App Password. Give it a name like
ContentPulseso you can identify it later if you want to revoke it. [Screenshot to be added](screenshot:App Passwords screen with Add button) - Bluesky generates a password in the format
xxxx-xxxx-xxxx-xxxx. Copy it immediately — Bluesky will not show it again.
2. In ContentPulse — paste the credentials
- Go to https://contentpulse.helloaurora.ai/settings/connections.
- Find Bluesky in the "Direct Publishing — Live" list and click Connect.
- A modal opens with two fields:
- Handle — your Bluesky handle, e.g.
yourname.bsky.social(or your custom domain if you use one, e.g.yourname.com) - App Password — the
xxxx-xxxx-xxxx-xxxxyou just copied [Screenshot to be added](screenshot:ContentPulse Bluesky connect modal)
- Handle — your Bluesky handle, e.g.
- Click Connect. ContentPulse calls Bluesky's
createSessionendpoint to verify the credentials. If it works, you'll see "Bluesky connected successfully!".
3. Verify it's working
- On the Connections page, the Bluesky row shows a green checkmark and your handle.
- Optional: open the Publish UI, write a short test post, click Publish to Bluesky, and confirm it appears on your Bluesky profile.
What you can do with it once connected
- Publish text posts to Bluesky (up to 300 characters per post).
- Schedule posts via the Queue.
- Reuse content generated for X — Bluesky has the same character ballpark.
Common pitfalls
-
Pitfall: "Invalid identifier or password" right after pasting. Fix: Three likely causes — (1) you pasted your main password instead of an App Password (regenerate as an App Password), (2) you used
@yourname.bsky.socialwith the leading@(we strip it but some edge cases break — remove the@and try again), or (3) your custom-domain handle isn't fully verified on Bluesky. -
Pitfall: Posts publish fine for a few days, then start failing. Fix: App Passwords don't expire on Bluesky's side, but if you regenerate your main password or rotate App Passwords, the old session JWT goes stale. Click "Reconnect" on the Connections page and paste a fresh App Password.
-
Pitfall: Long posts get truncated at 300 characters. Fix: Bluesky's per-post character limit is 300 (it counts graphemes, so emoji and combining characters count as one). ContentPulse warns you if a draft exceeds this, but won't refuse to publish — it'll be cut off mid-sentence by Bluesky. Use the Publish UI's character counter.
-
Pitfall: Posts publish but mentions and links aren't clickable. Fix: Bluesky requires "facets" (byte-range metadata) for links and mentions to be clickable. ContentPulse extracts URLs and
@handlementions automatically; if a particular link isn't clickable, check that it includes thehttps://prefix.
Restrictions
- ContentPulse only publishes to Bluesky. We don't follow, like, or reskeet on your behalf.
- No image upload yet — text + auto-extracted link previews only. Image support is on the roadmap.
- We use the default Bluesky PDS (
https://bsky.social). If you self-host a PDS, email [support@helloaurora.ai](mailto:support@helloaurora.ai) — we can add it on request.
Need help?
Email [support@helloaurora.ai](mailto:support@helloaurora.ai) — we'll walk you through it.