Skip to content
OpenPostDocs
OpenPostDocs
Social integrations

Fix a connection

Diagnose callback errors, missing accounts, app permissions, and media access during setup.

Start with the last step that worked. A missing network, a rejected sign-in, and a failed post usually need different fixes.

What you seeStart here
The network says it needs configurationCheck the loaded credentials
The provider rejects the redirectCompare callback URLs
Login works, but your Page is missingCheck account access
Only the app owner can connectCheck app mode and review
A text post works, but media failsCheck public media access
A connected account stops workingReconnect the account

The network is not configured

Open Settings → Instance → Configuration → Provider apps as the instance administrator. Confirm the provider and client ID belong to the app you created. For bot credentials and Pinterest, check the OPENPOST_PROVIDER_APPS value in your deployment's secret settings.

If you changed .env, recreate the container with docker compose up -d --force-recreate openpost. Restarting the old container alone keeps its previous environment. If you saved credentials through Settings, restart OpenPost so its provider adapters load them.

When several providers share the environment variable, check that you have one valid JSON array containing every entry. Also check for older provider variables that you still set. Environment credentials take precedence over matching database entries.

The callback URL is rejected

Compare these three values character by character:

  1. The redirect URI in the provider's developer portal.
  2. The redirect_uri in OpenPost's provider entry.
  3. Your public OPENPOST_APP_URL and the callback path in the provider guide.

Check http versus https, subdomains, the provider name, port numbers, and trailing slashes. The app homepage is not the callback. Do not use localhost or a private hostname for a public deployment.

If you recently changed domains, update the provider portal and OpenPost together, restart, and start a new connection. Old sign-in tabs may still contain the previous address.

The connection expired or the window closed

Start again from Social accounts. Stay signed in to OpenPost and keep the same workspace selected while you finish the provider's sign-in. Allow the provider window if your browser blocks popups.

Do not bookmark an OAuth callback or reuse an old authorization code. The connection includes a short-lived state value that ties it to your session and workspace.

A Page or account is missing

Sign in to the provider with the person who manages the destination. Being able to see a Page publicly does not grant publishing access.

  • For Facebook, check Page access and any Business Portfolio assignments.
  • For Instagram, check the professional account's link to a Facebook Page and your access to that Page.
  • For LinkedIn, distinguish a personal profile from an Organization Page. They require different permissions.
  • For YouTube, choose the Google identity and channel you intend to publish to.

Reconnect after correcting access. Review the provider's consent screen and include the intended destinations.

Only test users can connect

Developer apps often start in a test, trial, or development mode. Check the app's current mode, allowed testers, and approval status in its developer portal.

Request the access required by your provider guide before inviting other users. A client ID and secret alone do not grant public access. Self-hosting does not bypass the network's app review, API access, quotas, or account requirements.

After the provider approves new permissions, reconnect the account to grant them. Existing tokens may still have the old permissions.

Media cannot be downloaded

Meta platforms and some other providers fetch files from the media URL you give them. A URL that works only while you are signed in, on your Wi-Fi, or through a VPN will fail for the provider.

Use a harmless test image. Open its URL from outside your network without an OpenPost session. Check that it returns the file with the right content type, over HTTPS, without a sign-in page or an expired link. Then compare its format and size with media limits.

For TikTok URL-based transfers, also check the app's verified URL or domain settings. See the TikTok guide.

An account needs reconnecting

Passwords, account roles, app permissions, expired tokens, and revoked consent can interrupt a connection. Open the account in Social accounts and reconnect it. Confirm that you authorize the same destination.

If you rotate an app secret, update OpenPost, restart it, and check each account that uses that app. If you rotate a Discord webhook, replace the saved connection. If you rotate a Telegram bot token, follow the bot guide's webhook setup again.

Before retrying a failed publication, check whether the provider already published it. The publishing troubleshooting guide explains how to inspect each destination's result.

Ask for help

A useful report includes the provider, OpenPost version, which step failed, the visible error, and whether text and media behave differently. Include the callback's shape with your domain replaced by post.example.com if you need help comparing paths.

Remove client secrets, access tokens, bot tokens, webhook URLs, cookies, and authorization codes from screenshots and logs before sharing them. Open a GitHub issue when the provider setup matches its guide and the problem persists.

On this page