An activity is a record of a completed (or scheduled) workout. Every run you finish, every bike ride you log, every swim you complete — these become activities in Astral. Activities are the primary way the platform tracks your training load over time, and they feed directly into your AI coach’s analysis.
Activity statuses
An activity can be in one of three states:
| Status | Meaning |
|---|
scheduled | A workout from your training plan that is planned for a future date |
completed | A workout that has been finished and logged |
skipped | A scheduled workout that was not completed |
When a training plan is assigned to you, it automatically creates scheduled activities on your calendar. Once you complete a run, the activity transitions to completed — either by syncing automatically from your device or by logging it manually.
Logging activities
Automatic sync
The fastest way to log a run is to connect a fitness integration. After connecting Strava, Garmin, or Apple Health, every recorded workout is imported to Astral automatically:
- Strava — imports after your Strava activity uploads
- Garmin — imports after your Garmin device syncs to the Garmin app
- Apple Health — imports when you open the Astral app on your iPhone
Synced activities carry all the data your device recorded: distance, duration, pace splits, heart rate, elevation, GPS route, and more.
Manual logging
If you run without a device or prefer to enter data yourself, tap + Log Activity on the home screen. You’ll need to provide at minimum:
- Activity name — e.g., “Morning 5K”
- Activity type —
RUNNING, CYCLING, or SWIMMING
Optionally, you can add:
- Total distance (in meters)
- Total duration (in seconds)
- Start time
- Perceived effort and a personal review
Activity data fields
Each activity record contains a summary object with your performance data:
| Field | Description |
|---|
activity_type | RUNNING, CYCLING, or SWIMMING |
distance_in_meters | Total distance covered |
duration_in_seconds | Total elapsed time |
start_time_in_seconds | Unix timestamp for the start of the activity |
pace | Average pace (seconds per kilometer or mile, depending on your unit preference) |
average_heart_rate | Average BPM during the activity |
calories | Estimated calories burned |
For synced activities, additional fields may be present: GPS map data, per-kilometer splits, heart rate zone time distributions, and cadence.
Data source
Every activity records where it came from:
| Value | Source |
|---|
manual | Entered by hand in the app |
strava | Synced from Strava |
garmin | Synced from Garmin Connect |
apple_watch | Synced from Apple Health |
AI summaries
After you complete a run of 3 km or more, Astral’s AI coach automatically generates a short summary of your performance. The summary appears at the top of the activity detail screen.
A typical summary might note:
- Whether you hit your target pace zones
- How your heart rate compared to your typical response at that effort level
- Any trends compared to your recent training history
Summaries are generated in your preferred language (English, Traditional Chinese, or Japanese). Your AI coach — Rex or Joy, depending on your persona preference — writes in a tone that matches their character.
Summaries are generated on-demand the first time you open an activity after completing it. The first load may take a few seconds while the summary is created. Subsequent opens are instant.
How activities connect to training plans
When a training plan is assigned to you, each scheduled workout creates a corresponding scheduled activity. When you complete that workout, the activity record is matched to the plan entry and marked completed. This connection lets your coach see at a glance which workouts you did and which you skipped.
The connection is stored via a plan_instance_id on each activity. If you modify the workout details (e.g., update the name or description) on an activity that belongs to a plan, the change is reflected in the plan instance too, keeping your training record consistent.
Activities outside a plan
If you log a run that wasn’t scheduled by a plan — a spontaneous extra session or a race — it is recorded as a standalone activity. These still receive AI summaries and count toward your weekly training load, but they are not tied to any plan instance.
Both you and your coach can leave comments on any activity. Comments support three visibility levels:
| Privacy | Who can see it |
|---|
private | Only you |
coach | You and your coach |
public | Everyone in your training group |
Your coach often uses comments to leave feedback on a completed workout, ask follow-up questions, or add encouragement. You’ll receive a notification when a coach leaves a comment on your activity.
Viewing your activity history
In the app, the Activities tab shows all your past workouts with filters for date range, activity type, and status. Each entry shows the activity name, distance, duration, and average pace at a glance. Tap any entry to see the full detail view including the AI summary, splits, pace zones, and any comments.
Coaches can view any athlete’s activity history from the coach console under Member Profile → Activities, subject to the athlete’s privacy settings.