Skip to main content
On a self-hosted PostQueen the Dribbble app is yours. You register it on Dribbble with PostQueen’s callback URL and give PostQueen its client ID and secret. Dribbble does not review apps, but only accounts that are allowed to upload shots can post.

Before you start

PostQueen asks for both scopes when a channel connects, and refuses the connect if Dribbble grants fewer. upload is the one that lets it create shots.

Create the app

1

Register the application

Open Register a new application on Dribbble. Enter a name, a description and your website. Dribbble’s terms do not allow the word “dribbble” in the name.
2

Set the callback URL

Enter the address that matches how you run PostQueen as the Callback URL:
Dribbble checks that the address PostQueen sends has the same host and port as the callback URL, and the same path.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.Then register the application.
3

Copy the client ID and secret

The application page shows the Client ID and the Client Secret at the bottom. Copy both, and keep the secret private.

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.
Pick Dribbble, sign in, and approve access. A Dribbble connection does not expire: PostQueen gets no refresh token and needs none.

Dribbble’s limits

  • Who can post. Dribbble’s API creates shots only for players and teams.
  • The image. Exactly 400 × 300 or 800 × 600 pixels, GIF, JPG or PNG, up to 8 MB. PostQueen checks the size in pixels before scheduling. Video is not supported.
  • Rate. 60 requests a minute and 1,440 a day for each signed-in user.

Troubleshooting

Dribbble returned a token without both scopes. Connect again and approve access on Dribbble’s screen.
The address PostQueen sent does not match the app’s Callback URL. It is exactly your FRONTEND_URL followed by /integrations/social/dribbble.
The account is not allowed to upload shots, or the file breaks Dribbble’s rules on format or size. Check the account type and the file.
Last modified on September 23, 2026