Skip to main content
Skool has no public API, so she reaches it the way you do: through your own logged-in browser. The extension hands her the session cookie.

How It Works

  1. You install the PostQueen Chrome Extension in your browser.
  2. When adding a cookie-based channel, the extension reads your session cookies for that platform.
  3. The cookies go to her backend, where they are stored as an encrypted JWT.
  4. The extension automatically refreshes cookies every 24 hours to keep connections alive.
Using cookies to interact with platforms may violate their terms of service. Use this feature at your own risk.
The packaged PostQueen extension is coming soon to the Chrome Web Store. Until then, you build it from source.
Until it is published, this needs an instance you administer. EXTENSION_ID is read from the server environment, and every unpacked build gets its own ID, so the build in your browser has to be the one that instance was told about. On a hosted instance you do not control, your own build’s ID will not match and the connect stops at Extension Not Found before anything reaches the network.

Installation

1

Build the Extension

Build the extension from the PostQueen monorepo. The extension has no dependencies of its own, so the workspace install at the repo root has to run first:
Then load the apps/extension/dist folder as an unpacked extension in Chrome:
  1. Navigate to chrome://extensions/
  2. Enable Developer mode (top right toggle)
  3. Click Load unpacked and select the dist folder
2

Get the Extension ID

After loading the extension, you need its Extension ID:
  1. Go to chrome://extensions/ in Chrome
  2. Find the PostQueen extension
  3. Copy the ID shown under the extension name (a 32-character string)
Each unpacked build gets its own ID, so use the value Chrome shows for your build.
3

Configure the Environment Variable

Add the extension ID to your PostQueen environment variables:
Restart PostQueen after setting this variable.

Supported Platforms

Skool is the one channel that needs it today:

Skool

She posts to your communities once the extension is loaded

Self-Hosted Considerations

Running her on a domain other than localhost or *.postqueen.ai? You build a custom extension with your domain in the externally_connectable manifest field. Edit apps/extension/manifest.json and add your domain:
Then rebuild the extension and load it as an unpacked extension in Chrome. The manifest field is only half of it. The extension compiles its own allowed-origin list from FRONTEND_URL and NEXT_PUBLIC_BACKEND_URL at build time, and any page outside that list is answered with Unauthorized origin.
The build script does not read the repository’s .env. The watch build used during development does, the production pnpm build does not, so building without passing the values produces an extension that only trusts localhost. Pass them on the command line:

Troubleshooting

  • “Extension not found”: make sure the EXTENSION_ID environment variable is set and PostQueen has been restarted.
  • “Extension not reachable”: the extension may be disabled. Check chrome://extensions/ and make sure PostQueen is enabled.
  • “Unauthorized origin”: the extension was built without your FRONTEND_URL. Rebuild with it set.
  • “Could not get cookies”: you must be logged in to the platform in the same Chrome browser where the extension is installed.
  • Cookies expire: the extension automatically refreshes cookies every 24 hours. If a connection drops, try reconnecting the channel.