Training
Assistant
Completed workouts in STAS
STAS makes your completed workouts available to ChatGPT and Claude. Workouts arrive through Intervals.icu, STAS turns them into clear training context, and ChatGPT or Claude can review what actually happened.
Each completed activity becomes a workout record STAS can use: key metrics, intervals, your report, and short history summaries. ChatGPT and Claude get the training facts they need instead of raw Intervals.icu data.
What STAS saves for each workout
In STAS, each completed workout is saved with the facts that matter: what you did, when you did it, how long it lasted, how hard it was, and what the data shows.
A record of a completed activity
STAS receives completed activities from Intervals.icu and saves them as workout records. These records support the website, reports, current condition, strategy reviews, and chats with ChatGPT or Claude.
A planned workout says what should happen. A completed workout says what actually happened. STAS compares those two only after the real activity arrives.
Where you see it
Open workout history from your profile. Each workout opens a detail page with metrics, intervals, zones, wellness context, and the report editor.
How workout data gets into STAS
The path is simple: your watch or training platform sends the workout to Intervals.icu, and STAS prepares it for your profile, Telegram, ChatGPT, and Claude.
Intervals.icu is the source
Your watch or platform uploads the completed activity to Intervals.icu. STAS reads that activity from Intervals.icu and saves it as a prepared workout record.
STAS is built around Intervals.icu as the source, not a separate Strava import.
Where to view a workout and write a report
The same completed activity stays visible in several places, but each place has a different role.
Watch app and Intervals.icu
In your watch app and in Intervals.icu, you see the source activity data: route, time, distance, heart rate, pace, power, zones, and any other fields your device or platform provided.
Profile and workout history in STAS
In STAS, the workout appears in your profile and workout history as a prepared workout card: session details, intervals and metrics when available, plus a field or button for your post-workout report.
Quick reports through Telegram
After STAS processes the workout, it sends an automatic Telegram message. From that message, you can quickly write a report without opening the detailed web page.
That report is saved to the STAS workout and to the Intervals.icu activity description. Telegram does not replace the workout page; it is a fast way to add your comment right after the session.
What STAS does with a workout
One Intervals.icu activity can include metrics, laps, zones, detailed values, and notes. STAS reads those details and turns them into a clear training record.
Before ChatGPT or Claude sees the workout
STAS keeps the important fields, cleans up noisy details, normalizes the metrics, and keeps the original Intervals activity as the source behind the workout record.
STAS also adds coaching context. It does not just store numbers; it helps explain what those numbers mean for training.
What STAS adds for coaching
This context helps ChatGPT and Claude understand the workout as a training session, not just a list of values.
- session type: running sessions are labeled Easy, Threshold, Interval, Long, Recovery, or Unclassified when there is not enough data; cycling, swimming, and strength work usually keep the sport activity type;
- key parts of the session: for example, 4 x 8 minutes at threshold or 5 x 1000 m, with pace, heart rate, power, and recovery when the data is available;
- splits and zones: kilometer splits by pace, time in heart rate zones, and power zones for cycling;
- athlete report: what actually happened, how the load felt, and why the workout differed from the plan;
- link to the original Intervals.icu activity: STAS keeps the source behind the record, but shows the prepared record instead of the full raw data set.
Why this preparation step matters
This is the point of STAS: turn the activity into clear training facts before you ask for analysis, so ChatGPT or Claude can focus on the workout instead of decoding raw data.
- save the useful workout fields;
- clean and normalize values for comparison;
- mark meaningful work segments and intervals when the data supports it;
- attach the user report to the same workout;
- build short summaries for weeks, months, trends, load, and key sessions.
What is inside a workout record
A workout record has general session data and additional sport details. The exact details differ for running, cycling, swimming, strength, and other activities because devices and Intervals.icu provide different fields.
What is in the workout record
A workout record includes:
- date, activity name, activity type, and session type;
- source activity from Intervals.icu and the STAS workout id;
- distance, moving time, pace or speed;
- average heart rate, maximum heart rate, load, Fitness, Fatigue, and Form;
- elevation gain and intensity if the source provided those values;
- the user report saved with the workout;
- kilometer splits and work segments if the activity details contain enough data to build them;
- wellness context for the day if Intervals.icu has it.
Additional sport data
For different activity types, the record can include sport-specific details:
- Running: pace, distance, heart rate, splits, intervals, cadence or grade-adjusted pace if the source provided those fields; VDOT and pace evidence only when supported by data.
- Cycling: speed plus power fields such as average power, normalized power, FTP, cadence, intensity factor, and power zones if the source provided those fields.
- Swimming: distance, time, swim pace, intervals, and swim-specific details if the source provided those fields.
- Strength and other activities: STAS stores the useful fields Intervals.icu provides and does not invent missing metrics.
History built from workouts
STAS builds recent-workout previews, 26-week history, 4- and 12-week summaries, monthly and quarterly summaries, sport mix, load, consistency, and key sessions.
This is separate from one workout record. STAS adds it alongside the workout when ChatGPT or Claude needs to understand not only what happened in this session, but what it means within the last weeks and months.
Technical example: what ChatGPT or Claude receives
This is not the internal Intervals.icu export. It is a simplified example of the prepared workout record STAS makes available to ChatGPT and Claude.
Example workout record
The response contains the id, date, activity type, session type, metrics, zones, splits, athlete report, and sport-specific fields. When a request uses full=1, STAS also includes intervals.
{
"id": "trn_2026_04_06_run_threshold",
"date": "2026-04-06T07:12:00.000Z",
"workoutType": "Run",
"sessionType": "Threshold",
"activityName": "Morning threshold run",
"distance": 12.4,
"movingTime": 3660,
"pace": 4.92,
"avgHr": 151,
"maxHr": 174,
"fitness": 52.1,
"fatigue": 61.4,
"form": -9.3,
"load": 84,
"intensity": "moderate",
"elevationGain": 86,
"hrZoneTimes": [
320,
1180,
1470,
610,
80
],
"splitsKm": [
{
"km": 1,
"pace": "5:10/km"
},
{
"km": 2,
"pace": "5:05/km"
}
],
"intervalSummary": {
"work": "4 x 8 min",
"recovery": "3 min jog"
},
"userReport": "Completed as planned. Last two reps felt hard but controlled.",
"sportMetrics": {
"gradedPace": 4.86,
"cadence": 176,
"verticalOscillation": 8.4
},
"intervals": [
{
"name": "Work 1",
"moving_time": 480,
"distance": 1640,
"avg_hr": 164
},
{
"name": "Work 2",
"moving_time": 480,
"distance": 1660,
"avg_hr": 168
}
]
}Different sports, different extra fields
The base record stays the same, but the extra details depend on the activity type: running has one set of fields, cycling adds power and FTP, swimming has its own details, and strength training may have fewer sport-specific fields.
{
"Run": {
"workoutType": "Run",
"sessionType": "Interval",
"sportMetrics": {
"gradedPace": 4.18,
"cadence": 180,
"verticalOscillation": 8.1
}
},
"Ride": {
"workoutType": "Ride",
"sessionType": "Ride",
"sportMetrics": {
"avgWatts": 188,
"normalizedPower": 215,
"ftp": 260,
"intensityFactor": 0.83,
"tss": 96,
"powerZoneTimes": [
780,
2200,
1800,
900,
240,
0,
0
],
"cadence": 84,
"decoupling": 3.2
}
},
"Swim": {
"workoutType": "Swim",
"sessionType": "Swim",
"pace": 1.82,
"sportMetrics": {
"swimCadenceSpm": 31
}
},
"WeightTraining": {
"workoutType": "WeightTraining",
"sessionType": "WeightTraining",
"movingTime": 2700,
"load": 31,
"sportMetrics": null
}
}How ChatGPT and Claude request workouts
In ChatGPT, this is a request to the STAS Actions endpoint. A workout review usually uses a date window and full=1 when detailed intervals are needed.
GET /trainings?oldest=2026-04-01&newest=2026-04-08&limit=30&full=1In Claude, the same request goes through the get_trainings tool in the STAS connector.
{
"name": "get_trainings",
"arguments": {
"oldest": "2026-04-01",
"newest": "2026-04-08",
"limit": 30,
"full": true
}
}Rules for ChatGPT and Claude
STAS instructions tell ChatGPT and Claude to work from fresh data, not from chat memory alone.
- read the athlete summary first to understand profile, goals, rules, condition, and compact history;
- for specific workout analysis, load full workouts directly because the recent-workout preview is only a short overview;
- for detailed analysis and exports, use full=1 to include intervals, and split the date window if the response is too large;
- compare plan versus fact only after reading planned events for the same period.
How ChatGPT and Claude use workouts
ChatGPT or Claude receives the prepared workout with the context it needs: metrics, key session parts, the athlete report, recovery data for the day, and the training history around the session.
How ChatGPT or Claude reviews a completed workout
When you ask for a workout review, ChatGPT or Claude can look at the facts of that session and compare them with context:
- what was actually done: duration, distance, activity type, and session type;
- how the effort played out: pace or speed, heart rate, power, zones, and training load;
- which parts mattered most: intervals, work segments, recovery, and splits;
- what the athlete added in the report and what that day’s recovery data shows;
- how this workout fits the plan, current condition, and recent history.
Prepared context, not unprocessed data
ChatGPT or Claude do not need to decode every raw activity detail for every reply. STAS has already prepared the useful training context.
A regular message in ChatGPT or Claude is not saved as a workout report. Reports are saved through STAS features such as Telegram or the workout page.
Limits
STAS depends on the quality of the source data.
Important boundaries
- Watch, GPS, heart rate, and power data can be wrong or incomplete.
- Sport-specific fields are filled only from data that arrived in the source activity.
- Intervals, zones, wellness, and power are not guaranteed for every workout.
- STAS does not diagnose injuries or replace a doctor.
- STAS does not promise to manually repair every activity record.
- Chat messages do not automatically become saved workout reports.
FAQ
Short answers about completed workouts in STAS.
Why are workouts so important in STAS?
They are the facts STAS works from. Completed workouts show what actually happened, so ChatGPT or Claude can review training and help plan from real sessions, not guesses.
Does STAS send raw Intervals.icu data to ChatGPT or Claude?
No. STAS receives full activity data, then saves and prepares a workout record. ChatGPT or Claude receives the prepared context: useful fields, intervals, report, metrics, and history summaries.
What is always part of the workout record?
The record stores the date, name, activity type, session type, distance, time, pace or speed, heart rate, load, Fitness/Fatigue/Form, and your report. Some values stay empty if the source did not provide them.
What depends on sport or device data?
Power, cadence, power zones, swim-specific fields, wellness, intervals, and some evidence fields depend on what Intervals.icu received from the device or platform.
How does STAS use history?
STAS builds compact summaries for recent workouts, weeks, months, trends, load, sport mix, and key sessions. That gives ChatGPT or Claude context beyond one activity.
Can STAS diagnose an injury from a workout?
No. STAS can help notice training signals and missing context, but it does not make medical diagnoses and does not replace a qualified professional.
What to read next
Workouts connect to reports, condition, strategy, and the main help page.
Useful nearby pages
Open workout history
Review completed workouts, check intervals, add reports, and give ChatGPT or Claude better context.