Start, end, and manage fitness routines.


Users can start, pause, resume, cancel, or end workouts with Siri. Your Intents app extension directs any workout-related requests to your app, which manages the actual workouts. SiriKit automatically asks users to unlock their device, as needed, before launching your app.

You can use an Intents UI app extension to provide a custom interface for workout-related intents.

Figure 1

Starting a workout from Siri

Starting a workout from Siri


First Steps

Handling Workout Requests with SiriKit

Add an Intent Extension to your app to handle requests to control workouts with Siri.

Start a Workout

protocol INStartWorkoutIntentHandling

An interface that handles requests to start a workout.

class INStartWorkoutIntent

A request to start a workout for the user.

class INStartWorkoutIntentResponse

Your app’s response to a start workout intent.

Pause a Workout

protocol INPauseWorkoutIntentHandling

An interface that handles requests to pause a workout.

class INPauseWorkoutIntent

A request to pause the current workout that also stops the gathering of workout data.

class INPauseWorkoutIntentResponse

Your app’s response to a pause workout intent.

Resume a Workout

protocol INResumeWorkoutIntentHandling

The interface that handles requests to resume a workout.

class INResumeWorkoutIntent

A request to resume a paused workout.

class INResumeWorkoutIntentResponse

Your app’s response to a resume workout intent.

Cancel a Workout

protocol INCancelWorkoutIntentHandling

The interface that handles requests to cancel a workout.

class INCancelWorkoutIntent

A request to cancel an active workout.

class INCancelWorkoutIntentResponse

Your app’s response to a cancel workout intent.

End a Workout

protocol INEndWorkoutIntentHandling

An interface that handles requests to complete a workout.

class INEndWorkoutIntent

A request to end the current workout that also validates workout parameters and saves the results.

class INEndWorkoutIntentResponse

Your app’s response to an end workout intent.

Workout Data Objects

struct INWorkoutNameIdentifier

Constants that indicate the type of workout.

enum INWorkoutGoalUnitType

Describes the unit of measure with constants for a workout.

enum INWorkoutLocationType

Describes the location of a workout.

Resolution Results

class INWorkoutGoalUnitTypeResolutionResult

A resolution result for the units of a workout goal.

class INWorkoutLocationTypeResolutionResult

A resolution result for the location type where the workout occurs.

See Also

Siri Domains


Send messages and search the user’s received messages.

Lists and Notes

Create and manage notes and to-do list items.


Send payments between users or pay bills.

VoIP Calling

Initiate calls and search the user’s call history.

Visual Codes

Convey contact and payment information using Quick Response (QR) codes.


Search for and display photos.

Ride Booking

Book rides and report their status.

Car Commands

Manage vehicle door locks and get the vehicle’s status.


Interact with a vehicle’s CarPlay system.

Restaurant Reservations

Create and manage restaurant reservations with help from the Maps app.


Listen and control audio through Siri Intents or listen and watch media content from your app with shortcuts.