Contents

tab

The app entity describes a browser tab.

Declaration

var tab: some AssistantSchemas.Entity { get }

Overview

Use Swift macros that generate additional properties and add protocol conformance for your app entity implementation. The following example shows an app entity that conforms to the .browser.tab schema:

@AppEntity(schema: .browser.tab)
struct TabEntity: AppEntity {
    static var defaultQuery = Query()

    let id = UUID()

    @Property
    var url: URL?

    @Property
    var name: String

    @Property
    var isPrivate: Bool

    var displayRepresentation: AppIntents.DisplayRepresentation { "Tab" }
    struct Query: EntityStringQuery {
        func entities(for identifiers: [TabEntity.ID]) async throws -> [TabEntity] { [] }
        func entities(matching string: String) async throws -> [TabEntity] { [] }
    }
}

For more information about the .browser app intent domain, see doc:Making-browser-actions-available-to-siri-and-apple-intelligence. For general information about app intent domains, see doc:Integrating-actions-with-siri-and-apple-intelligence.