Thinkific
CMS & ContentConnect AI agents to your Thinkific school. Agents create student accounts and enroll them in the right course after a purchase, set activation and expiry dates for cohort access, and sync enrollment progress into reporting and follow-up tools.
What This Integration Enables
A course business is really an access business: the product is enrollment, and the operational work is granting, timing, and revoking it correctly as money moves. Thinkific's API models that directly, with users, courses, and enrollments carrying activation dates, expiry dates, and progress. FlowRunner agents run the access lifecycle end to end: they provision student accounts when purchases happen elsewhere, enroll students with the right cohort windows, extend access on renewal, and pull progress data out to where instructors and marketers can act on it. The pattern worth stating plainly: Thinkific holds the classroom, but the purchase, the renewal, the refund, and the follow-up all live in other systems. The connector's job is making those systems agree about who has access and why. - Buyers from any checkout become students with accounts and enrollments in one flow - Cohort starts and membership windows are set as activation and expiry dates at enrollment time - Renewals extend expiry dates; lapses queue expirations for review - Enrollment progress and completion sync to spreadsheets, CRMs, and email tools - Catalog data from courses, products, and collections keeps external storefronts accurate Granting access is reversible and safe to automate fully. Taking it away from a paying student is not, and that is where FlowRunner's [human-in-the-loop](/concepts/human-in-the-loop) gate sits on this connector.
Without FlowRunner
With FlowRunner
Use Case Scenarios
The purchase that provisions itself
A payment clears in [Stripe](/integrations/stripe). The agent checks List Users by email, creates the student with Create User if they are new, resolves the course from the purchased product, and calls Create Enrollment with the activation date set to the cohort start. The instructor team sees the new student in [Slack](/integrations/slack), and the student lands in the course onboarding audience in [Mailchimp](/integrations/mailchimp). The buyer's first experience of the school is a welcome email that arrived while their card receipt was still loading.
The stalled-student report instructors actually receive
Weekly, the agent pages through List Enrollments for each active course, logging student, progress percentage, and completion status to [Google Sheets](/integrations/google-sheets). Students below a progress threshold at the cohort midpoint get flagged into a re-engagement segment; completions trigger the certificate and testimonial-request flow. Instructors get a digest of who is stuck at which chapter instead of a dashboard they stopped checking in week two. Progress data was always there; now it drives outreach.
Memberships that expire on schedule, not on discovery
A membership renewal succeeds, and the agent calls Update Enrollment with a new future expiry date, extending access for the paid term. When a renewal fails, the agent does not cut access. It queues the account with payment context for the retention owner, who decides between a grace period and expiration. Approved expirations execute through Update Enrollment with an immediate expiry date. Access windows now match revenue exactly, and no student discovers a surprise lockout caused by a payment webhook nobody reviewed.
Human-in-Loop Highlight
Update Enrollment with an expiry date at or before the current time locks a student out of their course immediately. Aimed wrong, it is a paying customer staring at a paywall over a failed webhook, a mismatched email, or a refund that was actually a partial one, and the damage lands in support queues and reviews before anyone inside notices. So FlowRunner agents treat expiration as a proposal, not an action: the agent assembles the evidence, the failed renewal, the refund record, the enrollment's progress and history, and presents it to the retention owner. The person approves, grants grace, or catches the mismatch. Enrollment creation runs fully autonomous because granting access wrongly costs pennies and is undone in one call; revoking it wrongly costs a customer. The workflow is shaped around that asymmetry.
Agent Capabilities
11 actionsCourses
2- List Courses Retrieves a paginated list of courses in your Thinkific school. Each course includes its name, slug, product IDs, and metadata. Use the page and limit parameters to page through results; the response envelope includes meta.pagination with total counts. Use the returned course id with Get Course or when enrolling users.
- Get Course Retrieves a single course by its unique numeric ID, including its name, slug, product ID, chapter IDs, instructor, and review settings. Use List Courses or the Courses dictionary to find a course ID.
Users
3- List Users Retrieves a paginated list of users (students and administrators) in your Thinkific school. Optionally filter to an exact email address to look up a specific user. Each user includes name, email, roles, and company. The response envelope includes meta.pagination with total counts.
- Get User Retrieves a single user by their unique numeric ID, including name, email, roles, company, and creation date. Use List Users (filtered by email) or the Users dictionary to find a user ID.
- Create User Creates a new user (student) in your Thinkific school with a first name, last name, email, and password. The email must be unique across the school. Optionally send a welcome/activation email and pass a company name. Returns the created user record including its new numeric ID.
Enrollments
4- List Enrollments Retrieves a paginated list of course enrollments in your Thinkific school. Optionally filter by course ID and/or user email to narrow results. Each enrollment shows the student, course, activation and expiry dates, completion status, and progress percentage. The response envelope includes meta.pagination with total counts.
- Get Enrollment Retrieves a single enrollment by its unique numeric ID, including the student, course, completion status, progress percentage, activation and expiry dates. Use List Enrollments to find an enrollment ID.
- Create Enrollment Enrolls an existing user into a course by user ID and course ID. Set an activation date to control when the enrollment becomes active (defaults to now if omitted) and an optional expiry date after which access ends. Both users and courses must already exist; use Create User and List Courses first if needed.
- Update Enrollment Updates an existing enrollment to expire or reactivate a student's course access. To expire access immediately, set an Expiry Date at or before the current time. To reactivate an expired enrollment, set a new future Expiry Date (or update Activated At). At least one of Expiry Date or Activated At must be provided.
Products
1- List Products Retrieves a paginated list of products (sellable offers) in your Thinkific school. Each product includes its name, price, product type, status, and the collection/course IDs it maps to. The response envelope includes meta.pagination with total counts.
Collections
1- List Collections Retrieves a paginated list of collections (groupings of products/courses) in your Thinkific school. Each collection includes its name, description, slug, and the product IDs it contains. The response envelope includes meta.pagination with total counts.
Frequently Asked Questions
What can FlowRunner do with Thinkific?
FlowRunner agents can run List Courses, Get Course, and List Users in Thinkific, plus 8 more actions.
Does connecting Thinkific to FlowRunner require OAuth?
No. Thinkific connects to FlowRunner with an API key, no OAuth flow required.
Can Thinkific trigger a FlowRunner workflow automatically?
Thinkific doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Thinkific
$100 in credits. No card required. Connect in minutes.