AppIntent, StartWorkoutIntent, and Siri

I'm a bit confused as to what we're supposed to be doing to support starting a workout using Siri in iOS/watchOS 26. On one hand, I see a big push to move towards App Intents and shortcuts rather than SiriKit. On the other hand, I see that some of the things I would expect to work with App Intents well... don't work. BUT - I'm also not sure it isn't just developer error on my part.

Here are some assertions that I'm hoping someone more skilled and knowledgable can correct me on:

  • Currently the StartWorkoutIntent only serves the Action button on the Watch Ultra. It cannot be used to register Shortcuts, nor does Siri respond to it.
  • I can use objects inherited from AppIntent to create shortcuts, but this requires an additional permission to run a shortcut if a user starts a workout with Siri.
  • AppIntent shortcuts requires the user to say "Start a <type> workout in <MyApp>" - if the user leaves out the "in <MyApp>" part, Siri will not prompt the user to select my app.
  • If I want to allow the user to simply say "Start a Workout" and have Siri prompt the user for input as to which app it should use, I must currently use the older SiriKit to do so.

Are these assertions correct - or am I just implementing something incorrectly?

Using the latest Xcode 26 beta for what it is worth.

Answered by DTS Engineer in 855948022

BUT - I'm also not sure it isn't just developer error on my part.

As top-level advice, take a look at the Trails sample app, as it does implement the App Intents StartWorkoutIntent and related APIs, so that you have a reference implementation to consult for what is possible on iOS and watchOS.

Currently the StartWorkoutIntent only serves the Action button on the Watch Ultra. It cannot be used to register Shortcuts, nor does Siri respond to it.

StartWorkoutIntent is available on iOS, and the sample above demonstrates that. As to using it with Siri, the sample is configured with that intent as an App Shortcut, so it is available through Siri.

I can use objects inherited from AppIntent to create shortcuts, but this requires an additional permission to run a shortcut if a user starts a workout with Siri.

Depending on a variety of factors controller by the system, a customer can sometimes be prompted for permission to run an intent. That is broadly true, and not specific to anything about workout intents or something that you can influence through the API.

AppIntent shortcuts requires the user to say "Start a <type> workout in <MyApp>" - if the user leaves out the "in <MyApp>" part, Siri will not prompt the user to select my app.

If I want to allow the user to simply say "Start a Workout" and have Siri prompt the user for input as to which app it should use, I must currently use the older SiriKit to do so.

Both App Intents and SiriKit require the app's name in the invocation phrase. It seems like you're pointing out something differs in how the system handles when the app name is left out across the different intent frameworks, but that's not something you can control through API. If you want help educating a customer about the phrasing to use with App Intents so that the app name is included, you can take a look at SiriTipView (shown in the sample) or its UIKit equivalent.

— Ed Ford,  DTS Engineer

Accepted Answer

BUT - I'm also not sure it isn't just developer error on my part.

As top-level advice, take a look at the Trails sample app, as it does implement the App Intents StartWorkoutIntent and related APIs, so that you have a reference implementation to consult for what is possible on iOS and watchOS.

Currently the StartWorkoutIntent only serves the Action button on the Watch Ultra. It cannot be used to register Shortcuts, nor does Siri respond to it.

StartWorkoutIntent is available on iOS, and the sample above demonstrates that. As to using it with Siri, the sample is configured with that intent as an App Shortcut, so it is available through Siri.

I can use objects inherited from AppIntent to create shortcuts, but this requires an additional permission to run a shortcut if a user starts a workout with Siri.

Depending on a variety of factors controller by the system, a customer can sometimes be prompted for permission to run an intent. That is broadly true, and not specific to anything about workout intents or something that you can influence through the API.

AppIntent shortcuts requires the user to say "Start a <type> workout in <MyApp>" - if the user leaves out the "in <MyApp>" part, Siri will not prompt the user to select my app.

If I want to allow the user to simply say "Start a Workout" and have Siri prompt the user for input as to which app it should use, I must currently use the older SiriKit to do so.

Both App Intents and SiriKit require the app's name in the invocation phrase. It seems like you're pointing out something differs in how the system handles when the app name is left out across the different intent frameworks, but that's not something you can control through API. If you want help educating a customer about the phrasing to use with App Intents so that the app name is included, you can take a look at SiriTipView (shown in the sample) or its UIKit equivalent.

— Ed Ford,  DTS Engineer

AppIntent, StartWorkoutIntent, and Siri
 
 
Q