<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/OpenIntent",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "App Intents"
    ],
    "preciseIdentifier" : "s:10AppIntents10OpenIntentP"
  },
  "title" : "OpenIntent"
}
-->

# OpenIntent

An app intent that opens and displays a specific item in your app’s interface.

```
protocol OpenIntent : SystemIntent
```

## Overview

Use this protocol to create an app intent that opens the app and displays a specific item. The [`target`](/documentation/AppIntents/OpenIntent/target)
property contains the item to display and is typically an [`AppEntity`](/documentation/AppIntents/AppEntity) or [`AppEnum`](/documentation/AppIntents/AppEnum) type you define. For example, Spotlight
can populate this property with an entity someone found during a search of your app’s content.

> Note: If your app intent type implements the ``doc://com.apple.AppIntents/documentation/AppIntents/URLRepresentableIntent`` protocol, or if the ``doc://com.apple.AppIntents/documentation/AppIntents/OpenIntent/target``
> parameter contains a type with a URL representation, provide an implementation of your ``doc://com.apple.AppIntents/documentation/AppIntents/AppIntent/perform()`` method
> that returns a result and does nothing else. When a URL is present, the system opens the item using your app’s URL support instead.

The system automatically brings your app to the foreground to run this app intent. If your app intent adopts the
[`TargetContentProvidingIntent`](/documentation/AppIntents/TargetContentProvidingIntent) or [`UISceneAppIntent`](/documentation/AppIntents/UISceneAppIntent) protocol, the system also directs the app intent to one of your
app’s scenes first so you can configure the scene’s views. If your app intent type doesn’t support these protocols, use your
[`perform()`](/documentation/AppIntents/AppIntent/perform()) method implementation to update your app’s interface and display the item.

## Relationships

### Inherits From

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

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

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

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

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

---

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)