App Intents & Shortcuts: the iOS discovery surface most apps ignore
App Intents shipped in iOS 16 and almost no indie app uses them. That's a missed organic install channel - Spotlight, Siri, Shortcuts, the Action Button on Pro models, and Apple Intelligence all surface App Intents to users who never visited the App Store. This post is a pragmatic walkthrough.
Why App Intents matter
When a user types 'log water' in Spotlight, iOS searches across registered App Intents. If your hydration app exposes a 'Log Water' intent, you're ranked alongside Apple's defaults - for free, with no ASO work.
The same intent works in Siri ('hey Siri, log 250ml of water'), in the Shortcuts app, on the Action Button, in the Apple Watch wrist gesture menu, and in Apple Intelligence-powered suggestions. One intent, six surfaces.
Setting up your first AppIntent
An App Intent is a Swift struct that conforms to AppIntent. It declares parameters, a perform method, and a title. Three lines of metadata, one method to implement.
struct LogWaterIntent: AppIntent {
static var title: LocalizedStringResource = "Log Water"
@Parameter(title: "Amount") var amount: Double
func perform() async throws -> some IntentResult {
try await Hydration.log(amount: amount)
return .result()
}
}
Register it in your AppShortcutsProvider and you're done. Spotlight indexes it within minutes.
AppShortcuts and the Shortcuts app
AppShortcutsProvider wraps an array of pre-defined shortcuts, each binding a phrase ('log water 250ml') to an intent. These appear in the Shortcuts app gallery without the user having to set anything up.
Limit to 10 shortcuts per app. We aim for 5: the most common verbs your users would say.
The Action Button payoff
iPhone Pro models since 15 Pro have a configurable Action Button. Users can assign any App Intent to it. If your habit tracker exposes 'Mark today complete,' a daily user might map it to their Action Button - and your app gets opened with one physical press, every day.
We've measured a meaningful retention bump on apps where Action Button assignment is even possible. It's not just a feature; it's a relationship lock-in.
Voice and Siri
Once your intents are registered, Siri can call them. The phrasing comes from your AppShortcuts definitions. Test in Settings → Siri → My Shortcuts.
Don't over-promise here. Siri's NL parsing is okay, not great, with parameters. Keep your shortcut phrases short and unambiguous.
Real impact we've measured
On Habit Tracker Kit, registering App Intents added an estimated 4-6% of weekly active session opens via Spotlight. Not huge, but free.
On Pomoly, the 'Start focus session' intent opens at ~10% of total session-starts - Action Button users mostly. They start sessions twice as often as the median user.
Cost: one afternoon per app
If your app has 3-5 clear verbs (log, start, mark, etc.), you can ship App Intents in an afternoon. That's a remarkably good ROI for a discovery surface that compounds with every iOS release.
We now consider App Intents non-negotiable for any new app at mk0.net.