analyze_workout_execution
Compare a planned workout against actual activity intervals—or evaluate detected intervals without a plan—to report target vs actual time, intensity, HR, cadence, fade, and deviations.
Instructions
Use to check how a planned workout was executed, or without a plan to evaluate each detected interval of one activity.
The plan comes from planned_workout_doc, event_id or the event paired with the activity. Planned steps (repeats expanded) are aligned with the intervals by order, duration or distance and target intensity, never by names; laps that split one effort are merged. Per step: planned vs actual moving time, target (W, bpm or pace) vs actual, time in target, HR response, cadence, fade, Pw:HR drift (work steps of 10 min or more) and custom stream changes, with deviation notes and an alignment confidence. Time past a step's plan and training after the plan are reported apart. Unpaired: up to three candidate events, nothing is paired. Read-only. Method: intervals://methods/execution (get_guide).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | No | Planned workout event to compare against; default the event paired with the activity | |
| activity_id | Yes | Activity id, e.g. i123456789 | |
| detail_level | No | compact = one line per step plus summary; standard; full adds counter and other-sport custom streams | standard |
| output_format | No | json = machine-readable, all fields | text |
| suggest_matches | No | Unpaired activity without plan: list candidate events of the same days (read-only) | |
| pause_tolerance_s | No | Recording pause per step that is not flagged, seconds; default 60 | |
| start_tolerance_s | No | Flag steps starting further than this from the plan timeline, seconds; default 120 | |
| planned_workout_doc | No | Workout document {"steps": [...]} (format of add_or_update_event), e.g. when the event was deleted | |
| duration_tolerance_pct | No | Step length deviation in % of the step (at least 30 s) before it is split or flagged; default 10 |