appintents
App Intents
Exposing your app's actions and content to Siri, Shortcuts, Spotlight, the Action Button, Control Center/Lock Screen, and Apple Intelligence. The deep API reference — every intent shape, parameters, entities and queries, enums, shortcut providers, dialogs/snippets, widget and Control Center integration — lives in references/guide.md. This file is the decision and discipline layer: read it first, open the guide for specifics.
Dials
Set these explicitly at the start; they change what "correct" means.
SURFACE—shortcuts(default;AppShortcutsProvider+ the Shortcuts app) ·siri(voice phrases,ProvidesDialog) ·widgets(interactiveButton/Toggle(intent:),WidgetConfigurationIntent,ControlWidget— coordinate withwidgetkit) ·spotlight(isDiscoverable, deep-link intents). Pick the surfaces you actually ship; each has different phrase, UI, and execution constraints.ENTITY_MODEL—none(intents take only scalar@Parameters) ·AppEntity+EntityQuery(your models are first-class —entities(for:),suggestedEntities(),EntityStringQueryfor search,EntityPropertyQueryfor filtering). Choosenoneuntil an intent needs to reference one of your records by identity.OUTPUT—void(.result()) ·dialog(ProvidesDialog— Siri speaks it) ·value(ReturnsValue<T>, chainable in Shortcuts) ·snippet(ShowsSnippetView, or iOS 26 interactiveSnippetIntent). Combine as needed; theperform()return type must declare every protocol you use.
When to use
Building or reviewing any code that surfaces app functionality to Siri, the Shortcuts app, Spotlight, the Action Button, Control Center, or Apple Intelligence — AppIntent, AppEntity, AppShortcutsProvider, or intent-driven widget/control buttons. For the widget timeline, configuration UI, and rendering side, use widgetkit; the intent that a widget button runs lives here.