Connecting Accounts
Connect X, Bluesky, Mastodon and LinkedIn to Octopost. What each network needs, which ones are live today, and how to reconnect an expired account.
Network status (2026-11): X, Bluesky, Mastodon and LinkedIn (personal profiles) are live. Threads opens after Meta approves the Octopost app. Instagram, Facebook, TikTok, YouTube, Pinterest and Reddit are in platform review and not available yet. Discord, Slack and Telegram are not supported, even where older parts of these docs mention them.
Supported platforms#
The Status column shows which networks you can use today.
| Platform | Status | Auth Type | Notes |
|---|---|---|---|
| Twitter/X | Live | OAuth 2.0 with PKCE | Personal or business accounts |
| Live | OAuth 2.0 | Personal profiles only; company pages need extra approval from LinkedIn | |
| Threads | After Meta app review | OAuth 2.0 (Meta) | Requires Instagram Business/Creator account |
| Bluesky | Live | App Password | No OAuth: uses AT Protocol sessions |
| Mastodon | Live | Instance OAuth | Varies per instance |
Instagram, Facebook, TikTok, YouTube, Pinterest and Reddit are in platform review and not available yet. Discord, Slack and Telegram are not supported. See the roadmap for what comes next.
OAuth platforms#
Applies to: X (Twitter), LinkedIn, Threads
These platforms all follow the same general flow:
- From your Octopost dashboard, click Connect Account and select the platform.
- You will be redirected to that platform's authorization page.
- Log in (if you are not already) and review the permissions Octopost is requesting. We only ask for what we need: typically the ability to create posts and read basic profile info.
- Click Authorize or Allow.
- You will be sent back to Octopost with the account connected and ready to use.
Your access tokens are stored securely and refreshed automatically before they expire. If a token refresh ever fails, Octopost will let you know and ask you to reconnect.
Platform-specific notes#
Twitter/X: Uses PKCE (Proof Key for Code Exchange) for extra security during the OAuth flow. This happens automatically; you do not need to do anything special.
Threads: Also requires an Instagram Business or Creator account, since Threads authentication goes through Meta's systems.
App passwords (Bluesky)#
Bluesky uses the AT Protocol and does not support OAuth in the traditional sense. Instead, you will use an app password:
- Open the Bluesky app or go to bsky.app.
- Navigate to Settings > App Passwords.
- Click Add App Password and give it a name like "Octopost".
- Copy the generated password. You will only see it once.
- Back in Octopost, click Connect Account > Bluesky.
- Enter your Bluesky handle (e.g.,
yourname.bsky.social) and paste the app password. - Click Connect. Octopost will create a session and verify everything works.
App passwords are scoped specifically for third-party apps and do not give access to your main account password. You can revoke them at any time from Bluesky settings.
Instance-based OAuth (Mastodon)#
Mastodon is decentralized, which means every instance (server) is its own separate thing. The connection flow has one extra step compared to regular OAuth:
- Click Connect Account > Mastodon.
- Enter your instance URL. This is the domain of your Mastodon server: for example,
mastodon.social,hachyderm.io, orfosstodon.org. - Octopost registers itself with your instance (this happens once per instance, automatically).
- You will be redirected to your instance's authorization page.
- Log in and approve the connection.
- You will be sent back to Octopost with your Mastodon account connected.
We store your instance URL alongside your account, so all API calls go to the right server. Character limits may vary by instance (usually 500, but some instances allow more). Octopost detects your instance's limit automatically.
Troubleshooting#
"Authorization failed" or redirect errors#
- Make sure you are logged into the correct account on the platform before starting the OAuth flow.
- Check that third-party app access is not disabled in your platform's security settings.
- Try clearing your browser cookies for that platform and starting over.
- If you are using a company account, your organization may have restricted third-party app connections.
Bluesky connection fails#
- Double-check your handle. It should include the full domain (e.g.,
yourname.bsky.social, not justyourname). - Make sure you are using an app password, not your main account password.
- If you just created the app password, give it a few seconds before trying to connect.
Mastodon instance not recognized#
- Make sure you are entering just the domain (e.g.,
mastodon.social), not a full URL withhttps://or a trailing slash. - Some very small or private instances may have API access restricted. Check with your instance admin.
Token expired or account disconnected#
- OAuth tokens expire over time. Octopost refreshes them automatically, but occasionally a refresh will fail (usually because you changed your password or revoked access on the platform side).
- If you see a warning that an account needs to be reconnected, just click through the connection flow again. Your posts and history are preserved.