Skip to main content
A training plan in Astral is a multi-week schedule that tells an athlete exactly what to run (or bike, or swim) each day. Plans are created by coaches or generated by Astral’s AI, then assigned to individual athletes or entire groups. Once assigned, a plan’s workouts appear day-by-day on the athlete’s home screen.

Plan structure

Every training plan is organized into a hierarchy:
Training Plan
└── Weeks (1 to N)
    └── Days (Monday – Sunday)
        └── Workouts (1 per day, or Rest)
            └── Blocks (warm-up, main set, cool-down, intervals)

Weeks and days

A plan runs for a set number of weeks (duration_in_weeks). Within each week, the coach sets a preferred day pattern — for example, quality sessions on Tuesday and Thursday, long run on Saturday, rest on Monday, Wednesday, Friday, and Sunday. The AI generator respects this day preference when it schedules workouts.

Workouts

Each scheduled day contains one workout. A workout has:
  • Name — e.g., “Easy 10k” or “Lactate Threshold Intervals”
  • Typerun, bike, swim, strength, walk, or hike
  • Sub-type — e.g., easy-run, tempo-run, interval-run, long-run
  • Target distance (in meters) and/or target duration (in seconds)
  • Content blocks — the step-by-step instructions

Content blocks

Content blocks break a workout into its phases. Each block defines:
FieldDescription
typePhase type: warm-up, run, interval, recovery-run, cool-down
block_distance_in_metersTarget distance for this phase
block_duration_in_secondsTarget duration for this phase
block_pacePace zone: z1 (easy) through z6 (sprint)
block_length_targetWhether the block is governed by distance or duration
block_intensity_targetWhether the block targets pace, heartrate, or power
block_repeatHow many times to repeat (for interval blocks)
For interval workouts, blocks nest: a parent interval block contains child run and recovery-run blocks, each with their own pace and distance.

Training levels

Every plan is tagged with a difficulty level that reflects the expected weekly mileage and intensity:
LevelInternal valueWho it suits
BasicbasicNew runners or those returning after a break; lower mileage, mostly easy-paced runs
IntermediateintermediateRunners with a consistent base of 3–4 days per week; introduces tempo and threshold work
AdvancedadvancedCompetitive runners with high weekly volume; includes VO2max intervals and race-specific workouts
Use the VDOT calculator (Training → Calculate VDOT) to get a precise fitness estimate from a recent race result. Astral uses your VDOT to recommend the right level and automatically sets your pace zones (z1–z6) for each block.

Plan types

Plans are categorized by primary sport:
  • run — Road and trail running
  • bike — Cycling
  • swim — Swimming
  • strength — Gym-based strength sessions
  • custom — Mixed or sport-agnostic plans

AI-generated vs. manually created plans

AI-generated plans

When a coach clicks Generate with AI, Astral’s coaching engine builds a complete plan from scratch based on:
  • The athlete’s goal event (race distance and date)
  • The athlete’s current fitness level (VDOT score)
  • The desired plan duration and preferred training days
The AI distributes the workouts across weeks using periodization principles — building mileage for several weeks, then inserting a recovery week, then building again toward peak fitness before a taper. Every workout comes with structured content blocks and appropriate pace zones already set. You can edit any AI-generated workout in the plan editor before assigning it. Changes you make to a workout do not affect the underlying workout template in the library.

Manually created plans

Coaches can also build plans entirely by hand. From the plan editor, you drag workouts from your organization’s Workout Library into each day of the calendar. You can reorder weeks, copy entire weeks, and adjust individual workout blocks inline. Manual plans are useful when:
  • You want fine-grained control over every session
  • You’re adapting an existing paper-based plan
  • You’re creating a plan for an athlete with specific constraints (injury history, limited available days)
Manually created plans and AI-generated plans behave identically once assigned to an athlete. The athlete cannot see whether a plan was AI-generated or built manually.

How plans are assigned

A plan template lives in the coach’s library until it is assigned. Assignment creates a plan instance — a personal copy of the plan for a specific athlete, starting on a specific date. When you assign a plan:
  1. Select the plan template
  2. Choose the athlete (or group)
  3. Set a start date
  4. Confirm
Astral schedules all workouts from the start date forward, placing each workout on the correct day of the week according to the plan’s day preferences. The athlete’s calendar fills in immediately.

Plan status

A plan instance has a lifecycle:
StatusMeaning
activeThe plan is running; workouts are being scheduled
pausedThe plan is temporarily paused; no new workouts appear
completedThe plan has finished (all weeks elapsed)
cancelledThe plan was stopped before completion
Coaches can pause, resume, or cancel a plan at any time from the athlete’s profile page.

Updating an assigned plan

Changes made to a plan template after it has been assigned do not automatically propagate to athletes already on that plan. Each athlete has their own plan instance. To update an athlete’s plan, open their instance directly and edit the workouts there. This protects athletes from unexpected changes mid-training cycle.