Skip to main content
Managed Lessons let your app deliver learning experiences powered by Timeback’s lesson engine. Instead of building your own content pipeline, sequencing logic, and scoring system, you call timeback.lessons.* and the SDK handles the rest.
This section covers the SDK implementation for Managed Lessons (Level 2). For the onboarding guide, see Building native apps. If you own your content, see Custom Activities.

When to use

Custom ActivitiesManaged Lessons
ContentYour own content and logicTimeback’s course builder
Platform roleTime and completion reportingSequencing, scoring, and XP
Integration levelLevel 1Level 2

How it works

Your app renders the UI. The SDK manages everything else: discovering available lessons, serving questions, accepting answers, scoring, and tracking time. Under the hood, the SDK orchestrates two Timeback systems:
SystemPurposeWhat it provides
OneRosterLesson discoveryCourses, components, and resources
PowerPathAssessment runtimeSequencing, questions, scoring
Time tracking is handled automatically. When a lesson starts, the SDK creates an activity tracker that sends periodic TimeSpentEvent heartbeats.

The lesson lifecycle

A typical Managed Lesson flow has four phases:
PhaseSDK methodWhat happens
Discoverlessons.list()List available lessons
Startlessons.start()Begin or resume an attempt
Next questionsession.next()Fetch the next question
Submit answersession.submit()Score and record a response
Completesession.complete()Finalize scoring, flush time
The LessonSession object returned by lessons.start() is the central runtime. It tracks state like score, attempt, and finalized, and updates these properties as the session progresses.

Caliper behavior

EventSent byPurpose
TimeSpentEventSDKTime tracking heartbeats (every 15s)
ActivityEventPowerPathScoring, XP, and gradebook writes
The SDK does not send an ActivityCompletedEvent for Managed Lessons. PowerPath is the source of truth for completion, XP, and gradebook updates.

Configuration

Managed Lessons require a Caliper sensor URL in your timeback.config.json.
See the configuration reference for sensor resolution rules and environment overrides.

Next steps

Lesson discovery

List available lessons and start a session

Question loop

Fetch questions and submit answers

Completion

Finalize scoring and interpret results

Attempt history

Review past attempts and per-question data

Reference

Parameters, properties, methods, and return types

Configuration

Full timeback.config.json reference

Getting started

Onboarding guide for building native apps on Timeback