All Docs
FeaturesCSI Teachable Replacement AppUpdated March 13, 2026

Import Job Orchestration & Status Tracking

Import Job Orchestration & Status Tracking

Introduced in v1.0.26

Overview

Content imports from a Teachable school involve multiple sequential pipeline stages — extracting course structures, parsing lesson pages, resolving embedded media, and reconstructing content inside the platform. Starting with v1.0.26, this entire workflow is coordinated as a single trackable import job entity, giving administrators full visibility and control over the process.


How It Works

When an import is initiated, the platform creates a top-level import job that acts as the authoritative record for that operation. The job owns the lifecycle of all downstream pipeline steps and exposes a unified status that admins can query at any time.

Pipeline Stages

The import job coordinates the following stages in sequence:

  1. Course Structure Extraction — Crawls the connected Teachable school and maps the course hierarchy (sections, lectures, etc.).
  2. Lesson & Content Parsing — Extracts text content, embedded video links, images, and document attachments from each lesson page.
  3. Media Resolution — Resolves and stages external media assets for import.
  4. Content Reconstruction — Rebuilds the full course inside the platform, preserving structure and content fidelity.

Job Status Tracking

Admins can poll the status of any import job to get a real-time view of its progress. The status reflects the current pipeline stage and overall job state.

Job States

StateDescription
pendingJob has been created and is queued for processing.
runningJob is actively progressing through pipeline stages.
completedAll pipeline stages finished successfully.
failedOne or more pipeline stages encountered an error.
cancelledThe job was manually cancelled before completion.

Cancellation

A running import job can be cancelled at any time. Cancelling a job:

  • Stops further pipeline processing immediately.
  • Marks the job with a cancelled state.
  • Preserves any partially imported content already committed to the platform.

This is useful when an import was started with incorrect configuration, or when a large import needs to be interrupted and restarted later.


Retrying Failed Jobs

If an import job reaches a failed state, it can be retried directly — no need to reconfigure or re-initiate the import from scratch.

  • Retry reuses the original job configuration.
  • The pipeline resumes from the failed state, minimising redundant work where possible.
  • The retry attempt is tracked under the same job entity, keeping the history consolidated.

Use Cases

  • Monitoring large imports — Poll job status to track progress across a school with many courses and lessons.
  • Diagnosing stalled imports — Status updates pinpoint which pipeline stage is slow or blocked.
  • Safe interruption — Cancel an in-progress import if something looks wrong, then retry once the issue is resolved.
  • Resilient workflows — Retry failed jobs without losing context or re-entering configuration.

Related