Quick reference (TL;DR for agents)
- What this enables: Any Zap can read AND write to Skool — beyond the “official” Skool integration which only offers triggers and a couple of webhook actions.
- Method: Zapier
Webhooks by Zapier — POSTstep → Apify-hosted Skool actor → Skool.- Auth flow:
auth:loginonce, store cookies in Zapier’s Storage (or pass via Path), rotate every ~3.5 days.- Cost: Apify pay-per-event (~$1.50/mo typical) + Zapier tasks on your existing plan.
The official Skool Zapier integration limitation
Skool has an “official” Zapier integration listed in the Zapier App Directory. It provides triggers like “new member joined” and a handful of webhook actions — useful for notifications, but it cannot write to Skool. You can’t approve members, post to the feed, publish courses, or update Auto DM.
For automation beyond notifications, you need the Apify-hosted Skool All-in-One API actor — accessed via Webhooks by Zapier — POST.
What you can automate from Zapier
| Zap | Skool action |
|---|---|
| Typeform submission → AI screen → approve in Skool | members:approve |
| New Mailchimp campaign sent → mirror to Skool feed | posts:create |
| New Stripe customer → set Auto DM with their name | groups:setAutoDM |
| Calendly booking → schedule a Skool announcement | posts:create |
| Google Sheets row added → auto-publish course chapter | classroom:setBody |
Setup — 5 minutes
1. Get your Apify API token
apify.com → token at console.apify.com/account/integrations.
2. Bootstrap cookies (one-time)
Create a one-step Zap:
- Trigger: Schedule by Zapier — Every Day (or manual trigger you’ll delete after)
- Action: Webhooks by Zapier → POST
- URL:
https://api.apify.com/v2/acts/cristiantala~skool-all-in-one-api/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN&build=latest&timeout=90 - Payload type: JSON
- Data:
{
"action": "auth:login",
"email": "admin@yourcommunity.com",
"password": "your-skool-password",
"groupSlug": "your-community"
}
Run once. Copy the cookies value from the response. Save it in Zapier Storage or as a hardcoded value in your action Zaps.
3. Build your first write Zap
Example: Typeform → screen with Formatter → approve in Skool.
- Trigger: Typeform — New Entry
- Filter: Only continue if
survey_answer_qualityfield contains keywords like “founder”, “automation”, etc. - Webhooks by Zapier — POST:
- URL: same Apify URL as above
- Data:
{ "action": "members:approve", "cookies": "", "groupSlug": "your-community", "params": { "memberId": "" } }
Note: Skool uses memberId (the membership ID within a group), NOT id (the global user ID). Mixing them returns 404. To get memberId, call members:pending first.
Cookie rotation in Zapier
Zapier doesn’t have native long-lived secrets like n8n credentials. Two options:
Option A — Manual rotation every ~3.5 days. Quick but easy to forget.
Option B — Auto-rotation Zap. Schedule daily. Calls auth:login, parses response, updates a Zapier Storage record. All other Zaps read from Storage. Foolproof.
Use Option B if you run more than 2-3 Zaps against Skool.
Production gotchas
x402-payment-required= false alarm. Open the actor in Apify console once to reset theUNDER_MAINTENANCEflag.memberId≠id. Member operations requirememberIdfrommembers:pending, not the globaluser_id. Returns 404 silently if you confuse them.- Plain text only in posts. Skool ignores HTML/markdown in post content. Multi-line is fine; styling is not.
- Rate limit ~25 writes/min. Add a
Delay by Zapierstep if your Zap can fire faster than that.
Related
Start automating Skool from Zapier today
→ Open the Skool All-in-One API actor on Apify
Pay-per-event (~$1.50/mo typical). Read AND write — full API surface. One Webhooks by Zapier — POST step per action.
No Skool community yet? Launch one in 10 minutes — 14-day free trial. Need an n8n instance? Get started free — the workflow tool we use throughout these recipes.