Blog: Resilient Imports — Partial Failure Recovery in v1.0.62
Resilient Imports: Partial Failure Recovery in v1.0.62
We've shipped a meaningful improvement to the Teachable import pipeline in v1.0.62. If you've ever had a large course import grind to a halt because of a single broken image link or a malformed lesson, this one's for you.
The Problem
Importing a Teachable school means pulling in potentially hundreds of lessons, embedded videos, images, PDFs, and other assets. Real-world course content is messy — assets go stale, lesson pages can contain unusual formatting, and transient network errors happen. Before this release, any one of those issues could abort the entire import job, forcing you to diagnose the problem and start over from scratch.
What's Changed
The import engine now handles errors at the individual item level. When a lesson parse fails or an asset download times out, the pipeline:
- Records the failure with full error details
- Skips the affected item
- Keeps going through the rest of your course content
When the job finishes, you'll see one of three statuses:
- ✅
success— everything imported cleanly - ⚠️
partial_success— import completed, with some items needing attention - ❌
failed— the job itself could not run (e.g. authentication or connectivity issue)
The new partial_success state is the key addition here. It gives you a clear, actionable signal: your course is mostly imported and available, and there's a short list of items to review rather than a blank slate to start from.
Reviewing Failed Items
After a partial_success import, open the import report to see the Failed Items log. Each entry tells you exactly which lesson or asset failed, what type of error occurred, and what the error message was. From there you can fix the underlying issue — update a broken asset URL, simplify a problematic lesson — and re-run just what's needed.
Upgrading
This is an automatic improvement — no configuration changes required. All new imports from v1.0.62 onwards will benefit from this behaviour out of the box.