{ "$schema": "https://raw.githubusercontent.com/guitaripod/wwdc-sessions/master/schema/session.schema.json", "schemaVersion": 1, "id": "wwdc2026-240", "event": "wwdc2026", "eventName": "WWDC26", "year": 2026, "eventContentId": 240, "title": "Build intelligent Siri experiences with App Schemas", "description": "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.", "url": "https://developer.apple.com/videos/play/wwdc2026/240", "sosumiURL": "https://sosumi.ai/videos/play/wwdc2026/240", "type": "Video", "publishedAt": "2026-06-08T14:00:00-07:00", "platforms": [ "iOS", "iPadOS", "macOS", "visionOS" ], "keywords": [ "ai", "app intents", "machine learning", "siri", "spotlight", "xcode" ], "topics": [ "App Services", "AI & Machine Learning" ], "primaryTopic": "AI & Machine Learning", "duration": 1643, "hasTranscript": true, "transcriptWordCount": 3439, "availableLanguages": [ "eng", "fra", "jpn", "kor", "por", "spa", "zho" ], "media": { "hls": "https://devstreaming-cdn.apple.com/videos/wwdc/2026/240/4/d46aac11-3990-42cd-bb33-4ce5e958b902/cmaf.m3u8", "downloadHLS": "https://devstreaming-cdn.apple.com/videos/wwdc/2026/240/4/d46aac11-3990-42cd-bb33-4ce5e958b902/cmaf-download.m3u8", "downloadSD": "https://devstreaming-cdn.apple.com/videos/wwdc/2026/240/4/d46aac11-3990-42cd-bb33-4ce5e958b902/downloads/wwdc2026-240_sd.mp4", "downloadHD": "https://devstreaming-cdn.apple.com/videos/wwdc/2026/240/4/d46aac11-3990-42cd-bb33-4ce5e958b902/downloads/wwdc2026-240_hd.mp4", "duration": 1643 }, "codeSnippets": [ { "title": "Contributing message content to Apple Intelligence", "language": "swift", "startTimeSeconds": 479, "code": "// Contributing message content to Apple Intelligence\n\n @AppEntity(schema: .messages.message)\n struct MessageEntity: IndexedEntity {\n\n // The text content of the message\n @Property(indexingKey: \\.textContent)\n var body: AttributedString?\n }" }, { "title": "An interface that locates entities using arbitrary string input", "language": "swift", "startTimeSeconds": 516, "code": "// An interface that locates entities using arbitrary string input\n\n struct ContactQuery: EntityStringQuery {\n func entities(matching string: String) async throws -> [ContactEntity] {\n let predicate = #Predicate { person in\n person.name.localizedStandardContains(string)\n }\n let descriptor = FetchDescriptor(predicate: predicate)\n let matches = try modelContext.fetch(descriptor)\n return matches.map(\\.entity)\n }\n }" }, { "title": "Working across apps - View annotations", "language": "swift", "startTimeSeconds": 1039, "code": "// Working across apps - View annotations\n\n List {\n ForEach(messages) { message in\n MessageRow(message: message)\n .appEntityIdentifier(\n EntityIdentifier(\n for: MessageEntity.self,\n identifier: message.id\n )\n )\n }\n }" }, { "title": "Working across apps - Exporting content to another app", "language": "swift", "startTimeSeconds": 1098, "code": "// Working across apps - Exporting content to another app\n\n extension ContactEntity: Transferable {\n\n static var transferRepresentation: some TransferRepresentation {\n IntentValueRepresentation(\n exporting: \\.person\n )\n }\n }" }, { "title": "Working across apps - IntentValueQuery", "language": "swift", "startTimeSeconds": 1161, "code": "// Working across apps - IntentValueQuery\n\n struct ContactEntityQuery: IntentValueQuery {\n\n func values(for input: [IntentPerson]) async throws -> [ContactEntity] {\n let names = input.map(\\.displayName)\n let descriptor = FetchDescriptor()\n let contacts = try model.mainContext.fetch(descriptor)\n let matches = contacts.filter { contact in\n names.contains(where: { name in\n contact.name.localizedStandardContains(name)\n })\n }\n return matches.map(\\.entity)\n }\n }" }, { "title": "Working across apps - IntentValueRepresentation", "language": "swift", "startTimeSeconds": 1200, "code": "// Working across apps - IntentValueRepresentation\n\n extension ContactEntity: Transferable {\n\n static var transferRepresentation: some TransferRepresentation {\n IntentValueRepresentation(exporting: \\.person, importing: { intentPerson in \n let contact = Contact(importing: intentPerson)\n ContactManager.shared.contacts.append(contact)\n return contact.entity\n })\n }\n }" } ], "resources": [ { "title": "Integrating your messaging app with Apple Intelligence", "url": "https://developer.apple.com/documentation/AppIntents/integrating-your-messaging-app-with-apple-intelligence", "type": "samplecode", "description": "Adopt message schemas so people can send messages and manage conversations with Siri.", "sosumiURL": "https://sosumi.ai/documentation/AppIntents/integrating-your-messaging-app-with-apple-intelligence", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AppIntents/integrating-your-messaging-app-with-apple-intelligence.json" }, { "title": "Donating your app’s data and actions to the system", "url": "https://developer.apple.com/documentation/AppIntents/donating-your-apps-data-and-actions-to-the-system", "type": "documentation", "description": "Improve how people interact with your app through Apple Intelligence and Siri", "sosumiURL": "https://sosumi.ai/documentation/AppIntents/donating-your-apps-data-and-actions-to-the-system", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AppIntents/donating-your-apps-data-and-actions-to-the-system.json" }, { "title": "Making app entities available in Spotlight", "url": "https://developer.apple.com/documentation/AppIntents/making-app-entities-available-in-spotlight", "type": "documentation", "description": "Update your app entity types to support Spotlight indexing, and donate entities to", "sosumiURL": "https://sosumi.ai/documentation/AppIntents/making-app-entities-available-in-spotlight", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AppIntents/making-app-entities-available-in-spotlight.json" }, { "title": "Making actions and content discoverable by Apple Intelligence", "url": "https://developer.apple.com/documentation/AppIntents/making-actions-and-content-discoverable-by-apple-intelligence", "type": "documentation", "description": "Equip the system so that Siri can work with your app by adding specific schemas from relevant domains.", "sosumiURL": "https://sosumi.ai/documentation/AppIntents/making-actions-and-content-discoverable-by-apple-intelligence", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AppIntents/making-actions-and-content-discoverable-by-apple-intelligence.json" }, { "title": "Providing contextual cues to Apple Intelligence and Siri", "url": "https://developer.apple.com/documentation/AppIntents/providing-contextual-cues-to-apple-intelligence-and-siri", "type": "documentation", "description": "Annotate your interface with app entities to offer contextual information about your app’s", "sosumiURL": "https://sosumi.ai/documentation/AppIntents/providing-contextual-cues-to-apple-intelligence-and-siri", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AppIntents/providing-contextual-cues-to-apple-intelligence-and-siri.json" }, { "title": "Apple Intelligence and Siri AI", "url": "https://developer.apple.com/documentation/AppIntents/apple-intelligence-and-siri-ai", "type": "documentation", "description": "Integrate your app with Apple Intelligence and bring it to Siri AI.", "sosumiURL": "https://sosumi.ai/documentation/AppIntents/apple-intelligence-and-siri-ai", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AppIntents/apple-intelligence-and-siri-ai.json" }, { "title": "Messages", "url": "https://developer.apple.com/documentation/AppIntents/app-schema-domain-messages", "type": "documentation", "description": "Make your messaging app’s actions available to Apple Intelligence and Siri by adopting schemas for common messaging actions.", "sosumiURL": "https://sosumi.ai/documentation/AppIntents/app-schema-domain-messages", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AppIntents/app-schema-domain-messages.json" }, { "title": "App schema domains", "url": "https://developer.apple.com/documentation/AppIntents/app-schema-domains", "type": "documentation", "description": "Declare support for well-known actions and content by applying system-defined schemas to", "sosumiURL": "https://sosumi.ai/documentation/AppIntents/app-schema-domains", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AppIntents/app-schema-domains.json" } ], "path": "sessions/wwdc2026/240-build-intelligent-siri-experiences-with-app-schemas/", "files": { "metadata": "sessions/wwdc2026/240-build-intelligent-siri-experiences-with-app-schemas/metadata.json", "readme": "sessions/wwdc2026/240-build-intelligent-siri-experiences-with-app-schemas/README.md", "transcript": "sessions/wwdc2026/240-build-intelligent-siri-experiences-with-app-schemas/transcript.md", "transcriptJSON": "sessions/wwdc2026/240-build-intelligent-siri-experiences-with-app-schemas/transcript.json" } }