Disambiguation when multiple entities match

When a spoken phrase could match several entities in our catalog — same region, similar names, or partial matches — who is responsible for disambiguation: Siri via App Schemas and entity resolution, or the app via EntityStringQuery returning multiple candidates? What’s the recommended UX pattern for ‘Did you mean A or B?’

Answered by Frameworks Engineer in 892924022

The best way to integrate your app with Siri and Apple Intelligence is by conforming your AppEntities to the IndexedEntity protocol and indexing your app's content to the semantic index at runtime. By exposing your content to the system, the orchestrator will handle disambiguation on your behalf by surfacing relevant entities that best match the user's request. The system takes care of disambiguating request on your behalf.

The best way to integrate your app with Siri and Apple Intelligence is by conforming your AppEntities to the IndexedEntity protocol and indexing your app's content to the semantic index at runtime. By exposing your content to the system, the orchestrator will handle disambiguation on your behalf by surfacing relevant entities that best match the user's request. The system takes care of disambiguating request on your behalf.

We have thousands of location entities plus user favorites. Should we index only user-specific subsets (favorites, home, recents) or is full-catalog indexing supported?

How often should we re-index when favorites or planned sessions change? Any APIs for incremental updates vs full rebuild?

Entities require signed-in state. What’s the pattern when indexing per-user content that isn’t available offline?

After the orchestrator resolves a SpotEntity, should the App Intent fetch live data itself, open the app, or hand off to a server assistant?

Disambiguation when multiple entities match
 
 
Q