View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Videos

Open Menu Close Menu
  • Collections
  • All Videos
  • About

More Videos

  • About
  • Summary
  • Code
  • Build intelligent Siri experiences with App Schemas

    Bring your app's content and actions to Siri with App Intents. Model your data using App Entities, adopt App Schemas to enable powerful system actions, and support natural language interactions powered by Apple Intelligence. Explore how to enable semantic search, perform actions across apps, and create contextual experiences using onscreen awareness and content transfer. Find out best practices and testing tools to build fast, reliable Siri experiences.

    Chapters

    • 0:00 - Introduction
    • 1:06 - What's new in Siri
    • 4:06 - Contributing content with App Entities
    • 6:21 - Entity resolution and IndexedEntity
    • 9:49 - Making actions available
    • 12:03 - Adopting a schema domain in UnicornChat
    • 15:39 - Moving content across apps
    • 16:00 - Working across apps: onscreen awareness
    • 21:09 - Best practices
    • 24:18 - Testing your integration
    • 26:21 - Next steps

    Resources

    • Integrating your messaging app with Apple Intelligence
    • Donating your app’s data and actions to the system
    • Making app entities available in Spotlight
    • Making actions and content discoverable by Apple Intelligence
    • Providing contextual cues to Apple Intelligence and Siri
    • Apple Intelligence and Siri AI
    • Messages
    • App schema domains
      • HD Video
      • SD Video

    Related Videos

    WWDC26

    • Code-along: Make your app available to Siri
    • Explore advanced App Intents features for Siri and Apple Intelligence
  • Search this video…
    • 7:59 - Contributing message content to Apple Intelligence

      // Contributing message content to Apple Intelligence
        
        @AppEntity(schema: .messages.message)
        struct MessageEntity: IndexedEntity {
      
            // The text content of the message
            @Property(indexingKey: \.textContent)
            var body: AttributedString?
        }
    • 8:36 - An interface that locates entities using arbitrary string input

      // An interface that locates entities using arbitrary string input
      
        struct ContactQuery: EntityStringQuery {
            func entities(matching string: String) async throws -> [ContactEntity] {
                let predicate = #Predicate<Person> { person in
                    person.name.localizedStandardContains(string)
                }
                let descriptor = FetchDescriptor<Person>(predicate: predicate)
                let matches = try modelContext.fetch(descriptor)
                return matches.map(\.entity)
            }
        }
    • 17:19 - Working across apps - View annotations

      // Working across apps - View annotations
        
        List {
            ForEach(messages) { message in
                MessageRow(message: message)
                    .appEntityIdentifier(
                        EntityIdentifier(
                            for: MessageEntity.self,
                            identifier: message.id
                        )
                    )
            }
        }
    • 18:18 - Working across apps - Exporting content to another app

      // Working across apps - Exporting content to another app
        
        extension ContactEntity: Transferable {
      
            static var transferRepresentation: some TransferRepresentation {
                IntentValueRepresentation(
                    exporting: \.person
                )
            }
        }
    • 19:21 - Working across apps - IntentValueQuery

      // Working across apps - IntentValueQuery
      
        struct ContactEntityQuery: IntentValueQuery {
      
            func values(for input: [IntentPerson]) async throws -> [ContactEntity] {
                let names = input.map(\.displayName)
                let descriptor = FetchDescriptor<Contact>()
                let contacts = try model.mainContext.fetch(descriptor)
                let matches = contacts.filter { contact in
                    names.contains(where: { name in
                        contact.name.localizedStandardContains(name)
                    })
                }
                return matches.map(\.entity)
            }
        }
    • 20:00 - Working across apps - IntentValueRepresentation

      // Working across apps - IntentValueRepresentation
      
        extension ContactEntity: Transferable {
      
            static var transferRepresentation: some TransferRepresentation {
                IntentValueRepresentation(exporting: \.person, importing: { intentPerson in                    
                    let contact = Contact(importing: intentPerson)
                    ContactManager.shared.contacts.append(contact)
                    return contact.entity
                })
            }
        }
    • 0:00 - Introduction
    • How App Intents bring your app to Siri, made more capable, contextual, and personal by Apple Intelligence in the 27 releases. Previews the agenda: what's new, contributing content, making actions available, working across apps, and best practices.

    • 1:06 - What's new in Siri
    • Siri gains three capabilities built on App Intents: accessing your app's entities, taking action through your intents, and understanding onscreen context. Introduces the UnicornChat sample app used throughout the session.

    • 4:06 - Contributing content with App Entities
    • Model your app's content as App Entities (what a thing is, how it's identified, and which properties matter), then conform them to an App Schema so Siri understands the category of content.

    • 6:21 - Entity resolution and IndexedEntity
    • How Siri resolves spoken references to real entities. Adopt IndexedEntity for semantic search and content Q&A over indexed content, using indexingKey to mark searchable properties, or EntityStringQuery when data can't be indexed ahead of time.

    • 9:49 - Making actions available
    • App Intents expose actions across Shortcuts, Spotlight, and Widgets. Conforming intents to App Schemas, and grouping them into App Schema domains, makes those actions executable by Siri through natural language.

    • 12:03 - Adopting a schema domain in UnicornChat
    • End-to-end walkthrough of adopting the Messages domain's sendMessage schema: mapping schema parameters onto UnicornChat's messaging flow and returning the sent message as an entity, so Siri can send messages without opening the app.

    • 15:39 - Moving content across apps
    • Export entities with Transferable and IntentValueRepresentation so other apps can act on them. On import, use IntentValueQuery to match existing content or IntentValueRepresentation(importing:) to create something new.

    • 16:00 - Working across apps: onscreen awareness
    • Requests that span apps rely on onscreen awareness. Connect views to App Entities, via NSUserActivity for a single primary item or view annotations for multiple visible items, so Siri can resolve references like "this" and "that."

    • 21:09 - Best practices
    • Design for complete Siri conversations by adopting full schema sets. Xcode surfaces missing related schemas (for example draftMessage alongside sendMessage) at build time with Fix-Its.

    • 24:18 - Testing your integration
    • Validate progressively: App Intents Testing for business logic in isolation, then the Shortcuts app for intent shape, Spotlight for content indexing, and finally Siri for the full end-to-end experience.

    • 26:21 - Next steps
    • Model and index entities, adopt the App Schema domains matching your app, enable content transfer with Transferable, and test early with Shortcuts, Spotlight, and Siri.

Developer Footer

  • Videos
  • WWDC26
  • Build intelligent Siri experiences with App Schemas
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • Mini Apps Partner Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines