From Teachable export to live SSO-gated platform in four stages
No spreadsheets. No copy-paste. The platform connects directly to your Teachable school, reconstructs every course structure, re-hosts every asset, and makes the result available the moment your learners sign in with their existing identity provider.
STAGE 01 — CONNECT & DISCOVER
Point it at your Teachable school. It maps everything.
An admin enters the Teachable school URL and credentials in the import wizard. The platform authenticates, establishes a persistent scraping session, and crawls the course catalog — returning every course title, slug, and publication status as a selectable list. Credentials are AES-256 encrypted at rest and never appear in logs or API responses.
Secure credential entry with AES-256 encryption
Full course catalog discovery in one pass
Admin selects which courses to import before anything downloads

- STEP 01 — AUTHENTICATE
Session established with Teachable
The import worker submits admin credentials to Teachable's login form, captures the authenticated cookie session, and holds it open for the full crawl. Rate limiting is enforced automatically to avoid triggering CAPTCHA or IP blocks.
- STEP 02 — EXTRACT
Course structure and content pulled in full
For each selected course the scraper walks the curriculum editor, recording every section title, lesson title, lesson type, and ordering. It then fetches each lesson page to extract HTML body text, embedded video iframes, image tags, and attachment download links.
- STEP 03 — MIGRATE ASSETS
Every image and file re-hosted under your org
The pipeline downloads each image and document from Teachable's CDN and re-uploads them to Vercel Blob under your organization's path prefix. Identical files are deduplicated by content hash. All CDN references in lesson content are rewritten to point to the new signed URLs.
- STEP 04 — MATERIALIZE
Imported content becomes live platform content
HTML extracted from Teachable is converted to the platform's TipTap/ProseMirror JSON format — preserving headings, paragraphs, bold/italic, lists, and code blocks. The final step writes courses, sections, lessons, and attachments to production tables through the same schema used by the manual course builder.
STAGE 02 — MONITOR PROGRESS
Watch the import in real time. No refresh required.
The import monitor shows the current pipeline stage, assets migrated, errors encountered, and an estimated completion indicator — all live. If an asset fails to download or a lesson parse errors out, the job continues; failed items are logged with full error detail and the import completes with a partial success status so you can fix and retry without starting over.
Live pipeline stage and asset count display
Per-lesson error log — no silent failures
Partial success: one bad attachment never aborts the whole course
Full import history with status and source URL

STAGE 03 — CONFIGURE SSO
Your learners keep the credentials they already have.
An admin configures the organization's identity provider — OIDC or SAML 2.0 — through the SSO settings UI. Each tenant stores its own entity IDs, metadata URLs, certificate fingerprints, and attribute mappings independently. Sessions expire in line with the IdP token lifetime; stale sessions are forced to re-authenticate rather than left open indefinitely.
OIDC and SAML 2.0 — Okta, Azure AD, ADFS and compatible providers
Per-tenant configuration — each org's IdP is fully isolated
Connection test button verifies config before saving
Session lifetime tied to IdP token — no indefinite access

STAGE 04 — LEARNERS TAKE OVER
SSO in. Course catalog visible. Progress tracked from lesson one.
Learners authenticate via your SSO link and land on the course catalog — a branded grid showing every published course with their enrollment and progress status. Every lesson completion is recorded with a timestamp. Progress bars update in real time. When the final lesson is marked complete, a course completion record is written and visible on the learner's dashboard.
Branded catalog — logo and primary colour configured per tenant
Lesson completion with timestamp; progress percentage recalculated live
Prev/next navigation marks current lesson complete on advance
Attachment downloads tracked — admins see what resources learners access
CSV export of learner progress for offline HR reporting

Behind the scenes: what admins see after go-live
Member directory
Every SSO-authenticated user listed by name, email, last login, and course enrollment count. Verify who has access at a glance.
Per-course progress report
Completion percentage, lessons finished, and enrollment date for every learner in a course. Spot who's stuck before they drop off.
CSV export
Download learner name, email, enrollment date, completion percentage, and completed lesson list as a flat file — ready for your HR system.
Common questions about the migration and delivery process
Ready to see your Teachable content in a platform your team actually owns?
Join the waitlist and be among the first organizations to migrate without lifting a spreadsheet.
Questions? Email us at sf-core-org-support-csi-teachable-replacement-app@saas-factory.ai