Skip to main content

Instances

Matt Lawrie avatar
Written by Matt Lawrie
Updated this week

Instances let you reuse content across your app without duplicating it.
Each time content is placed into a program or course, it becomes an instance with its own progress and completion, while staying linked to the original content. Updates made to the original are reflected everywhere it’s used, and instances can be detached if you need to edit them independently.

How instances work in Movement

Instances are unique placements of content inside a program, course, or any multi-page content type. They let you reuse the same content in multiple locations while tracking progress separately for each placement. When content is added as an instance, actions like Mark complete automatically contribute to the overall progress of the associated program or course.

For example, the same workout can appear in Week 1 and Week 4, with each placement treated as its own instance. This means completing the workout in Week 1 will not auto-complete it in Week 4, keeping progress accurate across your program.

Instances are not limited to workouts. You can create instances from videos, audio, lessons, articles, and any other supported content type. Each time content is placed into a program or course, it becomes a new instance with its own independent progress tracking.


Why use instances?

Instances help you:

  • Track progress accurately across programs and courses

  • Reuse content without duplicating files

  • Show correct completion percentages

  • Build repeatable learning or training layouts


How to create instances

There are two main ways to create instances:


Option 1: Program / Course Calendar (auto-scheduled)

When adding content through the Program or Course Calendar Builder:

  • Instances are automatically created

  • Content is automatically scheduled

  • Each placement is assigned to a specific day or week

Best for:

  • Time-based programs

  • Drip content

  • Daily or weekly schedules


Option 2: Inline Create (manual or optional scheduling)

When using Inline Create inside your page tree:

  • Instances are created immediately

  • Scheduling is optional

  • You can leave content self-paced or assign dates later

Best for:

  • Self-paced courses

  • Evergreen programs

  • Flexible layouts


How instances appear inside your content

Instances are treated as subpages within your multi-page content structure and can exist at any nesting level.

This means instances can be placed directly under a program or course, or nested inside sections such as weeks, phases, or modules.


To surface instances on a page:

  1. Add a Dynamic Content Block to the page where you want them to appear

  2. Set the filter to Subpages

  3. Any instances nested directly under that page will automatically display

For example:

  • Add a dynamic block on your main program page to show all top-level instances

  • Add a dynamic block on a Week 1 page to show only the workouts or lessons for that week

This allows you to dynamically display:

  • Weekly schedules

  • Daily workout lists


Important: Join action is required for progress tracking

Progress tracking only starts once a member joins the program or course.

Make sure your top-level page includes a Join action so completion can be tracked per user.



Best practices

For the best setup:

  • Use the Calendar Builder for time-based scheduling

  • Use Inline Create for flexible or self-paced content

  • Surface instances using Dynamic Content Blocks filtered by subpages

  • Avoid embedding content that isn't in your program or courses' page tree inside content blocks if you want progress tracking

  • Always include a join action on the main page of a course or program, and mark complete actions on the instances and other subpages


Helpful resources

Program & Course Calendar Builder:
https://support.movement.so/.../10932507-program-course...


Did this answer your question?