Skip to main content
A group plan is a single training template assigned to many athletes at once. Edit the template, and changes cascade to every member’s calendar.

Who can view and edit group plans

Every coach in your organization can see all of the organization’s group plans. This includes coaches, assistant coaches, and admins. Coaches who don’t manage a plan get read-only access to it. Only these people can edit a group plan:
  • The plan owner
  • The organization’s head coach
  • Coaches assigned to the plan

Create a group

From the Athletes page, open the Groups tab and click Create Group. The group form opens as a dialog. Fill in:
  • Group Name and Group Description — shown to members and on your roster’s group filters.
  • Group cover — a photo shown on the group’s card in the group view. Pick one of eight bundled template photos (Runner, Marathon, Endurance, Half marathon, Trail, Beginner, Strength, Recovery), upload your own image with Upload (images must be under 5 MB), or choose None. Remove cover clears a cover you set earlier.
  • Group Icon and Group Color — set how the group appears across cards and lists. A live Preview shows the result as you pick.
  • Members — select athletes with the member picker described below, or leave it empty and add members later from the group.
Click Create Group to save. Edit a group anytime from Manage Groups — Edit Group opens the same form, and Delete Group removes the group (this cannot be undone and removes every member from the group).

Pick members with the member picker

The member picker in the group form is built for large rosters. It loads your full roster progressively (there is no 200-athlete cap) and only the member list scrolls, so the form controls stay in place.
  • Search — match by name, email, group, or label.
  • Filters — narrow the list by group, label, or status (Active / Pending), or show only Unassigned athletes who aren’t in any group yet. Reset filters clears them all.
  • Select all shown — selects every athlete in the current filtered set, so you can filter to a label and add the whole set in one click. Clear shown and Clear all work the same way in reverse.
  • All / Selected tabs — switch to Selected to review exactly who is in the group before saving. The summary strip shows the running count as selected / total.
When you edit an existing group, the picker shows a diff of your pending changes: rows are marked Add or Remove, the summary reads “N members now, M after update”, and the submit button spells out the change as Update Group (+N / −M) so you can confirm the roster change before it applies. Members who are still enrolled in an active group plan can’t be removed until they leave that plan — see Remove members.

Assign a plan to the group

A group only gets a training plan once you explicitly assign one. From the group, click Assign Plan to open the assignment flow:
  • Program Name and Select Training Plan — name this rollout and pick the template to assign. The template’s structure becomes the group’s shared plan.
  • Start Date — when the plan begins for every member.
  • Set as Primary Plan — shows this plan on each member’s dashboard as their active plan.
  • Lock Future Weeks — hides workout details until you unlock them. Choose Auto-unlock (weeks open on their own — set when the week starts and how many days before to unlock) or Manual only (every week stays locked until you unlock it yourself). This sets the plan’s default; you can still lock or unlock any individual week later — see Lock a week below.
  • Attendance Tracking — toggle Enable Attendance to track attendance for every workout on the plan (you can turn it off for individual workouts afterward from the plan calendar). Optionally set a Default Check-in Location. Three check-in methods are available: auto-detect via GPS when an activity is recorded, QR code scan by the athlete, or manual check-in by the coach. See Attendance tracking for the day-to-day view.
Confirm the assignment to roll the plan out. Unassigned members are shown separately so you can see at a glance who still needs a sub-group — see Sub-groups below.

Draft a group plan with Rex

When you ask Rex in chat to build a full training plan for a group, Rex no longer writes the plan inline. It replies with a Plan Builder hand-off card. Click the card to open Plan Builder pre-scoped to that group, with your original ask carried in as the seed message.

Trigger the hand-off

  • Ask Rex something like “Build an 8-week half marathon plan for the Tuesday squad” from any chat surface (the dock, the full chat, or the chat landing).
  • Rex replies with the Plan Builder hand-off card. Click Open Plan Builder for <group> to jump in.
  • If Rex can’t tell who the plan is for, the card reads Pick an athlete or group and drops you on the Plan Builder picker where you choose the subject.
You can also open Plan Builder directly and it will show the picker so you can choose an athlete for an individual plan or a group for a group plan template.

Group plans in Plan Builder are always templates

Plan Builder works the same way for an athlete or a group, but the save step is different for a group. A group draft is always saved as a Group Plan Template owned by you. Assigning that template to the group is a separate step. The save bar in Plan Builder reflects this:
  • Athlete subject — two buttons: Save as template (store the plan for later reuse) and Save & assign (store the template and immediately assign it to the athlete so it appears on their calendar).
  • Group subject — one button: Save as group template. After saving, use the Assign to group → link on the saved banner to open the group’s assign-plan flow with the new template pre-selected.
The saved banner also links back to the template itself with Open template, so you can jump to the template detail page from Plan Builder.

Draft with Rex from the manual template form

The manual New training plan form has a temporary AI Chat button that opens Plan Builder with the current chat subject pre-set. Use it when you started filling in a template by hand and want to hand the drafting off to Rex instead. If a subject is already selected, the button reads AI Chat · <name>; otherwise it reads AI Chat and Plan Builder shows the subject picker.

Manage the roster

Roster changes are explicit add and remove commands. NexRex never rewrites the whole member list when you change one person, so two coaches editing the same group can’t overwrite each other’s changes.

Add members

Adding members appends them to the existing roster. Duplicate adds are safe: if someone you select is already in the group, NexRex skips them and keeps their current role. Adding the same person twice never creates a duplicate membership.

Remove members

You can remove one member or several at once. NexRex blocks the removal of any member who is still enrolled in an active group plan. The error names the blocking plan: “Remove this member from ‘<plan name>’ before removing them from the Group.” Unassign the member from that plan first, then remove them from the group. When you remove an athlete from several groups at once and only some removals go through, NexRex shows a Removed from some groups notification that reports exactly how many groups succeeded and how many could not be removed. The removals that succeeded stay done; retry only the ones that failed. After every roster command, the member list you see is refreshed from the server, so it always reflects the authoritative roster.

Read assignment results

When you save changes on the Member Assignment tab, NexRex reports one outcome per member instead of a single pass/fail for the whole batch: If everything applies, you see Changes saved. Otherwise:
  • Some changes weren’t saved lists the members whose changes were refused or not attempted. Review them and submit again when ready.
  • Check these changes before retrying lists members with an unknown outcome. NexRex never retries an uncertain change automatically. The view reloads the latest server state; confirm what actually happened, edit the member’s assignment again to unblock it, then resubmit.
After every save attempt, whether it succeeds or not, the roster and plan view refresh to the server’s authoritative state. What you see on screen is what is actually assigned, and pending draft entries are shown on top of it.

Removals finish in the background

Removing a member from a plan takes effect immediately, but clearing their future scheduled workouts continues in the background. After a removal is accepted, NexRex reports one of two follow-up states:
  • Member removal in progress: the member is off the plan and their future workouts are still being cleared. No action is needed; NexRex finishes the cleanup automatically.
  • Member removed; follow-up needed: the member is off the plan, but some future workouts could not be fully cleared. The entry stays in the attention list. Remove the member again to retry the cleanup.
The same applies when a member leaves the plan another way, such as their account being deactivated or deleted. The plan’s audit log records who removed each member and why, including system-initiated removals.

Edits cascade to members

When you change a workout in the group plan, NexRex updates each member’s scheduled session — name, description, target distance, duration, and pace all flow down automatically.
Use sub-groups to assign different paces or volumes within the same squad without building separate plans.

Sub-groups

A sub-group is how you give part of a squad a different pace, distance, or volume without maintaining a second plan. Every member of a group plan belongs to exactly one sub-group at a time, or sits in the Unassigned pool until you place them.

Add a sub-group

From the group plan’s Member Assignment tab, click Add Sub-group:
  • Name — must be unique within the group (e.g. “Group D”, “Sub-4:30”).
  • Color — sets the sub-group’s badge color across the roster and calendar.
  • Copy workouts from — clone an existing sub-group’s workout content into the new one. This carries over each workout’s pace zones as a starting point so you’re not rebuilding the week from scratch — past activities aren’t backfilled. Leave this unset to start from an empty week.
  • Description (optional) — a short note athletes and coaches see, such as “M-Pace 4:30/km”.
After creating a sub-group, adjust its workouts’ pace or duration targets independently — that’s what lets “Sub-4:30” and “Sub-5:30” run the same plan at different paces.
A sub-group’s name can’t be changed after creation, but you can always edit its color and description from Edit sub-group, or drag it to reorder it relative to the others.

Assign members to a sub-group

On the Member Assignment tab, unassigned athletes appear in their own lane. Assign them by:
  • Dragging an athlete card onto the target sub-group, or
  • Using the Assign to… dropdown on the athlete’s row to pick a sub-group directly.
Select multiple athletes to Move to… another sub-group or Remove from plan in bulk. New group members must be assigned to a sub-group before they join the plan — adding someone to the group alone does not enroll them. Changes are staged as a draft until you save. Saving reports one outcome per member rather than a single pass/fail for the whole batch — see Read assignment results below for what each outcome means and what to do about it.

Delete a sub-group

Deleting a sub-group moves its members to Unassigned and removes them from this plan, including their scheduled activities. This can’t be undone, so reassign anyone you want to keep on the plan first.

Set a pace table for the sub-group

A sub-group can carry its own pace table — one set of training paces that governs every workout NexRex schedules for members of that sub-group. When a pace table is set, it overrides each member’s individual training zones for the workouts this sub-group prescribes. When it isn’t, every member trains at their own zones, which is how sub-groups behaved before this feature. Use a pace table when you want the whole sub-group running the same paces — for example a “Sub-4:30” squad you want holding the same Z2 and threshold regardless of what each athlete’s own VDOT would produce. Open Edit sub-group from the Member Assignment tab. The Pace table section starts empty with a short note that members are using their own zones, plus an Add a pace table button.

Seed the table from VDOT

Click Add a pace table and NexRex fills it in from a starting VDOT (default 50). The table has two columns:
  • Pace zones (min/km) — Z1 Easy, Z2 Marathon, Z3 Threshold, Z4 Interval, Z5a Repetition, Z6 Sprint.
  • VDOT distances (target time) — 400 m, 600 m, 800 m, 1000 m, 1200 m, 1600 m, 1 mi, 3 k, 5 k, 10 k, 21 k, 42 k.
Change the VDOT field (30–85) and every cell is recalculated from the server’s Daniels calculator, so the paces match exactly what the backend writes onto scheduled activities. The mode stays on From VDOT while the whole table is calculator-derived.

Hand-edit any cell

Type a value into any cell — pace as m:ss (e.g. 4:30) or h:mm:ss, target time in the same format. When you commit the first hand edit, the table flips to Manual mode. That’s deliberate: a later VDOT change would otherwise recalculate every cell and silently overwrite what you typed. To go back to a fully seeded table, click From VDOT and re-enter a VDOT.

Apply changes to upcoming workouts

Editing the pace table doesn’t touch already-scheduled workouts by default — otherwise a single VDOT bump could rewrite hundreds of activities without warning. To fan the new paces out, tick Apply to upcoming workouts before saving. NexRex then re-prescribes every future unexecuted workout for each member of the sub-group; the hint under the checkbox names how many members a re-prescribe would touch. Past and completed sessions keep the pace they were trained against.

Remove the pace table

Click Remove pace table to clear the override. Members of the sub-group immediately fall back to training at their own zones for future workouts.

Attendance tracking

Once attendance is enabled on a plan (see Assign a plan to the group), the group’s Training Plan tab shows a Class Attendance grid: one row per member, one column per session, with a checked-in fraction (for example “8/10 checked in”) and an attendance Rate per member. Check a member in or out directly from the grid — click a cell to toggle it. Each checked-in cell shows how attendance was recorded: coach (you checked them in manually) or QR scan (the athlete scanned in themselves). GPS auto-detection from a recorded activity checks a member in automatically without any manual action.

Group workspace

A group’s detail page organizes everything about that group into tabs:
  • Overview — group stats: member count, total distance, total activities, and engagement.
  • Group Activities — a feed of recent activities from every member, with filters by activity type.
  • Training Plan — the group’s plan calendar, sub-groups, and attendance grid described above.
  • Members — the full roster with per-member actions, including Remove from group.

Weekly overview and coach reminders

Each week of a group plan has two free-text fields you can fill in from the group’s Training Plan tab:
  • Weekly Overview — a short summary of the week’s focus, shown to every member on that plan.
  • Coach Reminders — logistics or notes for the week (meeting point, weather call, gear reminder) shown alongside the overview.
Both fields save per week, so week 3’s overview doesn’t overwrite week 4’s.

Lock a week

Locking a training week freezes that week’s sessions for every athlete on the group plan. Locked weeks are the coach’s signal that the week is final and athletes should train against it as scheduled. To lock or unlock a week, open the group plan calendar and use the lock control on the week header. This manual, per-week toggle works regardless of the Lock Future Weeks default you chose when assigning the plan — that setting only decides how weeks start out (and whether they auto-unlock); this control always lets you override any single week either way.

What athletes see

  • A locked week shows a lock icon on the athlete’s mobile calendar for that week.
  • Unlocking a week sends the athlete a push notification so they know the week is now live.
  • Locking a week is silent — no user-visible notification is sent.

Mobile calendars update in near real time

When you lock or unlock a week, each affected athlete’s mobile app refreshes its training plan automatically. If the app is in the foreground, the calendar re-renders within seconds. If the app is backgrounded on iOS, the refresh may be delayed until the app is opened again. Athletes no longer need to pull-to-refresh to see the new lock state.