optional properties beyond the shape of a schema domain

At WWDC24, the guidance was that you could extend a schema conforming App Entity beyond its pre-defined shape with optional parameters, but that these would not be understood by Siri. In tandem, there was also CSSearchableItemAttributeSet properties but I don't recall how those were or were not understood by Siri.

Could you please help clarify how these two related concepts work together going forward in terms of how entities are exposed across Spotlight, Shortcuts, and Siri.

Answered by Frameworks Engineer in 891884022

Schema-defined properties are what Siri understands and that's what schema conformance guarantees.

The additional @Property fields beyond the schema are still understood by Shortcuts but are not part of what Siri reasons about.

If you want those entities (and their properties) to also be reachable through Spotlight, adopt Spotlight indexing by conforming to IndexedEntity and donating a CSSearchableItemAttributeSet.

Indexed properties also become searchable in Spotlight UI. That's the bridge between the two concepts you're asking about: CSSearchableItemAttributeSet is the surface that gets your entity into Spotlight, and IndexedEntity (with @Property(indexingKey:) or customIndexingKey:) is how you bind your App Intents properties to it.

For the full story on how these pieces fit together across Spotlight, Shortcuts, and Siri, check out the new documentation:

Schema-defined properties are what Siri understands and that's what schema conformance guarantees.

The additional @Property fields beyond the schema are still understood by Shortcuts but are not part of what Siri reasons about.

If you want those entities (and their properties) to also be reachable through Spotlight, adopt Spotlight indexing by conforming to IndexedEntity and donating a CSSearchableItemAttributeSet.

Indexed properties also become searchable in Spotlight UI. That's the bridge between the two concepts you're asking about: CSSearchableItemAttributeSet is the surface that gets your entity into Spotlight, and IndexedEntity (with @Property(indexingKey:) or customIndexingKey:) is how you bind your App Intents properties to it.

For the full story on how these pieces fit together across Spotlight, Shortcuts, and Siri, check out the new documentation:

optional properties beyond the shape of a schema domain
 
 
Q