# Connect Skool or Kajabi

> Send new Skool members and Kajabi buyers into Workspace369 as requests through Zapier, Make or n8n, with your Inbound API key. No native integration.

- Product: Workspace369
- Documentation version: 2026.3
- Section: Build with AI
- Last updated: 2026-10-29
- Canonical source: https://docs.workspace369.com/v/2026.3/build-with-ai/connect-skool-or-kajabi/

---

If you sell a course or run a community on Skool or Kajabi, each new paying member can land in Workspace369 as a request. From there you reply, run your New lead workflows, and convert the member to a client.

Workspace369 has no native Skool or Kajabi integration. You connect them **through Zapier, Make or n8n**: the automation tool hears about the new member or purchase, then sends it to the Workspace369 Inbound API.

## What you can connect

| Platform | What starts the automation | Their plan | Use |
| --- | --- | --- | --- |
| Skool | The **New Paid Member** or **Answered Membership Questions** trigger in Zapier | Pro. The Zapier plugin isn't on Hobby. | Zapier |
| Kajabi | The **New Purchase**, **New Payment** or **Tag Added** trigger in Zapier | Any paid Kajabi plan | Zapier |
| Kajabi | An outgoing webhook: **Purchase Created**, **Payment Succeeded** or **Cart Purchase** | Growth or Pro | Make or n8n (or Zapier) |

Skool documents no outgoing webhooks, and Make's Skool app has no triggers, so a Skool connection goes through Zapier. Vendor plans and trigger names were checked on Skool's, Kajabi's and Zapier's own pages on October 29, 2026; they change, so check them again when you set this up.

## Before you begin

- **Workspace369:** any plan, and the **Manage Request Form Settings** permission to create the API key.
- **An Inbound API key:** open **Requests**, then **Requests settings**. Under **Leads from other tools**, choose **Create key** and copy it; it's shown once. Note the **Endpoint** and **Workspace ID** shown there too. See [Connect another system with the Inbound API](/v/2026.3/core-workflows/automate-new-request-handling/#connect-another-system-with-the-inbound-api).
- **Zapier:** a paid Zapier plan. Kajabi is a premium app on Zapier, and Webhooks by Zapier, which sends the lead to Workspace369, is premium too.
- **Skool:** your group's API key and group URL. Only a group admin sees the key, under **Plugins** in the group settings, then **edit** next to **Zapier**.
- **Kajabi:** your Kajabi API key and API secret for the Zapier connection, found in Kajabi's account settings under **Account Details**. These are not the Public API credentials. Zapier notes its Kajabi app works with New Kajabi and isn't compatible with Kajabi Next.

## Send new Skool members with Zapier

1. In Zapier, create a Zap and choose **Skool** as the trigger app.
2. Choose **New Paid Member** as the trigger event. To pass on the answers to your membership questions instead, choose **Answered Membership Questions**.
3. Connect your Skool group with its API key and group URL, then test the trigger to pull in a sample member.
4. Add an action step with **Webhooks by Zapier** and choose **POST**.
5. Set **URL** to the **Endpoint** from Requests settings.
6. Set **Payload Type** to `json`. Under **Data**, add `name` and `email` mapped from the Skool member, and `source` with the value `skool`.
7. Under **Headers**, add `Authorization` with the value `Bearer ` followed by your Inbound API key, and `X-Workspace-ID` with your Workspace ID.
8. Test the step and confirm the member appears in **Requests**.
9. Publish the Zap.

## Send new Kajabi buyers with Zapier

1. In Zapier, create a Zap and choose **Kajabi** as the trigger app.
2. Choose **New Purchase** as the trigger event. Use **New Payment** to hear about every payment, including renewals, or **Tag Added** to start from a tag you add in Kajabi.
3. Connect Kajabi with your API key and API secret, then test the trigger.
4. Add the same **Webhooks by Zapier** **POST** step as in the Skool steps above, mapping the buyer's name and email, with `source` set to `kajabi`.
5. Test the step, confirm the buyer appears in **Requests**, and publish the Zap.

## Send Kajabi purchases with Make or n8n

On Kajabi Growth or Pro, Kajabi can send a webhook straight to Make or n8n, with no Zapier step.

1. In Make, start a scenario with **Webhooks** and choose **Custom webhook**, then copy its address. In n8n, add a **Webhook** node set to **POST** and copy its **Production URL**.
2. In Kajabi, add that address as the webhook for the event you want: the **Purchase Webhook URL** on an offer, or in **Settings**, then **Checkout Settings**, for every offer, for **Purchase Created**. For **Payment Succeeded** or **Cart Purchase**, use the **Webhooks** tab under **Third Party Integrations and Webhooks**.
3. Make a test purchase so the first webhook arrives, then map its fields. **Purchase Created** fires on one-time purchases and the first payment of a subscription or payment plan, but not on Kajabi Cart orders; **Cart Purchase** covers Cart orders; **Payment Succeeded** fires on every successful payment, renewals included.
4. Add a request step: **HTTP** and **Make a request** in Make, or an **HTTP Request** node in n8n. Set the method to `POST` and the URL to the **Endpoint**.
5. Add the `Authorization` and `X-Workspace-ID` headers as in the Skool steps, and a JSON body with `name`, `email` and `source` set to `kajabi`.
6. Run it once and confirm the buyer appears in **Requests**. Then turn the scenario on, or activate the n8n workflow.

## What happens in Workspace369

- Each member or buyer arrives as a new request, carrying the source you sent, such as `skool`.
- Your **Default workflow** in Requests settings runs on it: notifications, assignment, auto-replies and New lead workflows. If you don't want a thank-you email on top of Skool's or Kajabi's own, turn the auto-reply off or give these leads their own form. See [Automate new-request handling](/v/2026.3/core-workflows/automate-new-request-handling/).
- Convert the request to a client when you start working with them. See [Requests and intake forms](/v/2026.3/core-workflows/requests-and-intake-forms/).
- To keep extra details, such as the offer or membership answers, add them to the body and name a form with `form_id` whose fields match. Keys a form doesn't know are ignored.

## Send something back (optional)

Workspace369 webhooks work on every plan, so a Workspace369 event can start a Zap that acts in Skool or Kajabi. For example, when you convert a lead from your website form, `lead.converted` can start a Zap whose next step is Skool's **Invite Member** or **Unlock Course for Member**, or Kajabi's **Grant Access to an Offer**. Lead events carry the person's name, email and source, so the Zap has what the Skool or Kajabi step needs. Add a filter on the source so members who came from Skool or Kajabi aren't sent back to it. Adding a webhook needs the Manage webhooks permission (Managers and above), and lead events need access to Requests. See the [Webhooks reference](/v/2026.3/build-with-ai/webhooks-reference/).

## What doesn't come across

- **Course progress.** Neither Skool nor Kajabi sends a lesson-completed event, so lessons and completions stay in their platform.
- **Payments.** A Kajabi purchase arrives as a request, not as a payment or invoice in Workspace369. The money stays in Kajabi or Skool.
- **Existing members.** Only members and buyers who join after you turn the automation on come across. To bring in the ones you already have, export them from Skool or Kajabi and [import them with AI Import](/v/2026.3/admin/import-data-with-ai/).

## Check that it works

1. Trigger the event once: a test purchase in Kajabi, or a test paid member in Skool.
2. Confirm the run in Zapier, Make or n8n shows a `201` response.
3. Open **Requests** and check the new request has the right name, email and source.
4. Archive the test request.

## If something is wrong

- **`401 Invalid API key` or `Missing Authorization header`:** the `Authorization` header must be `Bearer ` and the key, with a space. If the key was rotated, paste the new one. Check the `X-Workspace-ID` value too: an unknown Workspace ID also returns `Invalid API key`.
- **`401 Inbound API not enabled`:** no key exists yet, or the API is switched off. Create a key under **Leads from other tools**.
- **`400 Missing X-Workspace-ID header`:** add the header with the Workspace ID from Requests settings.
- **`400 Validation error` with `name is required`:** map a name field. If the platform sends `full_name` or splits first and last name, combine them in the automation, or add a **Field mapping** in Requests settings.
- **`429 Rate limit exceeded`:** the endpoint accepts up to 100 requests a minute for each workspace. Slow the automation down or spread a large batch out.
- **The Skool trigger can't connect:** the group must be on Skool Pro, and the API key changes if someone refreshes it in the Zapier plugin. Reconnect with the new key.
