<!--
{
  "availability" : [
    "macOS: 15.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSView/appEntityUIElementProvider",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AppKit",
      "AppKit"
    ],
    "preciseIdentifier" : "s:So6NSViewC012_AppIntents_B3KitE26appEntityUIElementProviderSay0bC00bfG0VGAB_AE0bF17UIElementsContextVtcSgvp"
  },
  "title" : "appEntityUIElementProvider"
}
-->

# appEntityUIElementProvider

A closure that provides app entity identifiers to make custom view content discoverable by Apple Intelligence
and Siri when it appears onscreen.

```
@MainActor @preconcurrency var appEntityUIElementProvider: ((NSView, AppEntityUIElementsContext) -> [AppEntityUIElement])? { get set }
```

## Discussion

Dynamically provide app entity identifiers for a custom view where your app manages state for the user interface or you use custom
drawing to render the interface. For example, you might use a custom list or tab implementation and manage selection and other
states in the app, or you might use Metal to render the interface. If either applies to your app’s interface, make content
discoverable by Apple Intelligence and Siri using `appEntityUIElementProvider` and provide the system with a list of
`AppEntityUIElements`.

> Note: The order of the returned elements isn’t relevant.

If your custom view shows content you can describe with a single app entity, use the `appEntityIdentifier` property instead to
associate the app entity with your custom view.

For more information, refer to <doc:providing-contextual-cues-to-Apple-Intelligence-and-Siri> and
<doc://com.apple.documentation/documentation/AppIntents>.

---

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)