Skip to content

Platform Overview

OAuth and social app setup cause many connection errors. Use this guide as you turn on each network.

Current social network connections

The table below is an implementation and setup inventory. It is not a managed-service readiness claim. The Accounts page reads GET /api/v1/accounts/providers, which now uses the same evidence-based projection as scheduling and the publisher instead of treating adapter registration as availability.

NetworkSign-in methodServer setupStatusNotes
BlueskyApp passwordNoneBuilt-inUsers connect with handle + app password.
XOAuth 1.0aClient ID + secretConfigurableRequires an X developer app with OAuth 1.0a user auth enabled.
MastodonOAuth 2.0 per instanceDynamic registration or MASTODON_SERVERS JSONConfigurableOne app per instance, unless dynamic registration is enabled.
LinkedInOAuth 2.0Client ID + secretConfigurableReplies may need extra approval.
ThreadsMeta OAuthClient ID + secret + redirect URIConfigurablePublic media URL required.
FacebookMeta OAuthProvider app registryConfigurablePages only; public HTTPS media required.
InstagramMeta OAuthProvider app registryConfigurableBusiness or Creator account; public media URL required.
TikTokOAuth 2.0Provider app registryConfigurableVideo and photo paths; provider approval and public media required.
YouTubeGoogle OAuthProvider app registryConfigurableOne-video upload with configurable privacy; live verification recommended.
DiscordIncoming webhookNoneBuilt-inUsers connect a webhook URL; text and streamed attachments are supported.

Start with one network. Check that its callback works before you add another. A configured app may still need approval, a valid account grant, current local and live proof, an allowed policy mode, and an enabled runtime control.

Working code and app keys do not prove that a real account can publish each post type. Use the Provider Readiness and Launch Gate to inspect the mechanically enforced evidence model.

The checked-in public certification manifest contains 0 exact provider-format claims.

No managed provider-format certification claim is current. Implementation descriptions do not assert managed availability.

Social app keys can come from older environment variables, OPENPOST_PROVIDER_APPS JSON, or encrypted rows managed in Settings → Instance → Configuration → Provider apps. Environment-defined apps are read-only in the interface and win over matching database rows. Matching database fallbacks remain visible and can be deleted while the environment app stays active.

Mastodon often needs this setup because each server can need its own app. People can still connect a public Mastodon server from Accounts when that server allows automatic app setup. For other OAuth networks, use these settings when you want to supply your own app keys.

OpenPost loads the effective registry at startup. Restart OpenPost after you change a provider app.

If connection or publishing fails, use Provider Troubleshooting to collect diagnostics and map common OAuth, permission, media URL, and publishing errors to the right fix.

Support matrix

This matrix reflects implemented OpenPost code paths, not the full theoretical capability of each provider API and not current managed-service certification.

PlatformText postsImage postsThreads / repliesScheduled postsVideo postsAccount versionsAnalytics
XYesYesYesYesYes; account tier and API limits set the rulesYesAccount and post numbers
MastodonYesYesYesYesYes; the server sets its limitsYesAccount and post numbers
BlueskyYesYesYesYesOne MP4 up to 100 MBYesAccount and post numbers
LinkedInYesYesChild posts become commentsYesOne MP4 from 3 seconds to 30 minutes, up to 500 MiBYesProfiles and Organization Pages with approved access
ThreadsYesYesYesYesOne video or a mixed carousel; public media links are requiredYesRequires insights permission
FacebookYesYesPage comment repliesYesPublic video links, Stories, Reels, and long videosYesPage and post numbers
InstagramNoYesComment repliesYesReels, Stories, and carousels; public media links are requiredYesRequires insights permission
TikTokNoYesNoYesOne video or 1–35 photos; app review may be requiredYesRequires stats and video-list permissions
YouTubeNoNoComment repliesYesOne Short or video with title, description, and privacy optionsYesChannel and video numbers
DiscordYesYesReply links between partsYesYes, within the webhook's file-size limitYesNo analytics

Notes for each network

  • X: Requires an X developer app with OAuth 1.0a user auth enabled and matching callback URLs.
  • Mastodon: Setup is per instance. Custom public instances can be entered from Accounts; operator-pinned instances can use MASTODON_SERVERS, OPENPOST_PROVIDER_APPS, or the instance-admin provider app API.
  • Bluesky: Uses handle plus app password. No server-side OAuth app is required.
  • LinkedIn: Permissions and app review can block some posts or replies even when OpenPost supports them.
  • Threads: Media must be reachable at a public OPENPOST_MEDIA_URL, and Meta fetches those files server-side.
  • Facebook: Use provider key facebook. OpenPost connects a selected Page and supports text, one image or video, photo posts with 2–10 images, Stories, and Page comment replies. Media must use public HTTPS links.
  • Instagram: Use provider key instagram. OpenPost connects a selected Business or Creator account linked to a Facebook Page. It supports one image, carousels, Stories, Reels, and comment replies. Account access and live tests still apply.
  • TikTok: Use provider key tiktok. OpenPost supports direct and inbox video uploads plus photo posts through public HTTPS media links. App review and live tests still apply.
  • YouTube: Use provider key youtube. OpenPost connects a selected channel, uploads one video with privacy, title, description, thumbnail, and playlist settings, and supports comment replies and moderation. Test a live channel before you rely on it.
  • Discord: Connect an incoming webhook URL directly. OpenPost streams attachments and uses a safe 10 MiB file limit because Discord's actual limit can vary by server and account.

Social network API rules, access, request limits, and app review can change. Check that network's docs if a feature stops working.

See Analytics for collection timing, metric definitions, reconnect requirements, and provider-specific coverage.

Native auto reposts are currently available for X, Mastodon, Bluesky, and LinkedIn. OpenPost reposts only within the source network; it never turns a repost into a copied post on another network. See Auto Reposts for rule and account-access details.

Open source under AGPL-3.0-only.