Browse the docs

Agent setup guide

Course Student Onboarding

Each new Teachable student gets a personal welcome, and a week later a check-in matched to their real progress in the course.

Available About 15 min to set up

What it does

Each new Teachable student gets a personal welcome, and a week later a check-in matched to their real progress in the course.

  • Starts when a student enrolls in the Teachable course you pick, and looks them up in Teachable.
  • AI writes a personal welcome from your course details: what to do first, the first lesson, how long it takes and where to get help.
  • Sends it (review is off by default; switch it on to approve every email) and adds the student to your Students sheet.
  • Seven days later reads their progress from Teachable and sends a check-in that fits: how to start, keep going, or nothing if they've finished or left.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Teachable (Growth plan or higher) and Google Sheets, connected in Settings → Integrations.
  • A Students tab (Enrolled | Name | Email | UserID | CourseID | Course | Upsell sent).

What it doesn't do

  • It doesn't enroll, unenroll or message students inside Teachable.
  • One course per setup; it sends one check-in, after 7 days (change the Wait step).
  • Waits need Wait steps (migration 0062) in your workspace.

Availability and plans

Available

Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.

Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.

Before you start

  • A paid plan: agents run live, and the Free plan only runs Dry Runs.
  • An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
  • These apps, connected in Settings → Integrations: Teachable and Google Sheets.
  • The app it watches, connected in Settings → Integrations (the agent starts from an app event).
  • About 15 minutes.

Set it up step by step

Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.

1. Connect your AI provider

The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.

2. Connect Teachable

Connect Teachable with a school API key (Settings → Integrations → Teachable). The API needs the Growth plan or higher.

3. Connect Google Sheets

Connect the Google account that can open your Students sheet.

4. Pick the course

Open the trigger and pick your school and course, then pick the same school on “Look up the student” and “Read their progress”.

SettingWhat to enterIn step
Teachable schoolThe Teachable school whose enrollments start the agent. Pick your connected Teachable account.“New Teachable enrollment”
CourseThe course whose new students are welcomed.“New Teachable enrollment”
Teachable school (look-up, same one)The same Teachable connection. Pick your connected Teachable account.“Look up the student”
Teachable school (progress, same one)The same Teachable connection. Pick your connected Teachable account.“Read their progress”

5. Describe the course

Open “Write the welcome” and replace the placeholder, then enter the Reply-to on both email steps.

SettingWhat to enterIn step
Your course detailsReplace the placeholder with what to do first, the first lesson, how long it takes, your help link, tone, sign-off and whether to review every email (no by default). It starts as “[DESCRIBE YOUR SCHOOL AND EACH COURSE: WHAT TO DO FIRST, THE FIRST LESSON OR MODULE, HOW LONG IT TAKES, YOUR COMMUNITY OR SUPPORT LINK, YOUR TONE, YOUR SIGN-OFF AND WHETHER EVERY EMAIL NEEDS YOUR APPROVAL. REVIEW EVERY EMAIL: no]” until you replace it.“Write the welcome”
Your inbox (replies)Students' replies come back to this address.“Email the welcome”
Your inbox (check-in replies, same one)The same address.“Email the check-in”

6. Pick the Students sheet

Open “Add them to your Students sheet” and pick the account, spreadsheet and tab (Enrolled | Name | Email | UserID | CourseID | Course | Upsell sent).

SettingWhat to enterIn step
Google account (Students)The Google account that can open the spreadsheet. Pick your connected Google Sheets account.“Add them to your Students sheet”
Students spreadsheetPaste the link of the spreadsheet.“Add them to your Students sheet”
Students tabThe tab new students are added to (Enrolled | Name | Email | UserID | CourseID | Course | Upsell sent).“Add them to your Students sheet”

7. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

8. Switch the trigger on

Open the trigger and press “Activate app trigger”. New enrollments are picked up every few minutes.

How it works

The agent is a normal workflow with 17 steps (2 AI steps, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.

  • New Teachable enrollment — Starts on “New enrollment” in Teachable (an app event). Starts a run when a student enrolls in the course you pick (Teachable is checked every few minutes).
  • Look up the student — Teachable: Get a user. Reads the student's name, email and courses from Teachable.
  • Write the welcome — AI step (runs on your AI provider key). AI writes a short personal welcome: what to do first, the first lesson, how long it takes and where to get help, from your course details.
  • Check the welcome — Step. In code: one valid student email, a subject and body with no placeholders.
  • Send the welcome? — Decision: picks the branch to follow. Incomplete: not sent (the student is still logged and checked on in a week). With review off (the default) it's sent at once; with review on, after your approval.
  • Approve the welcome — A person approves or rejects it in Reviews (the run waits). Branch: Review first. The welcome waits in Reviews: edit and approve to send it. Reject to send nothing.
  • Email the welcome — Sends an email from your workspace's sender. Branch: No review / Approved. Sends the welcome to the student from your workspace's sender, with replies to your inbox.
  • Add them to your Students sheet — Google Sheets: Add a row. Branch: Not sent. Adds a row to your Students tab (Enrolled | Name | Email | UserID | CourseID | Course | Upsell sent); Course Completion Upsell reads the same tab.
  • Wait 7 days — Waits 7 days. Gives the student a week. Change the number of days on this step (up to 30).
  • Read their progress — Teachable: Get a user. Reads the student's courses again from Teachable, with percent complete and completion date.
  • Write the week-one check-in — AI step (runs on your AI provider key). AI reads this course's progress from Teachable and writes a check-in that fits: not started yet → how to start; under way → keep going; finished → no check-in.
  • Check the check-in — Step. In code: marked to send, one valid student email, a subject and body with no placeholders.
  • Send the check-in? — Decision: picks the branch to follow. Not needed or incomplete: nothing is sent. Otherwise sent at once, or after your approval when review is on.
  • No check-in — Kept in the run history. Branch: No check-in. Finished, unenrolled or incomplete: nothing was sent.
  • Approve the check-in — A person approves or rejects it in Reviews (the run waits). Branch: Review first. The check-in waits in Reviews: edit and approve to send it. Reject to send nothing.
  • Email the check-in — Sends an email from your workspace's sender. Branch: No review / Approved. Sends the check-in to the student, with replies to your inbox.
  • Onboarding done — Kept in the run history. The run history keeps both emails.

Test it with Dry Run

Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. The sample has the same shape as a real event from the app.

Sample data fields

enrolled_at, user_id, course_id, expires_at, percent_complete.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
  • Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.
  • Wait steps don't wait: they report how long they would wait and the run goes on.

Go live

  • Open the trigger and press “Activate app trigger”. New enrollments are picked up every few minutes.
  • Activating the app trigger needs the trigger's connected account. The first check only remembers what's already there, so older items don't start runs; the same item never starts two runs.
  • The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
  • When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.

Questions

Which Teachable plan do I need?

Teachable's API needs the Growth plan or higher.

Can I approve every email?

Yes: write “REVIEW EVERY EMAIL: yes” in your course details. It's off by default because these are one-to-one emails to your own students.

Several courses?

Each setup follows one course. Set up a copy per course; they can share the same Students tab.

Troubleshooting

  • “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
  • A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
  • An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
  • No runs start: activate the app trigger with a connected account. Only items created after activation start runs.
  • A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
  • A run shows “Waiting until …” in History: that's a Wait step; it continues on its own (it can be cancelled through the API).
  • A step failed: open the run in History and check that step in the Trace tab for the error and what it received.

Generated from the agent's own workflow, so it always matches what the agent does. Last updated .