Skip to main content

Create a New Program

This is where you create a workout program for one or more classes. Think of it like writing a training plan for the day — you pick which classes it applies to, then build out the workouts (exercises, time caps, coach notes, and more). Once you sa...

Written by Ronny Christensen
Updated over 3 weeks ago

What This Screen Does

This is where you create a workout program for one or more classes. Think of it like writing a training plan for the day — you pick which classes it applies to, then build out the workouts (exercises, time caps, coach notes, and more). Once you save, the program is attached to the selected classes and coaches and members can see what is planned.


How to Get There

  1. Open the dashboard.

  2. In the left-hand menu, click Program.

  3. Click the + New Program button in the top-right corner.

  4. You are now on the New Program screen.

Tip: You can also land here by clicking Add Program from a class detail page. When you do, the class will be pre-selected for you automatically.


Step-by-Step Guide

1. Select Classes

  • In the Details card you will see a Classes dropdown.

  • Click the dropdown to see a list of classes scheduled for the current day.

  • Each option shows the class name and its start time (e.g. “CrossFit (Feb 9, 2026 09:00)”).

  • Check one or more classes that this program should be assigned to.

  • You must select at least one class.

Field

Required

What to Enter

Classes

Yes

Pick one or more classes from the dropdown. These are the classes the program will be linked to.

Note: If you arrived from a specific class page (via a clazzId link), that class will already be selected for you. You can still add more classes.

2. Enter External Programming Track (optional)

  • This field only appears if your chain has an external programming access key configured.

  • If you follow an external programming provider, type the track name here (e.g. “Competition”, “Fitness”).

  • This helps map the program to the correct track from your external provider.

Field

Required

What to Enter

External Programming Track

No

The name of the external programming track, if applicable.

3. Build the Workouts

The workout builder is the main part of the screen. This is where you design what athletes will do in class. Each program starts with one workout section, and you can add more.

a. Choose a Workout Type

  • Open the Workout Type dropdown in the workout section.

  • Pick the type that matches what you are programming (e.g. “For Time”, “AMRAP”, “EMOM”, “Strength”).

  • This tells athletes what format the workout follows.

Field

Required

What to Enter

Workout Type

No

Select the style of workout from the list.

b. Set a Workout Title

  • Each workout has a Title field.

  • By default it is set to “Workout #1”, “Workout #2”, etc.

  • You can rename it to something more descriptive (e.g. “Warm-Up”, “Metcon”, “Cool Down”).

Field

Required

What to Enter

Workout Title

No

A short name for this workout section.

c. Write the Workout Text

  • Use the Text field to describe the workout.

  • Include exercises, reps, sets, weights, or any other instructions athletes need.

Field

Required

What to Enter

Workout Text

No

The full workout description — exercises, reps, rounds, etc.

d. Set a Time Cap (optional)

  • If the workout has a time limit, set the Time Cap in minutes and seconds.

  • Leave it blank if there is no time limit.

Field

Required

What to Enter

Time Cap (minutes)

No

Number of minutes for the time cap.

Time Cap (seconds)

No

Number of seconds for the time cap.

e. Use a Workout Template (optional)

  • If you have saved workout templates, you can pick one from the Workout Templates list.

  • Selecting a template pre-fills the workout fields so you do not have to type everything from scratch.

f. Add More Workouts

  • Click the button to add another workout section if your program has multiple parts (e.g. a strength piece followed by a conditioning piece).

  • Each new workout gets its own type, title, text, and time cap.

4. Fill In Additional Program Fields (optional)

These fields sit alongside the workout builder and give you space for extra context.

Field

Required

What to Enter

Timeline

No

A rough schedule for the class (e.g. “0-10 min warm-up, 10-30 min workout, 30-40 min cool down”).

Equipment

No

List the equipment athletes need to have ready (e.g. “Barbell, jump rope, pull-up bar”).

External References

No

Links or references to videos, articles, or other resources related to the program.

Coaches Notes

No

Private notes for coaches — tips on scaling, common faults to watch for, or class management notes.

5. Save

  • When you are happy with the program, click the Create button at the bottom-right of the screen.

  • The system will:

    1. Validate your inputs (at least one class must be selected).

    2. Send the program to the server.

    3. Navigate you back to the previous page.

  • You will see a green “Create success!” notification at the bottom of the screen.


What Happens Behind the Scenes

You click "Create"
        |
        v
Form validates all fields (Yup schema)
        |
        v
Program data is assembled (workouts, class IDs, notes, etc.)
        |
        v
API call: ProgramsService.create({ body: programData })
        |
        v
Server creates the program and links it to the selected classes
        |
        v
Success notification "Create success!" appears
        |
        v
You are navigated back to the previous page


Troubleshooting

“I cannot see any classes in the dropdown”

  • The class list is loaded based on the current date. If there are no classes scheduled for today, the dropdown will be empty.

  • Make sure classes have been created for today in the Classes section before trying to create a program.

  • If you expect classes to be there but the list is empty, try refreshing the page — the data may not have loaded yet.

“The Create button does nothing when I click it”

  • You must select at least one class. The form will not submit without it.

  • Look for red error messages below the Classes dropdown — they tell you what needs to be fixed.

  • If the button shows a loading spinner, the form is submitting. Wait a moment for it to finish.

“I do not see the External Programming Track field”

  • This field only appears if your chain has a program access key configured in the chain settings.

  • If you do not use an external programming provider, you will not see this field and you do not need it.

  • Contact your administrator if you believe it should be enabled.

“I selected a class but it disappeared from the dropdown”

  • Make sure you are not accidentally deselecting it. The dropdown uses checkboxes — clicking an already-checked class will uncheck it.

  • If the class list refreshed and your selection vanished, the classes may have been updated by another user. Re-select the class and try again.

“My workout template did not fill in the fields”

  • Confirm that you selected a template from the list and not just browsed through them.

  • If the template appears empty, it may have been saved without workout content. Check the template in the Workout Templates section.

  • Try selecting a different template to see if the issue is specific to one template.

“I got an error after clicking Create”

  • A red error notification will appear. Read the message — it usually explains the problem.

  • Common causes: network timeout, server error, or a required field that was missed.

  • Try again after a few seconds. If the error persists, contact your administrator with the error message.

“I arrived from a class page but the class is not pre-selected”

  • The system reads the class ID from the URL. If the URL does not contain the clazzId parameter, no class will be pre-selected.

  • Try navigating back to the class detail page and clicking the Add Program link again.

  • If the class still does not load, the class may have been deleted or the ID may be invalid.

“I want to assign the program to a class on a different date”

  • The class dropdown only shows classes for the current date (or the date passed in the URL).

  • To create a program for a different day, navigate to that day’s schedule first and create the program from there.

  • You can also edit the program later and reassign it to different classes.

Did this answer your question?