Skool Settings
OpenQuok public API provider settings for Skool — title, group, optional label, images, and follow-up comments via browser-extension connect.
Connect your agent today
Draft from chat, review in your calendar, and publish only what you approve.
Quick reference
| Property | Value |
|---|---|
| Identifier | skool |
| Connect | Dashboard + OpenQuok browser extension — GET /api/v1/public/social/skool returns 400 |
| Setup guide | Skool |
| Body cap | 5,000 characters on top-level body |
| Main-post media | Optional images — upload via API first; native Skool video is not published |
Note
Connect Skool in the dashboard while signed in on skool.com in the same Chrome profile as the extension. Required publish fields title and group live in providerSettingsByIntegrationId for the Skool channel UUID.
Settings on create post
Flat keys and the skool nested bucket are both accepted.
| Flat CLI / API key | Nested composer bucket | Purpose |
|---|---|---|
| title | skool.title | Post title (required, min 1 character) |
| group | skool.group | Skool group id (required) — from groups tool |
| group_id / groupId | — | Aliases for group |
| label | skool.label | Optional label id — from label tool |
| — | skool.replies | Follow-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
| Field | Type | Required | Notes |
|---|---|---|---|
| title / skool.title | string | Yes | Minimum 1 character |
| group / skool.group | string | Yes | Group id from groups trigger |
| label / skool.label | string | No | Omit or use none for default |
| skool.replies | array | No | Follow-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>"
}
}
}'