With the Siri AI Developer Preview in iOS 27.3 beta 1, we are exposing custom intents to Siri as tools with @AppIntent(.tool). Some of these only make sense for Siri, for example a read-only status tool whose result Siri phrases as an answer, or variants that would duplicate existing Shortcuts actions. Our app already has a long list of Shortcuts actions, so we would like these tools to be available to Siri AI without appearing as actions in the Shortcuts app.
@available(iOS 27.3, *)
@AppIntent(.tool)
struct GetStatusIntent: AppIntent {
static let title: LocalizedStringResource = "Get Status"
@Parameter(title: "Item")
var item: ItemEntity
func perform() async throws -> some IntentResult & ReturnsValue<StatusEntity> {
// ...
}
}
What we have tried on iOS 27.3 beta 1:
static let isDiscoverable = falsehides the action from Shortcuts, but Siri then never called the tool and used a different one instead.- Conforming to
DeprecatedAppIntentwhile keeping it discoverable also hides the action, but Siri stopped calling the tool over repeated attempts. Removing the deprecation brought it straight back. isAssistantOnlywould describe what we want, but it only exists onAssistantSchemaIntent, and combining.toolwith a Siri-supported schema is a build error.ToolIntentitself has no requirements in the 27.3 SDK.IntentVisibilityonly applies to entity properties, and.internalhides the property from Siri as well.
Questions:
- Is there a supported way to make an intent available to Siri AI while keeping it out of the Shortcuts action list?
- Is it intended that
isDiscoverable = falseandDeprecatedAppIntentalso make a tool unavailable to Siri AI? - If there is no such option today, is one planned, and is there a feedback number we should reference?
Related question about schema intents: https://developer.apple.com/forums/thread/838658
Thanks!