Before you start
PostQueen signs in with OAuth 2.1 and PKCE on
id.kick.com, and sends the secret as well. It does not check which scopes were granted.
Create the app
1
Turn on two-factor authentication
Kick’s developer tools need two-factor authentication on your account. Turn it on in your Kick security settings, then open Settings > Developer at kick.com/settings/developer.
2
Create the app
Create a new app and fill in its name, description and redirect URL. Leave webhooks off: PostQueen does not use them. Tick the three scopes PostQueen asks for: reading user information (
user:read), reading channel information (channel:read) and writing to chat (chat:write).3
Set the redirect URL
Use the address that matches how you run PostQueen:Kick compares it exactly. Use
localhost, not 127.0.0.1: Kick documents that sign-ins through 127.0.0.1 break.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.4
Copy the client ID and secret
Your developer settings show the app’s Client ID and Client Secret. Copy both, and keep the secret private.
Set the variables
Add the two keys to your environment: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:
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.
Troubleshooting
Kick shows a bare 404 page when you connect
Kick shows a bare 404 page when you connect
Kick shows that page when the sign-in request is missing something it needs. Check
KICK_CLIENT_ID, and that the redirect URL on the app is exactly your FRONTEND_URL followed by /integrations/social/kick.The sign-in comes back, but the channel is not added
The sign-in comes back, but the channel is not added
The token exchange failed. The usual cause is the secret: check that it is in
KICK_SECRET and is the app’s current secret.Messages do not appear in chat
Messages do not appear in chat
The token lacks
chat:write. Tick it on the app, then reconnect the channel and approve every permission.