{
  "id": 16086396,
  "title": "Wiring Apple's App Intents into your Expo app's JavaScript with expo-app-intents",
  "url": "https://urgent.news/2026/10/22/wiring-apples-app-intents-into-your-expo-apps-javascript-with-expo",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-22T18:44:11.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/expo/wiring-apples-app-intents-into-your-expo-apps-javascript-with-expo-app-intents-153a"
  },
  "original_language": "en",
  "account": "The expo-app-intents package enables integrating Apple's App Intents framework into your Expo app, allowing actions to be executed through Siri and Shortcuts, discovered via Spotlight, and providing context to Apple Intelligence. App Intents can be exposed as shortcut parameters for a restaurant app to showcase dishes or for a mail app to display draft actions. The package is currently in alpha and recommended to be built with Xcode 27 and tested on iOS 27, although it supports iOS 16.4 and later.\n\nTwo main challenges arise when integrating App Intents with an Expo app: Swift declarations must exist as Swift types before the app launches, and intent triggers can occur before the JavaScript bundle is ready. expo-app-intents addresses these issues by connecting Swift declarations to JavaScript handlers and storing pending invocations until your app is ready to process them. It includes templates for building actions and data, and requires Swift types conforming to protocols like AppIntent, AppEntity, EntityQuery, and AppShortcutsProvider. Expo inline modules streamline the creation of these Swift types, compiling them into your app target without manual Xcode project editing.\n\nAfter installation, you can use the starter templates such as the counter template to get started. The counter example demonstrates how to declare an app intent, define a Swift struct with the action, and connect it to JavaScript handlers. The setCount function updates the counter state, and useAppIntents handles pending invocations.",
  "summary": "You've built a restaurant app, and a customer tells Siri \"order the tiramisu\" expecting it to just work. It doesn't, because your app has no way to tell iOS what actions it supports or what data lives inside it. That's the gap expo-app-intents closes. The package connects your Expo app to Apple's App Intents framework , so people can run your app's actions through Siri and Shortcuts, find its…",
  "key_points": [
    "expo-app-intents integrates Apple's App Intents framework into Expo apps.",
    "Addresses Swift declarations and intent triggers before JavaScript bundle readiness.",
    "Provides starter templates and Expo inline modules for Swift type creation."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}