Robots Atlas>ROBOTS ATLAS
Tooling

App Intents

2022ActiveUpdated: 14 July 2026Published
Key innovation
A declarative Apple framework that lets applications expose their actions, data entities, and types as 'intents' consumable by system AI layers (Siri, Shortcuts, Spotlight, Widgets, Apple Intelligence) - without writing per-platform plugins. The key mechanism turning iOS/macOS apps into tools for AI agents.
Category
Tooling
Abstraction level
Pattern
Operation level
ToolingApplicationAgent runtimeSystem
Use cases
Exposing app actions to Siri and ShortcutsInteractive widgets invoking app actions from Home Screen/Lock ScreenSpotlight integration (semantic search of app content)Focus Filters - conditional app behaviour based on Focus modeInteractive Snippets - Siri responses with native app UIMulti-app task orchestration via Apple Intelligence / Siri AIWorkflow automation across apps (Shortcuts)Voice access to actions for accessibility (VoiceOver + Siri)

How it works

1. The developer defines a struct/class implementing the `AppIntent` protocol in Swift: sets `title`, `description`, parameters via the `@Parameter` property wrapper, and a `perform() async throws -> some IntentResult` method. 2. App data entities conform to the `AppEntity` protocol with an identifier, displayRepresentation, and an optional query provider (for system-side search). 3. The Swift compiler generates static intent metadata; `ShortcutsProvider` declares `AppShortcuts` with invocation phrases for Siri. 4. iOS/macOS runtime: when the user says/types/picks an action in Shortcuts, the system pattern-matches the phrase to registered AppIntents, validates parameters (auto-Q&A for missing ones), and invokes `perform()`. 5. Apple Intelligence (iOS 18+): the Apple LLM analyses the AppIntent description and parameters semantically, and can invoke an intent even when no named phrase matches explicitly - similar to tool calling in GPT/Claude via JSON schema. 6. Siri AI (iOS 27, 2026): multi-app orchestration - the agent can chain intents from different apps ('find photos from Chicago in Photos and email them to X') treating them as composable tools.

Problem solved

Mobile apps were long 'silos' - AI agents could not invoke their actions without hand-written per-platform plugins. App Intents solves this via a single declarative API: the developer writes 'my app can do X, Y, Z' once, and the system automatically exposes this to Siri, Shortcuts, Spotlight, Widget actions, and Apple Intelligence. Reduces duplication and provides the foundation for AI agents operating on native apps.

Components

AppIntentAction declaration

Swift protocol defining a single app action: title, description, @Parameters, perform() method. Automatically exposed to Siri/Shortcuts/Spotlight.

AppEntityApp data type

Protocol for native app entities (e.g. Task in a todo app, Playlist in a music app). Contains identifier, displayRepresentation, and an optional query provider.

AppEnumEnumerated type

Swift enum exposed to intents as a list of predefined values (e.g. FocusMode.work | .personal | .doNotDisturb).

@Parameter property wrapperParameter declaration

Swift property wrapper declaring a typed intent parameter with description, default, and dialogue rules for missing values.

AppShortcutsProviderPhrase registration

Provider declaring which AppIntents are immediately available in Shortcuts + which invocation phrases for Siri. Code, not plist.

IntentResultReturned result

The perform() method's return type: can contain a dialog for Siri, structured value, opening view, or widget snapshot.

Official

Implementation

Implementation pitfalls
openAppWhenRun = true overusedHigh

Setting it to true by default breaks the flow in Shortcuts/Widgets - the user expects background execution.

Fix:Set openAppWhenRun to false wherever possible; use true only when the intent requires interactive UI.
Missing description for Apple IntelligenceHigh

A short or missing description makes the Apple LLM unable to select the intent semantically - the intent is invisible to the agent.

Fix:Write descriptive description (min. 1-2 sentences) in natural language, describing intent and typical uses; localize.
Parameters without requestValueDialogMedium

Missing dialog for a required parameter yields a generic Siri question ('What is X?') - poor UX.

Fix:Always define requestValueDialog for every @Parameter, with a best-guess default value where possible.
Forgetting AppShortcutsProviderMedium

Without AppShortcutsProvider, intents do not appear automatically in the Shortcuts app - they are available only via developer flow.

Fix:Always implement AppShortcutsProvider with a list of flagship intents as early as possible.
Localization only in plist rather than codeMedium

The SiriKit-style plist localization approach does not work for App Intents - localization must be inline in Swift via LocalizedStringResource.

Fix:Use LocalizedStringResource for all user-visible strings (title, description, dialogs); classic .strings files for values.

Evolution

Original paper · 2022 · WWDC 2022 · Apple Developer Documentation Team
Meet the App Intents framework - WWDC22 Session 10032
Apple Developer Documentation Team
2016
SiriKit (predecessor)

iOS 10 introduces SiriKit - the first framework for integrating app actions with Siri. Limited to fixed domains (messaging, ride-booking, payments, VoIP). Required .intentdefinition + plist.

2018
Shortcuts + Custom Intents

iOS 12 adds the Shortcuts app and Custom Intents - developers can define their own intents beyond fixed domains. Still requires plist + IntentHandler class.

2022
App Intents (WWDC22, iOS 16)
Inflection point

Apple introduces App Intents as a Swift-first successor to SiriKit. Declarative intents in code, integration with Shortcuts/Siri/Spotlight/Widgets. Interactive Widgets announced a year later.

2023
Interactive Widgets + Live Activities

iOS 17: interactive widgets invoking App Intents from Home Screen/Lock Screen. Live Activities use App Intents for user actions.

2024
Apple Intelligence integration (iOS 18)
Inflection point

iOS 18 makes App Intents tools for the Apple LLM - Apple Intelligence can invoke intents semantically (similar to tool calling in GPT/Claude). App Intents becomes the foundation for agentic Siri.

2026
Siri AI + multi-app orchestration (iOS 27)
Inflection point

WWDC 2026: Siri AI powered by Google Gemini + App Intents as the central mechanism for multi-app task orchestration. The agent chains intents from different apps into multi-step workflows. Onscreen awareness + personal context.

Hyperparameters (configurable axes)

Invocation phraseHigh

Natural-language phrases registered in AppShortcutsProvider for Siri (e.g. 'Log workout' for WorkoutIntent).

\(.applicationName) log workoutStandard phrase with app name.
Parameter dialogMedium

Siri's question text for a missing parameter (@Parameter(title:, requestValueDialog:)).

Which workout would you like to log?Question for a WorkoutType parameter.
Open app when runHigh

Flag static var openAppWhenRun: Bool - whether the intent requires opening the app UI or runs in the background.

falseBackground intents - preferred for widgets and Siri.
trueIntent requiring user interaction with the UI (e.g. editing).
Discoverable in ShortcutsLow

Whether the intent appears in the Shortcuts picker. False for intents invoked only programmatically or by an agent.

Computational complexity

Time complexity: O(1) rejestracja (compile-time); O(model_inference) wywołanie przez Apple Intelligence. Space complexity: O(|intents_metadata|) - zwykle < 100 KB per aplikacja.

Execution paradigm

Primary mode
Conditional

Which intent is invoked depends entirely on the user query / agent decision - conditional invocation.

Activation pattern
Input dependent

Parallelism

Parallelism level
Conditionally parallel

Siri pattern-matching and Shortcuts invocations are sequential per query. Multi-app orchestration in Siri AI can invoke intents in parallel when the agent detects independent steps.

Scope
Inference

Hardware requirements

Primary

App Intents is an OS API layer - no hardware dependency. Runs on every Apple device (iPhone/iPad/Mac/Apple Watch/Vision Pro).