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:
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:
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:
Add a Dynamic Content Block to the page where you want them to appear
Set the filter to Subpages
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
How to Create a Fitness Program:
https://support.movement.so/en/articles/12635188-how-to-create-a-fitness-program
Inline Create:
https://support.movement.so/.../12379661-inline-create
Program & Course Calendar Builder:
https://support.movement.so/.../10932507-program-course...




