Skip to main content
Every post to Skool carries a settings object with "__type": "skool". Read the live schema for your channel with Get a channel’s settings.

Fields

The text is sent as it is, up to 5,000 characters, and each file is uploaded to Skool as an attachment. Each extra entry in value is a comment, posted after its delay in minutes under the entry before it. Comments can carry files too, and take no title.

Find the ids

Two tools list the ids. Call them through trigger a provider tool:
  • groups lists your first 30 groups, with no data.
  • label lists a group’s categories. Pass the group id as data.id.
Both return { "output": [ { "id", "name" } ] }. For a group with no categories, label answers [ { "id": "none", "name": "Default Label" } ]. Put the group’s id in settings.group and the category’s id in settings.label.

What PostQueen checks

A post that breaks one of these rules is refused with 400 before it is scheduled: The error body for a too-long entry names the channel and the rule:
A missing or empty field fails the request validation instead, and the body lists every problem under message. After scheduling, Skool can still refuse a post: “You can’t post to this channel” when the account’s role in the group is below what it requires, and “Cannot post to this label” when the category is restricted.

Examples

Send each body to create a post. Replace YOUR_CHANNEL_ID with the channel’s id from list channels, group and label with ids from the tools above, and each media id and path with the values upload a file returns.
In the first example, the second entry in value is posted 10 minutes after the post, as a comment under it.
Last modified on September 24, 2026