Skip to main content
Training groups let you organize athletes by workout type, ability level, race goal, or any other criteria that suits your coaching structure. Once a group is set up, you can assign training plans to all members at once, monitor the group activity feed, and compare performance on the leaderboard.

Creating a group

1

Go to Groups

Select Groups in the left sidebar.
2

Click Create group

Choose Create group in the top-right corner.
3

Set the group details

Enter a name and description. Choose Public if athletes in your organization can discover and request to join the group, or Private to keep it invite-only.
4

Save

Click Create. The group appears in your groups list and is ready to accept members.

Adding and removing members

Open a group and click Add members. Search for athletes from your organization roster and select the ones you want to add. To remove a member, open their row in the group member list and select Remove from group.

Updating group details

You can change a group’s name, description, or privacy setting at any time.
PUT /api/v1/groups/{group_id}
{
  "name": "Marathon Block — Summer 2026",
  "description": "Updated block for athletes targeting a fall marathon.",
  "privacy": "private"
}
Only include the fields you want to update — omitted fields are left unchanged.

Assigning a training plan to a group

Assigning a plan at the group level enrolls every current group member in that plan at once. Athletes added to the group after assignment are not automatically enrolled and must be assigned individually.
Open the group and go to the Plans tab. Click Assign plan, select the plan from your library, set the start date, and confirm. The plan appears for every group member immediately.
Assigning a plan when creating an invitation or adding an existing user (see Managing Athletes) also links that athlete to the plan automatically.

Group activity feed

The activity feed shows completed runs from all group members in a shared, reverse-chronological stream. You can filter by activity type or date range to focus on a specific workout category or training block.
GET /api/v1/groups/{group_id}/activities?limit=20
Filter by activity type using the sub_type parameter (comma-separated):
GET /api/v1/groups/{group_id}/activities?sub_type=run,trail_run&start_date=2026-04-01&end_date=2026-04-30

Group stats and leaderboard

The group stats endpoint returns aggregated performance data for all members over a selected time window. This powers the leaderboard and trend charts in the Group Dashboard in the web app.
Open the group and select the Overview tab in the Group Dashboard. The weekly overview shows total distance, total activities, and engagement rate for the selected week. Use the date navigation arrows to move between weeks.Switch to the Groups tab for a cross-group comparison view with a configurable date range (last 7, 14, or 30 days, or a custom range).

Deleting a group

Deleting a group removes it from your organization. Athletes who were members are not removed from your organization roster — only the group itself is deleted.
Open the group, click the menu, and select Delete group. Confirm the deletion in the dialog.

Listing all groups

Coaches see all groups belonging to their organization. The list response also includes the total number of active athletes and how many are not yet assigned to any group.
GET /api/v1/groups
The response includes total_athletes and unassigned_count to help you identify athletes not yet placed in a group.