WorkoutKit: pre-roll alert / lead time before IntervalStep transition (FB22708659)

Hi all,

I'm building a coaching app for runners on top of WorkoutKit and would like to confirm a missing API — or learn that I overlooked something.

The gap

IntervalStep transitions deliver a haptic at T0 of the next step. The available alerts (HeartRateRangeAlert, SpeedRangeAlert, PaceRangeAlert, PowerRangeAlert, CadenceRangeAlert) are reactive — they activate when the measured value leaves the target range, not ahead of a planned step.

There is no API for a "pre-roll" haptic at, say, T-15s before a high- effort step. On watchOS today, the only signal arrives exactly at step start.

What I checked

  • The WorkoutAlert protocol and concrete types — all metric-driven, no scheduling primitive.
  • IntervalStep initializer — (.work, step: WorkoutStep). No leadTime, warning, countdown, or prepareDuration parameter.
  • CustomWorkout — no per-step pre-roll knob.
  • WorkoutScheduler and the rest of the surface in iOS/watchOS 26.4 SDK.

If I missed something obvious, please point me at it.

Filed with Apple

Feedback ID: FB22708659

Has anyone here found a cleaner workaround, or seen any signal from the WorkoutKit team about pre-roll cues being on the roadmap?

Thanks!

Just curious, does inserting into your workout plan a workout step (WorkoutStep) or an interval step (IntervalStep) with a time goal and an alert work for you? That seems to be the best I can see based on what the framework currently provides.

Best,
——
Ziqiao Chen
 Worldwide Developer Relations.

Hi, thanks for the suggestion. We did consider a synthetic step inserted before the real interval step, but it does not quite fit the use case.

WorkoutKit surfaces every step in the watch preview, mid-workout indicator, and HealthKit history. A synthetic 15 second step appears as a real step in all three, so the runner sees four steps in their interval (recovery, prep, work, recovery) instead of the two they actually performed. The recorded summary later does not reflect the session structure.

The step transition haptic means this step starts now. A pre-roll haptic should mean the next step starts soon. Using the transition haptic for both makes the two cues hard to tell apart.

Thanks for sharing your the extra info, and thanks for filing the feedback report (FB22708659).

Best,
——
Ziqiao Chen
 Worldwide Developer Relations.

WorkoutKit: pre-roll alert / lead time before IntervalStep transition (FB22708659)
 
 
Q