<!--
{
  "availability" : [
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/StartDiveIntent",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "App Intents"
    ],
    "preciseIdentifier" : "s:10AppIntents15StartDiveIntentP"
  },
  "title" : "StartDiveIntent"
}
-->

# StartDiveIntent

An App Intent that lets people start a dive session when they press the Action
button on Apple Watch Ultra.

```
protocol StartDiveIntent : SystemIntent
```

## Overview

To implement the start dive action, create a structure that adopts the
`StartDiveIntent` protocol.

```swift
struct MyStartDiveIntent: StartDiveIntent {

    static var title: LocalizedStringResource = "Starting a dive session."

    func perform() async throws -> some IntentResult {
        logger.debug("*** Starting a dive session. ***")

        await DiveManager.shared.start()
        return .result(actionButtonIntent: StartDive())
    }
}
```

This intent needs a [`title`](/documentation/AppIntents/AppIntent/title) property that provides
a localized description of the action, and a [`perform()`](/documentation/AppIntents/AppIntent/perform())
method, which the system calls when it triggers the intent.

To read live depth, water pressure, and water temperature data, see
<doc://com.apple.documentation/documentation/CoreMotion/accessing-submersion-data>.

> Important: Before you can access live dive data, your app needs to include an
> entitlement to access submersion data. For more information, see 
> [Express
> interest in the Submerged Depth and Pressure
> API](https://developer.apple.com/contact/request/submerged-depth-pressure-api/).

For more information, see [Responding to the Action button on Apple Watch Ultra](/documentation/AppIntents/ActionButtonArticle).

## Relationships

### Inherits From

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`AppIntent`](/documentation/AppIntents/AppIntent)

[`PersistentlyIdentifiable`](/documentation/AppIntents/PersistentlyIdentifiable)

[`SystemIntent`](/documentation/AppIntents/SystemIntent)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)