---
description: "Connect Teachable to Plandalf with an API key, then enrol buyers in the right course when they pay and remove a student from a course in one step."
---
# Teachable setup

Sell your course through a Plandalf checkout and let Teachable deliver it. When someone pays, a sequence finds or creates them as a Teachable student and enrols them in the course they bought.

## Before you start

-   A Teachable school on the Growth plan or higher. Teachable’s API isn’t available on lower plans.
-   Access to your school admin’s **Settings**, to create an API key.
-   The courses you sell, set up in Teachable.

Teachable counts students added through its API toward its usage fees. For schools created on or after 3 September 2026, the first 100 such students are free and each one after that is $0.50 a month. Older schools are on Teachable’s legacy schedule until they switch. Check [Teachable’s usage fees](https://teachable.com/legal/usage-fees) for your school.

## Get your Teachable API key

1.  [Open the API settings](#open-teachable-api)

    In your Teachable school admin, go to **Settings** and open the **API** tab.

2.  [Create a key](#create-teachable-key)

    Click **Create API Key**, enter “Plandalf” as the **Name** and click **Create**.

3.  [Copy the key](#copy-teachable-key)

    Copy the key and keep it safe until you paste it into Plandalf.

## Connect Teachable to Plandalf

1.  [Find Teachable in the Marketplace](#find-teachable-in-marketplace)

    In Plandalf, open **Automation** in the sidebar and choose the **Marketplace** tab. Find **Teachable** under **Available now** and click **Connect**.

2.  [Paste the key](#paste-teachable-key)

    In the **Connect Teachable** window, keep or change the **Integration name**, paste your key into **API Key**, then click **Connect**.

3.  [Check the result](#check-teachable-connection)

    Plandalf checks the key with Teachable straight away. When you see **Teachable connected**, choose **Build an automation** or **Not now**.

## Steps you can add

Each step works from the student’s email address and looks them up in Teachable for you, so you don’t need to pass an ID between steps.

### Find or Create Student

Finds a Teachable student by email, or creates one.

-   **Email Address** (required), usually `{{trigger.customer_email}}`.
-   **Name**: used if the student is new, usually `{{trigger.customer_name}}`.

### Enrol Student in Course

Gives someone access to a course, creating the student first if Teachable doesn’t have them. If they are already enrolled, the step succeeds without changing anything.

-   **Email Address** (required).
-   **Course** (required): pick a course from your school. Unpublished courses are marked “(unpublished)”.
-   **Name**: used if the student is new.

### Remove Student from Course

Removes someone’s access to a course. If Teachable has no student with that email, or they aren’t enrolled, the step is skipped.

-   **Email Address** (required).
-   **Course** (required).

Plandalf has no refund or cancellation trigger yet, so this step can’t run on its own when a buyer refunds. Run it from a sequence you start yourself, such as one with a **Webhook Trigger**, or remove the student in Teachable.

## Example: enrol buyers in your course

1.  [Create the sequence](#teachable-example-create)

    Go to **Automation → My Sequences** and create a sequence called “Course buyers to Teachable”.

2.  [Set the trigger](#teachable-example-trigger)

    Choose **Plandalf** and **Checkout Completed**. Under **Offer**, pick the checkout that sells the course. On **3\. Test**, pick a recent checkout as the sample record.

3.  [Enrol the buyer](#teachable-example-enrol)

    Click **Add a step**, choose **Teachable** and **Enrol Student in Course**, and pick your Teachable account. Set **Email Address** to `{{trigger.customer_email}}`, pick the **Course**, and set **Name** to `{{trigger.customer_name}}`.

4.  [Test and turn it on](#teachable-example-on)

    Testing enrols a real student, so use your own email. Then turn the sequence **On**.

Selling several courses? Add one **Enrol Student in Course** step per course, or one sequence per checkout. To try it with a test card, switch on **Run on test purchases** in the sequence’s **Settings** first.

## Common errors

| What you see | What to do |
| --- | --- |
| **Authentication failed** when connecting | Check the key came from **Settings → API** in your school and that the school is on the Growth plan or higher. Plandalf keeps the failed connection in **My apps**. Open it there, paste the right key and choose **Test Connection**, rather than connecting again. |
| “Email is empty” | Map **Email Address** to `{{trigger.customer_email}}` and check the trigger sample has an email. |
| “Pick the Teachable course” | The **Course** field is empty. Pick a course from the list. |
| The course list is empty | The school has no courses yet, or the key belongs to a different school. |
| “Failed to enrol the student in Teachable” | Teachable’s reason follows the message. Check the course still exists and is the one you meant. |
| Remove Student from Course shows **skipped** | The person isn’t a student in that course. Nothing needed removing. |

## Related guides

-   [Automations overview](https://plandalf.com/docs/product-guides/integrations/plandalf)
-   [Thinkific setup](https://plandalf.com/docs/product-guides/integrations/thinkific)

Source: https://plandalf.com/docs/product-guides/integrations/teachable
