Skip to content

Skool Settings

OpenQuok public API provider settings for Skool — title, group, optional label, images, and follow-up comments via browser-extension connect.

2 min read

Connect your agent today

Draft from chat, review in your calendar, and publish only what you approve.

Start your free trial

Quick reference

PropertyValue
Identifierskool
ConnectDashboard + OpenQuok browser extension — GET /api/v1/public/social/skool returns 400
Setup guideSkool
Body cap5,000 characters on top-level body
Main-post mediaOptional images — upload via API first; native Skool video is not published

Settings on create post

Flat keys and the skool nested bucket are both accepted.

Flat CLI / API keyNested composer bucketPurpose
titleskool.titlePost title (required, min 1 character)
groupskool.groupSkool group id (required) — from groups tool
group_id / groupId—Aliases for group
labelskool.labelOptional label id — from label tool
—skool.repliesFollow-up comments after the main post publishes

List groups and labels with Trigger integration tool methods groups and label (pass id = group id for labels).

{
  "providerSettingsByIntegrationId": {
    "<skool-integration-id>": {
      "title": "Week 12 — community update",
      "group": "<group-id-from-groups-tool>",
      "label": "<optional-label-id>"
    }
  }
}

Follow-up comments

Nest scheduled comments under skool.replies on the publishing Skool UUID:

{
  "providerSettingsByIntegrationId": {
    "<skool-integration-id>": {
      "skool": {
        "title": "Launch thread",
        "group": "<group-id>",
        "replies": [
          {
            "id": "reply-1",
            "message": "Details in this comment.",
            "delaySeconds": 300,
            "media": [{ "id": "<media-id>", "path": "FILE_PATH_FROM_UPLOAD" }]
          }
        ]
      }
    }
  }
}

Each reply row uses delaySeconds relative to the previous step. Optional media on a reply requires a prior POST /api/v1/public/upload (or upload-from-url) entry.

Field reference

FieldTypeRequiredNotes
title / skool.titlestringYesMinimum 1 character
group / skool.groupstringYesGroup id from groups trigger
label / skool.labelstringNoOmit or use none for default
skool.repliesarrayNoFollow-up comments when the group allows

Run GET /api/v1/public/integrations/:id/settings (or openquok integrations:settings) for the typed settingsSchema Skool exposes.

Complete example

curl -X POST https://api.openquok.com/api/v1/public/posts 
  -H "Authorization: Bearer opo_your_programmatic_token" 
  -H "Content-Type: application/json" 
  -d '{
    "body": "Weekly update for the group — queue from the API after extension connect.",
    "scheduledAt": "2026-05-15T12:00:00.000Z",
    "status": "scheduled",
    "integrationIds": ["<skool-integration-id>"],
    "isGlobal": true,
    "providerSettingsByIntegrationId": {
      "<skool-integration-id>": {
        "title": "Week 12 shipping notes",
        "group": "<group-id>"
      }
    }
  }'
Search documentation
Find a docs page
Discord Support