<!-- llms-explorer concept facts · https://llms-explorer.com/tree/appentity-content-transfer-and-intentvaluerepresentation-for-siri-cross-app-workflows/ · pack 2026-10-23 · ~1613 tokens -->

# AppEntity content transfer and IntentValueRepresentation for Siri cross-app workflows

> Source-anchored research for AppEntity content transfer and IntentValueRepresentation for Siri cross-app workflows. Run status: COMPLETED.

Parent: [App Schemas integration for Siri AI](https://llms-explorer.com/tree/app-schemas-integration-for-siri-ai/) · 4 facets · 13 facts · page: https://llms-explorer.com/tree/appentity-content-transfer-and-intentvaluerepresentation-for-siri-cross-app-workflows/

## How-to and procedures

- Use IntentValueQuery to resolve incoming structured content to an existing entity; use IntentValueRepresentation importing to construct a new entity. Apple’s contact import example explicitly creates a Contact, appends it to ContactManager.shared.contacts, and returns contact.entity, so persistence is work performed by that sample’s importing implementation. (high confidence) — [source](https://developer.apple.com/videos/play/wwdc2026/240/)

## Problems, failure modes and limitations

- The canonical iOS and iPadOS 27 release notes mark the build failure when implementing a Transferable IntentValueRepresentation for PHAsset as fixed, issue 178276448. This is a compiler/integration fix and supplies no general guarantee that a third-party Siri action receives arbitrary onscreen image pixels. (low confidence) (verified as of 2026-10-03) — [source](https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-27-release-notes.md)

## Comparisons and alternatives

- Jordan Morgan identifies a practical modeling gap when an app’s own concepts do not map cleanly to system values or schemas. His article explicitly presents this as unresolved interpretation after viewing Apple’s session, rather than reporting a runtime failure. (low confidence) — [source](https://www.swiftjectivec.com/siri-ai-for-ios027/)

## Facts and statements

- IntentValueRepresentation bridges custom transferable entities to system intent values. Export can use a property key path or an async throwing closure; the declared generic constraints are Item: Transferable and IntentValue: _IntentValue & Sendable. (high confidence) — [source](https://developer.apple.com/documentation/appintents/intentvaluerepresentation.md)
- For structured cross-app conversion, Apple documents IntentPerson, GeoToolbox.PlaceDescriptor and Foundation.PersonNameComponents as equivalent system values. An AppEntity adopts Transferable and includes IntentValueRepresentation in transferRepresentation; ordinary file or binary representations alone do not convey a landmark as a routable location. (high confidence) — [source](https://developer.apple.com/documentation/appintents/providing-contextual-cues-to-apple-intelligence-and-siri.md)
- For incoming content, IntentValueQuery resolves existing app entities; an IntentValueRepresentation importing closure constructs new content. Apple’s contact example uses values(for input: [IntentPerson]) async throws -> [ContactEntity], whereas the protocol requirement is values(for: Self.Input) async throws -> Self.Result. (high confidence) — [source](https://developer.apple.com/videos/play/wwdc2026/240/)
- Apple’s contact conversion example exports .applicationDefined(contact.id), display name and email handle. Its importing closure requires an applicationDefined identifier and a non-nil handle, and throws ConversionError.missingData otherwise. This is example-level input validation; it does not establish cross-app authentication or globally unique contact identity. (medium confidence) — [source](https://developer.apple.com/documentation/appintents/providing-contextual-cues-to-apple-intelligence-and-siri.md)
- Sarun’s authored treatment explains that matching belongs to the receiving app’s data lookup and may use a name, phone number, email or saved identifier. Apple’s sample uses localized name containment. Therefore the demonstration should not be interpreted as a guarantee of unique identity or collision-free contact matching. (medium confidence) — [source](https://sarunw.com/posts/build-siri-experiences-across-apps-part-2-content-transfer/)
- Apple’s symbol metadata lists IntentValueRepresentation from iOS/iPadOS 26.4 and IntentValueQuery from iOS/iPadOS 26.0. The flutter_intents maintainer reported on September 14, 2026 that IntentValueRepresentation was absent from the iOS 26.5 SDK despite its anyAppleOS 26.4 annotation, and present in the 27.0 SDK. Treat OS availability and build-SDK symbol presence separately; the SDK observation is maintainer evidence, not a locally reproduced measurement. (medium confidence) (verified as of 2026-09-14) — [source](https://developer.apple.com/documentation/appintents/intentvaluerepresentation.md)
- For transfer validation, Apple’s testing guide exports an AnyAppEntity with exported(as: .json), resolves it through the entity definition with resolved(from:), and asserts a preserved property. This is a documented serialization round trip; it does not by itself demonstrate that an IntentPerson conversion or Siri’s cross-app routing executed. (medium confidence) — [source](https://developer.apple.com/documentation/appintentstesting/testing-your-app-intents-code.md)
- Apple demonstrates export as IntentValueRepresentation(exporting: \.person), where the app supplies an IntentPerson-valued property. The system can pass that representation into another app’s action without the exporting app selecting the destination action. (high confidence) — [source](https://developer.apple.com/videos/play/wwdc2026/240/)
- IntentValueQuery’s general requirement is func values(for: Self.Input) async throws -> Self.Result, with Input constrained to _IntentValue and Result to ResultsCollection. The contact demonstration specializes this to values(for input: [IntentPerson]) async throws -> [ContactEntity]; that specialization is an example, not the protocol’s universal signature. (high confidence) — [source](https://developer.apple.com/documentation/appintents/intentvaluequery.md)
- The representation initializer catalog documents async throwing export and import closures: exporting maps Item to IntentValue, importing maps IntentValue to Item. Export-only, import-only and bidirectional initializers are listed. The generic declaration constrains Item to Transferable and IntentValue to _IntentValue and Sendable. (low confidence) — [source](https://developer.apple.com/documentation/appintents/intentvaluerepresentation.md)
