Skip to main content
On a self-hosted PostQueen the Slack app is yours. Connecting a Slack channel installs the app in a workspace, and the app’s bot posts every message under the name and picture set for the channel in PostQueen.

Before you start

PostQueen checks all six scopes when a workspace connects and refuses the connect if any is missing.

Create the app

1

Create the app

Open Slack apps, choose Create New App, then From scratch. Enter the app’s name, pick the workspace it belongs to and choose Create App.
2

Add the redirect URL

Open OAuth & Permissions. Under Redirect URLs, choose Add New Redirect URL, enter the address and choose Save URLs.Slack takes only https addresses. When FRONTEND_URL is plain http, PostQueen sends the callback through https://redirectmeto.com/ first, and that wrapped address is the one to register:
The redirect URI is where the network sends the browser back after someone approves PostQueen. It is your FRONTEND_URL + /integrations/social/ + the network’s identifier, for example https://postqueen.example.com/integrations/social/pinterest.Most networks need exactly one URI, with no trailing slash. Two exceptions: TikTok Business needs the trailing slash (/integrations/social/tiktok-business/), and a Google web client that also serves Google Business Profile lists both /integrations/social/youtube and /integrations/social/gmb. Channel developer apps lists every network’s ending.
3

Add the bot token scopes

On the same page, under Scopes, add these six to Bot Token Scopes: channels:read, chat:write, users:read, groups:read, channels:join and chat:write.customize.chat:write.customize lets a message carry the channel’s own name and picture. channels:join lets the bot join a public channel before it posts.
4

Set an app icon

Open Basic Information. Under Display Information, upload an app icon. The channel’s picture in PostQueen comes from the app’s bot, and without an icon the channel connects with no picture.
5

Copy the client ID and secret

On Basic Information, under App Credentials, copy the Client ID and the Client Secret.
6

Turn on distribution for other workspaces

To connect workspaces other than the app’s own, open Manage Distribution and activate public distribution. The app does not have to be listed in the Slack Marketplace for that.

Set the variables

Add the two keys to your environment:
Recreate the app container so it reads the new variables. A plain docker restart or docker compose restart keeps the old container and its old environment. In the folder that holds docker-compose.yaml, recreate only the postqueen service:
The database, Redis and Temporal keep running. Avoid docker compose down for a settings change: on a host that runs other Compose services in the same project, it stops them too. Then open PostQueen, go to Channels, choose Add Channel and pick this network. You are sent to its login to authorize PostQueen, and the channel appears in the Channels list once you accept.
The channel is in the Channels list with its avatar and name.
Add Channel does not check whether your variables are set. A missing or misspelled key shows up as a broken authorization page on the network’s side rather than a helpful message in PostQueen, so if the login page itself looks wrong, check the keys before anything else.
Each post then picks its Slack channel. The bot joins a public channel by itself before posting, but not a private one: invite the app to a private channel first, for example with /invite @your-app in that channel.

Troubleshooting

Slack returned a token without all six scopes. Add the missing ones under Bot Token Scopes, then connect again.
The address PostQueen sent is not under Redirect URLs. On a plain http install, register the redirectmeto.com address from step 2, not the bare localhost one.
The app is not distributed. Activate public distribution under Manage Distribution.
The channel is private and the app is not in it. Invite the app to the channel, then post again.
The app had no icon when the workspace connected. Upload one under Display Information, then reconnect the channel, or set a picture with Bot name & avatar on the Channels page.
Last modified on September 23, 2026