> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postqueen.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skool

> How to add Skool to PostQueen

<img src="https://mintcdn.com/forceplay/LL5FipRv-7nhg1To/images/channels/skool.svg?fit=max&auto=format&n=LL5FipRv-7nhg1To&q=85&s=8bd78662b4d4be75ea42ac2141fa0981" alt="Skool" height="44" noZoom style={{ height: "44px", marginBottom: "1.25rem" }} data-path="images/channels/skool.svg" />

<Snippet file="never-share.mdx" />

Skool is a **cookie-based** integration that uses the PostQueen browser extension to connect. Unlike OAuth-based providers, Skool authentication works by extracting session cookies from your browser.

<Warning>
  **Three things have to be true before you can connect Skool at all**, and none is optional:

  * **Chrome or a Chromium browser.** The connect flow reaches the extension through Chrome's own
    messaging API, which does not exist in Firefox or Safari. There is no fallback.
  * **The PostQueen extension installed.** It is not on the Chrome Web Store yet, so you build it from
    source and load it unpacked.
  * **`EXTENSION_ID` set on the instance to that build's ID.** It is a server variable, and each
    unpacked build has its own ID, so this needs an instance you administer. Without a match the
    connect stops at *Extension Not Found* before anything reaches Skool.

  Setting the extension up: [Chrome Extension](/configuration/chrome-extension).
</Warning>

<Warning>
  Using a browser extension to interact with a platform may violate its terms of service and could result in your account being suspended or banned. PostQueen does not take responsibility for any issues arising from the use of this method.
</Warning>

## What she can post to Skool

A Skool post needs a title, a group and a label before she will send it. Once it lands, the comments you queued follow it into the same thread.

<CardGroup cols={2}>
  <Card title="Character limit" icon="text-width">
    5,000 characters per post.
  </Card>

  <Card title="Media" icon="image">
    Files, uploaded to Skool file storage and attached to posts and to comments.
  </Card>

  <Card title="Post types" icon="layer-group">
    A titled post in one group, then comments threaded underneath it.
  </Card>

  <Card title="Analytics" icon="chart-line">
    None. Ten connectors report numbers back to her, and Skool is not one of them.
  </Card>
</CardGroup>

| Area          | Detail                                                                                                                               |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Post settings | `group`, `label` and `title` are all required, each at least one character: [Skool settings](/public-api/providers/skool).           |
| Connect flow  | One step, through the Chrome extension. It reads the `client_id` and `auth_token` cookies on `.skool.com` and stores them encrypted. |
| Automations   | None on this network.                                                                                                                |
| Publish rate  | One post at a time.                                                                                                                  |

<Warning>
  The group picker reads your first 30 Skool groups, so a very long membership list may not show every option. If a group has no labels of its own, the only choice is **Default Label**, and she sends the post without a label attached.

  Two refusals come from Skool itself: **"You can't post to this channel"** when your role in the group is below what the group requires, and **"Cannot post to this label"** when the label is restricted.
</Warning>

## Prerequisites

Before connecting Skool, you need:

1. The **PostQueen Chrome Extension** installed. Setup: [Chrome Extension guide](/configuration/chrome-extension).
2. The `EXTENSION_ID` environment variable configured in your PostQueen instance.
3. An active **Skool account**: you must be logged in to [skool.com](https://www.skool.com) in the same browser where the extension is installed.

## Connecting Skool

<Steps>
  <Step title="Log in to Skool">
    Open [skool.com](https://www.skool.com) in Chrome and make sure you are logged in to your Skool account.
  </Step>

  <Step title="Add Skool as a Channel">
    In PostQueen, click **Add Channel** and select **Skool**. You will see a warning about browser extension usage. Read it and click **I understand, continue**.

    The extension will automatically extract your Skool session cookies and connect your account.
  </Step>

  <Step title="Create a Post">
    When creating a post for Skool, you will need to configure:

    * **Title**: The title of your Skool post (required).
    * **Group**: Select which Skool group to post in.
    * **Label**: Select a label for the post, or use the default.

    You can also attach images to your post. Files are uploaded directly to Skool's file storage.
  </Step>
</Steps>

<Check>
  The channel is in the left sidebar with its avatar and name. That is the whole confirmation: if it is in the list, she can post to it.
</Check>

## Features

* **Post to groups**: Publish posts to any Skool group you are a member of.
* **Labels**: Assign labels to categorize your posts.
* **Comments**: Schedule threaded comments on your posts.
* **Image attachments**: Attach images to posts and comments.
* **Automatic cookie refresh**: The extension refreshes your cookies every 24 hours to keep the connection alive.

## Troubleshooting

* **"Extension not found"**: Make sure the PostQueen Chrome Extension is installed and that `EXTENSION_ID` is correctly set. Setup: [Chrome Extension guide](/configuration/chrome-extension).
* **"Could not get cookies"**: Log in to [skool.com](https://www.skool.com) in Chrome before connecting.
* **"You can't post to this channel"**: You must be an admin or have sufficient permissions in the Skool group.
* **"Cannot post to this label"**: The selected label may have restrictions. Try a different label or the default.
* **Session expires**: If your session expires, reconnect the integration. The extension will attempt to refresh cookies automatically every 24 hours.

<Snippet file="next-steps-provider.mdx" />
