Teach Siri AI to Share Structured Types Without Known Formats Across Apps with ValueRepresentation
Some apps have unique types that Siri AI can't understand by default โ ValueRepresentatino helps teach the system about your type.
In the WWDC 26 session โDiscover new capabilities in the App Intents framework,โ App Intents Engineer Moe Mehrabi talks about ValueRepresentation, a way for apps to mark up their structured types that donโt fit into existing file types in such a way that other apps on the systemโand, more importantly, Siri AIโcan understand them:
Your entitiesโyour appโs content, like a landmark or playlistโlive inside your app. But the people using your app donโt. They move between apps all the time.
Letโs go through a pair of examples using Mail and Maps with my travel tracking app.
I built a shortcut to share trip ideas with friends. It finds a nearby landmark and its it along with a message. My entity conforms to Transferable from the CoreTransferable framework.
So the shortcut can share it in a format mail can use. And that works great.
But what if, instead of sending it to a friend, I want to get directions to that landmark? Well, that wonโt work.
Maps needs some structured information, a coordinate, an address, or something it can navigate to. But that kind of data doesnโt have an associated format that can be put in a file or data.
The existing file and data representations work great for known formats like PDFs or images โ but not for structured types that donโt have any [format].
This is where ValueRepresentation comes in. Itโs a new representation that lets you share a structured type that the system already understands.
Hereโs my Landmark entity. It represents a place in a travel tracking app.
It already conforms to Transferable, so I just need to add a ValueRepresentation alongside any existing representations.
Inside my ValueRepresentation, I export my landmarkโs coordinate and name as a PlaceDescriptor from the GeoToolbox framework. PlaceDescriptor carries coordinates and other metadata that Maps needs to navigate.
If my entity already has a PlaceDescriptor @Property, I can skip the closure entirely and use a key-path. Same result, much less code.
So, going back to my shortcut โ I tap run, my landmark flows to Maps as a PlaceDescriptor, and Maps opens with directions to the landmark.
Your entities now have more ways to travel across apps.
The core experience here is making sure Siri AI can take your app and connect it with another app, without the content failing to transfer. Itโs like Transferable, but for representing unique values rather than known types.
Given this, Iโm super intrigued with the idea of apps specifically designed to share their unique types with other apps. What if there was a suite of apps that all knew about each othersโ data? What kind of experiences could they create?