I am preparing new membership benefits from partner apps & services – from discounts to free passes – and looking for a set of beginning partners for the initial 3-month trial.
Hello Portland developers, Shortcuts folks, and Apple automation enthusiasts — I’m hosting another Siri AI Automators meetup this Thursday, July 23, from 7–9 PM in downtown Portland.
At the first meetup, we had a great time getting into the details: what apps should expose through App Intents, where Shortcuts makes those capabilities useful today, and what the new Siri and Apple Intelligence direction means for people building workflows on Apple platforms.
There is plenty more to talk about as the iOS 27 beta cycle continues, so bring a project, a question, an automation you’ve been working on, or just your curiosity. I’d love to keep meeting people locally who are thinking about all this – see you there!
Recently, the WVFRM Podcast devoted a full segment to App Intents and a question that will shape the new Siri: what happens when third-party developers can finally ship their iOS 27 integrations?
David Imel opened by explaining why the current beta mostly demonstrates Apple’s own apps, then Marques Brownlee, Andrew Manganelli, Adam Molina, and Ellis Rovin join a wider conversation about developer adoption, Google and Telegram, personal context, open protocols, and whether Siri can make app experiences useful without opening the apps themselves.
Here’s the transcript of their conversation:
Waveform conversation on Siri AI
David Imel — 01:01:43 Welcome back. Okay, this is sort of a rant and also sort of a I understand something now
Andrew Manganelli — 01:01:52 that I think a lot of people might not understand. Does
Andrew Manganelli — 01:01:54 that mean you’re seeing both sides of this?
David Imel — 01:02:07 All right. Ellis is not Okay. Are you on beta 3?
David Imel — 01:02:10 Yes. Marquez and I are all using iOS 27 beta 3. Okay. So, something that’s been kind of weird in iOS 27 in general, the beta,
David Imel — 01:02:22 is that, you know, we’ve talked a lot about how all of the Apple apps have all this special access to Siri. Siri’s the big update in iOS 27, and we’ve been wondering, you know, is Siri only going to be good with Apple apps? when I ask questions about personal context and it only sorts through my messages app, but it can’t go through Telegram, can’t go through Signal, stuff like that. If I ask it to send an email in Gmail and it just can’t do it. It can like open Gmail, but it can’t do anything else. You know,
David Imel — 01:02:51 the big question has been, is Apple going to try to keep people in their walled garden where if you use Apple apps, everything’s wonderful and dandy and nice and clean and beautiful? And I discovered an answer late last night.
David Imel — 01:03:04 Okay. Um, so as it turns out, Apple is allowing developers to, you know, allow their apps to give personal context, all of this stuff to Siri.
David Imel — 01:03:26 So, right now, you can do them in test flight. So, if you have a test flight version of an app, you can see what Siri might be able to do with it once everything comes out. Everyone’s sort of, you know, not officially reviewing Siri, but everyone’s just posting about like, here’s what Siri can do, here’s what Siri can’t do. Everyone’s frustrated. And it turns out we’re not actually going to see the full capabilities of the new Siri until it officially launches on like the iPhone 18.
Marques Brownlee — 01:03:56 Yeah. I think this is something that I found to be generally true for a lot of like a lot of the big iOS updates. You’ll see a lot of your apps get that update in September. Yeah.
Marques Brownlee — 01:04:08 So, they’re not pushing like when we got liquid glass, we had like months and months during the summer of like, oh, okay, what developers are going to embrace liquid glass? And not a whole lot of them did. And then September happened and the new iPhone came out and then everyone got the update and then a bunch of our most popular apps started to get liquid glass. Yeah,
Marques Brownlee — 01:04:24 I think that’s generally true about most of the big stuff in iOS, whether it’s adopting new features or new plugs that developers can jump into. That stuff will wait until the September drop.
David Imel — 01:04:35 Yeah, I think that the confusion around this is that we talked a lot about app intents, right, which is this ability for apps to have this list of functionality that can be used in shortcuts. And that’s been around for a long time. That’s been around for like 5 years. But the new version of iOS is introducing two new things. It’s introducing entity schemas and intent schemas. And uh entity schemas are like index cards. It tells the app this is a recipe. It tells Siri this is a recipe. This is a photo. This is a note. Siri can read those cards and it can answer however it needs to use that
Andrew Manganelli — 01:05:10 and has like a set number of category things.
David Imel — 01:05:13 Yes. Uh as far as I understand there are a ton.
David Imel — 01:05:32 Uh and then there’s intent schemas, which is the app that can tell the app can tell Siri like what buttons it’s allowed to press, sort of, you know. Mhm.
David Imel — 01:05:40 So, I think this is this is just a very different way than than Google looks at the AI version of Gemini using your phone because Google’s like, “We’re just going to have Gemini agentically press buttons on your phone.” Yeah. Figure it out.
David Imel — 01:05:52 And this is a very classic Apple mentality of like we will give you the the limited tools that we expect people are going to want to use. And to Apple’s credit, apparently that list is very very long. Although it apparently does not include flights.
David Imel — 01:06:08 Flights. Yeah. which is annoying for flighty. Very annoying for flighty. But the developers I talked to in over the last couple days were very very positive and excited about like when this officially launches and they were very intent on being like
David Imel — 01:06:25 we’re not really seeing the full version of the new Siri right now. It’s only in Apple’s apps because Apple’s apps have all these capabilities and they’re sort of seen as like the this is what your app should be able to do.
David Imel — 01:06:36 Um but until Yeah. until it officially launches, I don’t think we’re going to be able to see everything. So, the the big question is still, will Google adopt schemas and app intents,
David Imel — 01:06:50 it would be really nice. Uh we really need to push them to do that because again, without Google adopting that, it makes Siri half useless.
Marques Brownlee — 01:06:58 Yeah. So just for an example for that to be clear like right now if I ask about like where am I going to be in a week
Marques Brownlee — 01:07:04 it will go okay you’re asking for specifically for a calendar event so now let me search for a calendar event let me look at what all of the developers on this phone have labeled as calendar events right now that’s just Apple calendar because that’s Apple’s app and none the other apps have been updated yet
Marques Brownlee — 01:07:20 in the future we are hoping that other calendar apps specifically Google calendar
Marques Brownlee — 01:07:25 will also label all of their events as calendar events using this built-in tool so that Siri will be able to see those and we’ll be able to pull from that app and answer it.
Marques Brownlee — 01:07:36 So, as of right now, we just have Apple’s apps which like as I test Siri, I’m just getting like stuff from Google Photos, stuff from Google, sorry, stuff from Apple Photos,
Marques Brownlee — 01:07:45 stuff from iMessage, stuff from my calendar, and it’s it’s pretty simple. It also like fails at answering a lot of things cuz I say, “Oh, do you know this about me?” And it goes, “No.” Yeah,
Marques Brownlee — 01:07:56 but if I ask where was I, it will pull from the geol location of the photos that I took on those dates. So that’s pretty cool.
Marques Brownlee — 01:08:04 But yeah, from Apple photos. But it would be nice if there was some more third party support.
David Imel — 01:08:09 Yeah. And the reason this is very confusing is because again app intents have existed for a long time, but the old version of app intense was much more limited to the things that it could do because those are integrated to shortcuts. So everything that shortcuts can do, Siri AI should be able to do. Um, but now because we’re introducing these new schemas, it’s going to be a lot more um, yeah,
David Imel — 01:08:29 flexible. There’s going to be a lot more things that it’ll be able to do.
David Imel — 01:08:32 So, I’ve been seeing people tweeting like a lot throughout the week like, “Oh, has anyone actually seen any apps that support the new Siri yet?” It’s kind of weird that it’s not out. The reason it’s not out is because Apple literally does not allow it to be out yet.
David Imel — 01:08:45 Um, so hopefully we’ll see it in the full version
David Imel — 01:08:55 The rant is that it’s not a really Well, this is why I said it’s not really a rant. I’m just sort of clarifying because a lot of people are like a lot of people were thinking,
David Imel — 01:09:06 Apple walled garden approach of only letting the new Siri be magical with Siri
David Imel — 01:09:12 or with Apple apps? And if you like cuz I use Telegram a lot, right?
David Imel — 01:09:16 Yep. It can’t pull any of my personal contacts from Telegram right now, right?
David Imel — 01:09:19 But if Telegram supports app schemas when iOS 27 officially launches, then I’ll be able to pull messages from Telegram, personal contacts from Telegram. Yeah,
David Imel — 01:09:29 Google Gmail. If Google supports it, we really need you to support this Google. If you do not support this series, like semi useless,
Ellis Rovin — 01:09:37 just like how they put YouTube on the Apple Vision Pro.
Marques Brownlee — 01:09:54 Is Google so ubiquitous and powerful enough that it’s actually better for them to not support this because it makes Siri worse and it makes you more likely to want to use a phone that it does work on or is it not powerful enough and you’re going, “Wow, Siri doesn’t work with Gmail. let me switch to Yahoo mail. Like I think you’re probably going to keep using Google services no matter what. Right. So if it doesn’t if they choose not to support all these Siri intents, what does that mean for the users?
David Imel — 01:10:23 Yeah. Okay. So I talked to uh Matthew Cassinelli about this. He was on the shortcut shortcuts team when it got acquired by Apple. So he’s like very well versed in this stuff. And I asked him about this cuz I was like, “Hey, Gmail shows suggest like they show ads inside of Gmail when you open Gmail. So wouldn’t Apple not be incentivized or wouldn’t Google not be incentivized to allow Apple to just give you the information instead of opening the app?
David Imel — 01:10:47 And he said that’s kind of true, but at the same time, Google is already planning for a future where ads that are shown in front of you are not their main revenue driver.
David Imel — 01:10:57 Uh so he thinks that the experience benefit of the app having a good experience is going to be more important than actually opening the app in the future. Now, that’s probably a lot more true for smaller individual developers than it is for like Google who just wants to monopolize your eyeballs all the time,
Andrew Manganelli — 01:11:16 but it there’s still I don’t know. You got to weigh the pros and cons there.
Marques Brownlee — 01:11:20 Yeah, I do. I I feel like if it’s if you’re a smaller, more competitive developer, you have others who are in the same class as you, you’re like, “Oh, I definitely want to support this because all my competitors will, and if I don’t support it, people might not want to use my app.”
Marques Brownlee — 01:11:34 But if you’re Google, that is an interesting place to come from. I hope they support it.
Ellis Rovin — 01:11:38 I feel like there is a little bit of pressure on Google though to support it because if you have a bad experience in the Gmail app on iPhone, you’ll probably just download a different mail app or whatever.
Andrew Manganelli — 01:11:48 Or you’re not sitting there being like, “Oh, my iPhone’s broken. Why do I sound like an Australian Australian?”
David Imel — 01:11:55 Um, but yeah, they’re going to be like, “Google’s being a pain in the neck right now.” And also just like Google wants people on their services. If your services sucked on the hardware that 85% of Americans use
Andrew Manganelli — 01:12:08 well they shooting yourself in the foot.
Ellis Rovin — 01:12:10 Chances are they’ll switch email apps before they switch phones.
Marques Brownlee — 01:12:13 Well, they switch email services.
Ellis Rovin — 01:12:15 The reason they can switch email apps is because email is a open protocol.
Ellis Rovin — 01:12:19 Get the French horn. Get the French horn.
Andrew Manganelli — 01:12:23 So I will say honestly, yeah, if Google doesn’t support this stuff, I would probably switch email apps. I’m not like that tied to Gmail, the Gmail app. I just use it because I’ve always used it.
David Imel — 01:12:34 But if Siri could pull personal contacts from a different
David Imel — 01:12:36 from like Outlook or something.
Marques Brownlee — 01:12:38 Okay. The thing is you’re saying you’re switching your app, but like I switched to notion calendar, but notion calendar has to pull from Google calendar the service,
Marques Brownlee — 01:12:47 So is notion calendar able to show those flags?
David Imel — 01:12:50 I guess Apple calendar. Apple. Okay. Cal wait. If I do calendar for example,
Andrew Manganelli — 01:12:56 I mean it would be whatever calendar app supported the schemas.
Ellis Rovin — 01:13:00 I think calendar or mail because you’re just logging into your Google account on both of them. So it’s being reflected on Apple like it’s not the main thing.
David Imel — 01:13:07 Well, if you sync your Google calendar to your Apple calendar. Yes. It still has to pull the data from the Apple calendar app which doesn’t always transfer correctly.
Andrew Manganelli — 01:13:16 Yeah. Uh that’s that’s a whole another dimension that I’m not as an expert about. I I don’t think it would like Okay, iMessage, if I search for it in Siri, it has the entire history of all my iMes ever. Yeah. Because it can just pull from that.
Marques Brownlee — 01:13:40 So, it has it has the ability to go look that stuff up. Now, if I use a different email app, that’s even less connected. that’s now able to pull from Gmail the service, but it’s not it’s storing probably even less locally than the Gmail app is.
Andrew Manganelli — 01:13:52 But it could probably Siri could probably do a thing where it searches within the email app and then pulls the context out and just surfaces it to you without actually like
Andrew Manganelli — 01:14:01 and theoretically that’s the same level of access if it if it knows to go search the cloud.
Ellis Rovin — 01:14:06 It should be because of beauty of protocols
Marques Brownlee — 01:14:11 All right. I’m rooting for this protocol. To be fair, to be fair, email and calendar are like the worst examples of this cuz those are already open protocols and so you should be able to sync those your calendar and your email to Apple calendar and Apple mail anyway.
David Imel — 01:14:23 Yeah, photos is probably the better example.
David Imel — 01:14:25 Photos is a good example. Um,
Marques Brownlee — 01:14:29 WhatsApp is another one. Remember, you used to not even be able to have WhatsApp on multiple devices at the same time. Yeah.
Marques Brownlee — 01:14:35 So, if you wanted to search your WhatsApp history from your iPad, you would be like, “Well, I don’t know anything about WhatsApp cuz that’s on your iPhone.”
Marques Brownlee — 01:14:42 So, that’s another one.
Adam Molina — 01:14:44 Browser histories for freaking recipes. That’s where that’s the only place in my life where I need this. Do you know how annoying it is to be like, “Dude, I found
Adam Molina — 01:14:52 the best chicheronus recipe ever.” And you can’t remember. You didn’t save the link and you just want to know how much lime juice to add.
Adam Molina — 01:14:59 And so, you got to you’d have to use right now. You have to use Siri if you want to go. You got to go back to Google, find it. You got to click on a web page. You got to scroll through some childhood story of going to the Dominican Republic
Adam Molina — 01:15:11 just to just to get to the How is it my fault?
David Imel — 01:15:15 Because when you find a good recipe and you cook it and you know it’s good, you immediately copy all of the important parts into a note somewhere. Yes. Or Google.
Adam Molina — 01:15:24 When you find a good recipe and you make it and it’s good, you go numb and then you forget cuz you’re full. That’s a perfectly understandable experience.
Andrew Manganelli — 01:15:31 You didn’t enjoy it enough then. No, I enjoyed it so much I
Adam Molina — 01:15:33 that I never want to forget it again. Yeah.
Adam Molina — 01:15:35 Oh my god, there’s so many recipes where I’m like,
Marques Brownlee — 01:15:37 you don’t know if it’s good enough to save until you eat it. So, you have to eat it first.
Marques Brownlee — 01:15:42 Exactly. Sick the next morning.
Andrew Manganelli — 01:15:48 Or how many days are you going before you’re like,
David Imel — 01:15:51 “Oh, that was a good recipe four months ago, and now I have to find
Adam Molina — 01:15:54 all the time.” You by next day, you should at least be like,
David Imel — 01:15:58 “That was good. I should save that recipe.” And then it’s right there. No, no, no. This is why they’re inventing the robots, Andrew. This is exactly why.
Andrew Manganelli — 01:16:07 If there was anything I really wanted AI for, it’s terrible recipe websites.
Marques Brownlee — 01:16:11 Maybe we’ll pull from browser history.
Adam Molina — 01:16:24 Okay, wait. I do want to formally apologize to Ellis on the podcast because I have started using Safari again and it is a good browser.
David Imel — 01:16:33 I don’t think Adam’s opinions have any weight when he switches things every 3 months.
Adam Molina — 01:16:38 That’s why I wanted to try it. I was like, you know, I haven’t tried Safari in a long time. I’m always talking about it. Let me actually just try it out next week. It’s not bad.
Andrew Manganelli — 01:16:46 Pixel browser is so much better than Safari.
Marques Brownlee — 01:16:54 Arc Mobile is a solid browser.
David Imel — 01:16:56 Arc Mobile’s solid. I still use it.
Andrew Manganelli — 01:16:58 Come back. Arc browser is that building they just found in Manhattan.
Andrew Manganelli — 01:17:02 True. It’s a deep cut and potentially a deep collapse. All right. Jeez. Um
Source
Watch the full segment on WVFRM. The conversation runs from 1:01:43 through 1:17:06.
P.S.Transcript note: Every captioned line from the 1:01:43–1:17:06 segment is included below. The formatting adds paragraph breaks and linked turn timestamps. The wording comes from the July 10 automatic-caption transcript.
Speaker names are best-effort assignments based on the episode’s camera cuts, official credits, and self-identifying moments in the conversation; very short interjections may still be misattributed.
I’ve just added a new folder to the Shortcuts Library — my set of DoorDash shortcuts. Use these to find restaurants or dishes, check your past orders, order groceries, or shop retail. Also available as App Shortcuts from DoorDash:
Search in DoorDash: Opens DoorDash to the Search field with the keyboard active.
Show deals in DoorDash: Opens the Deals area in DoorDash where you can see Deals for You, Like Your Favorites, and More Stores.
Show orders in DoorDash: Opens your past DoorDash orders so you can see receipts, reorder, add reviews, or add photos.
Open groceries in DoorDash: Opens the DoorDash grocery tab where you can choose a store, then pick items to be delivered.
Open retail in DoorDash: Opens the Retail section of DoorDash where you can order products from stores nearby and have it delivered.
I’ve just added a new folder to the Shortcuts Library — my set of Waveform shortcuts. Use these to follow the show, listen to episodes, and pull directly from the RSS feeds for the Clips and MKBHD channels:
Watch the Waveform podcast on YouTube: Opens the deep link to the YouTube playlist for the WVFRM podcast – bookmark it to add it your Podcasts collection in YouTube Music. On iPad, waits 30 seconds for you to start a video and then goes to the Home Screen to activate Picture-in-Picture.
Open a clip from Waveform: Gets the Waveform Clips YouTube channel ID, extracts the RSS feed, presents a list of 15 recent videos, and opens the URL into YouTube.
Play a video from MKBHD: Gets the MKBHD YouTube channel ID, extracts the RSS feed, presents a list of 15 recent videos, and opens the URL into YouTube.
Follow Waveform: Opens the MKBHD Linktree website where you can follow the Waveform podcast on any channel.
Open Waveform on X: Deep links into the @WVFRM profile so you can see recent posts and follow the show.
We’re launching GPT‑Live, a new generation of voice models that make talking with AI feel much more like having a real conversation.
GPT‑Live is built on a full-duplex architecture, meaning it can listen and speak at the same time. During conversations, GPT‑Live can show it’s paying attention with phrases like “mhmm” or “yeah”, engage in quick back-and-forth, or just stay quiet when you need a moment to think. The result is a voice experience that is refreshingly easy to talk to.
A voice note. A photo of a napkin sketch. A question at 11pm. All handled before you’re back at your desk.
A team of agents, in your pocket.
And:
Chat from anywhere. Capture with text, voice, or photos. Take quick actions — create pages, draft updates, search across your connected tools — right from your phone.
New in iOS 27, Apple has a setting for the Shortcuts app called “Open shortcuts to” that lets you pick between “Describe a Shortcut” (by default) or the Editor.
“Choose what you see first when you create or open a shortcut. Describe with Apple Intelligence, or start directly in the editor.”
For long-time Shortcuts users like me, it was already common to skip past Describe a Shortcut and press the button with three lines to open to the Editor to find actions for the shortcut one already has in mind.
Plus, the Apple Intelligence logo in the corner can be tapped to go back into Describe a Shortcut at a moment’s notice.
Further, when returning to the Describe a Shortcut view, Apple Intelligence will summarize the actions and create a new bulleted description. I’ve long been asking for a Description field, so an automatic description is a great step.
On iPad, enabling this setting also restore the full-screen Library and Folder views, making Describe a Shortcut a toggle inside a shortcut view rather than attached on the side of the library.
On MacOS, there is currently no setting for this, and Shortcuts always shows the Describe a Shortcut view on the right side of the Library (with the Editor as a pop-out window for each new shortcut).
I’ll probably use the Editor view for now until Describe a Shortcut works better with actions from third-party apps, since I was skipping it every time. Plus, I’m happy it restores a more library-like view on iPadOS – even if only so I can take full-screen screenshots 🙂 I hope all brings the setting to macOS as well, and enables the full-screen library view when toggled.
New in iOS 27 developer beta 4, Apple has added a Restore button in the Settings for the Shortcuts app, as shown in Reddit user u/iBanks3’s post.
Located in Settings > Apps > Shortcuts, the caption reads:
“[X] shortcuts on this device aren’t currently in your library.”
Pressing the Restore button will open into the Shortcuts app and immediately add all the shortcuts available to be restored, placing them in your All Shortcuts view unsorted.
I personally had over 200 shortcuts to restore from iCloud, but it’s not clear to me when they were lost or why some are duplicates (indicated by a 1 at the end). That being said, I’ve recently deleted, re-added, and then re-deleted up to 4,000 shortcuts from my collection, so it’d be easy to slip through the cracks during that process.
Regardless, having an OS-level function to restore your shortcuts collection, should anything go wrong, will be a welcome peace-of-mind.
These updates help developers represent unique data as known values, tell Siri what data is relevant, improve performance with large collections, and make sure data inside Siri conversations stays in sync across devices.
Now, what happens when the same entity needs to work on multiple devices?
With our 2027 releases, Siri can continue conversations across devices – and your entities can be part of those conversations.
If your app runs on multiple devices, people might start a conversation on one device and continue on another. But there’s a challenge.
If I ask Siri on my iPhone to add a photo to an album…
…then switch to my other device and ask Siri to tag that photo – Siri might not be able to find that photo.
To understand why, let’s think about how entities are identified.
Every entity needs an ID – that’s how the system finds it. Your entity’s ID might be generated locally on each device. Local IDs work great eon the device they were created on.
But each device generates its own local IDs. So the same entity can end up with a different ID on each device.
For Siri to reference your entities across devices, it needs a stableID that’s the same everywhere. That could come from your server, or from CloudKit record IDs.
Then, you need a way to tell the system your entity’s ID is stable. That’s what SyncableEntity does – it declares to the system that your entity’s ID is stable and can be used across devices. Here’s how to adopt it.
I start by adding the SyncableEntity protocol to my entity.
Then, I need to provide the stable ID.
If your entity already uses an ID that’s the same across all devices, like a server-assigned UUID or a CloudKit record ID – no more changes needed.
c
But, if you use local identifiers, like CoreData row IDs, you need both: a local ID and a stable one.
a pairs them into a single ID.
On-device, your code uses the local ID…
…and across devices, the system uses the stable one.
In the WWDC 26 session “Discover new capabilities in the App Intents framework,” App Intents Engineer Moe Mehrabi talks about improvements to App Intents when working with large collections of data, by wrapping them in an EntityCollection of IDs rather than the full payload of every entity:
[…] Your entities are shared and the system knows when they’re relevant. Now, let’s make them more efficient.
Back in the travel tracking app – the app has landmark photos, but I also wanted to let people save their own travel photos.
So I added a photo album view. And to make the photos available to the system, I defined a PhotoEntity with an app schema for photos.
This gives the system the context it needs to work with my photos across Siri, Shortcuts, and Spotlight.
I also created an intent to tag my photos by keyword, so people could organize and find them easily.
As the photo library grew, I noticed something – tagging a lot of photos at once was slower than expected.
Let’s walk through the code to understand why.
The intent is very simple – it just adds a keyword to my photos.
It takes a list of photo entities and a tag as a @Parameter…
…and the Perform method just applies the tag to each photo item.
So, why was that actually a problem? Well, it has to do with how App Intents resolves parameters.
Before an intent runs, the system resolves every entity.
That means calling the entity query to populate all of its properties, so the intent has everything it may need.
For most intents, that’s exactly what you want. But in my case, this meant resolving hundreds or thousands of photo entities…
…even though my code only needs the entity ID to update my data model.
So, how do I fix this?
Entity Collection fixes this. It’s a new type that stores an array of entity identifiers instead of fully-resolved entities.
When you use EntityCollection as your parameter type, the system passes just the identifiers to the intent’s perform method – without resolving the full entities.
Here’s the updated code.
I changed my @Parameter type to EntityCollection…
…and passed the identifiers directly to my tagging method. That’s all it took!
To confirm the fix worked, I built a shortcut to find and tag 1000 photos.
First, with a regular array of photos entities (1,199ms).
Then, with EntityCollection, which was almost instant (4ms).
The code change was small, but the performance difference is significant.
If your Siri AI actions are slow, try EntityCollection. Don’t let your App Intents be the bottleneck.
Now, let’s talk about helping the system suggest entities when they are relevant.
Suppose you’re building a music app like CosmoTunes, the sample app from the video “Explore advanced App Intents features for Siri and Apple Intelligence.”
Your app has a brand new, high-tempo playlist that’s perfect for running.
When someone sets up a workout in the Fitness app…
…they get a list of suggested playlists. How do you get your playlist into those Suggestions?
Today, we have two ways to make your content available to the system.
The first is to index your context in Spotlight. This makes it available to people searching for your content in the Spotlight UI, including Semantic Search. This is also the primary way Siri is able to retrieve your content.
The second approach is interaction donation. When people take actions in your app, you donate those interactions to the system through the IntentDonationManager API. Over time, the system learns patterns and can suggest similar actions in the future. Siri also uses these interactions to delivery a more personalized experience.
But, what about that new playlist? Nobody’s searched for it in Spotlight because they don’t know it exists.
And since nobody’s played it, there’s no interaction either.
You need a way to tell the system this playlist is relevant, so it can surface it at the right moment.
Introducing RelevantEntities. With RelevantEntities, you can suggest entities to the system and provide context about when and why they’re relevant.
Here’s how this works.
You start by identifying the relevant entities – in this case, your running playlist.
Next, you create a context to tell the system these playlists are relevant when someone starts a run.
Then, you call updateEntities to register them. The system surfaces these playlists as suggestions in the right context – even if they were never played before.
Entities stay registered until you remove them. You can removeAllEntities for a specific context…
…Remove specific entities from a context, or…
Clear all entities across all contexts.
Now you have more options for helping people discover your content. How do you choose between them?
Use Spotlight when you want your content to be searchable and retrievable by Siri.
Use interaction donation to teach Siri and the system how people use your app – so it can identify patterns and suggest actions people may want to repeat.
And use RelevantEntities to hint to the system which content is relevant in specific situations – so the system can suggest it at the right moment.
For more on this topic, check out our new documentation on Spotlight and Interaction Donation.
This means developers now have three ways to tell Siri AI & the system what’s important: Spotlight indexing, interaction donations, ANDRelevantEntities; that’s also not OR – it’s all three.
I’m curious how this overlaps with ValueRepresentation too – can we recommend relevant entities of all types in other apps? The Fitness + Music app example seems to suggest so, but it’s just ambiguous enough given playlists are already a known type. If anyone can test it in their apps or knows the answer, I’ll update this post.
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?
Shortcuts already exist in macOS, and they’re awesome. Shortcuts in macOS let you automate repeated actions on your Mac, either with a click, a keyboard shortcut, Siri, the menu bar, Finder, the Share Sheet, or sometimes from inside apps. You can use them to resize images, extract text from PDFs, create calendar events or reminders, and much more.
They can, however, be a little tricky to create. That’s going to change with the new version of Apple’s software. macOS Golden Gate is going to use Apple Intelligence to make creating shortcuts easier. Instead of building fiddly automations manually, you can simply describe what you want using natural language and Shortcuts will build it for you.
On June 23rd, Josh Elman posted that he was leaving Apple to join a16z as a partner:
1/ I’m thrilled to announce that I’m joining @a16z as a partner to help find and support building the next generation of great consumer companies. Let me talk a little about why. https://t.co/vJ2mr3OqDh
What a day! So fun to bring Siri AI, the new power of Apple Intelligence and so many OS features it enables, and a deep new architecture with new models powering them to the world! Links below pic.twitter.com/qlG2iEmUBv
So, you’ve been a part of really every product cycle—the big ones and the small ones. So: Facebook, LinkedIn, and Twitter. […] TikTok (or Musical.ly), Discord, Robinhood. And now, most recently, leading product marketing for a lot of the AI efforts at Apple.
Here’s the episode description:
Anish Acharya sits down with Josh Elman to discuss the future of consumer technology and Josh’s decision to join a16z.
Over the past two decades, Elman has helped shape some of the most important consumer technology products and companies, including LinkedIn, Facebook, Twitter, Robinhood, Discord, Musical.ly, TikTok, and Apple. Drawing on those experiences, he reflects on how technology has evolved from a niche industry into a central force in everyday life.
The conversation explores consumer AI, product design, distribution, social networks, creator ecosystems, and the changing relationship between technology and human behavior. They discuss why AI may unlock an entirely new generation of consumer products, how discovery and distribution are changing, and what founders can learn from previous platform shifts.
Along the way, Elman shares his views on retention, network effects, product-market fit, and the opportunities he believes remain underexplored in consumer technology.
I’ve followed Josh since before his stint at Apple – it will be intriguing to see what kinds of consumer companies a16z invests in with him as a partner.
Definitely intriguing to hear someone from Product Marketing at Apple speaking about the broader state of technology as a whole in a new role.
Everything we’ve covered so far makes your entities and parameters more expressive and efficient. Now, let’s talk about execution.
When your intent runs – from Siri, Shortcuts, or any system surface – it only has 30 seconds to finish. That works for most everyday actions, but not every intent is that quick.
Now that my app supports tagging and organizing photos…
…I wanted to let people share their travel photos – uploading them to a shared album without opening the app.
So I created an upload intent and added a button to my widget to trigger it.
But with large photos, the upload takes time – and the intent kept failing because it couldn’t finish within the 30-second limit.
LongRunningIntent fixes this. It lets your intent run beyond the 30-second limit – and manages the background task lifecycle of your app.
And as your intent runs, progress updates appear automatically as a Live Activity.
Now, let’s check out the code.
Here’s the intent I wrote to upload my photos.
I’m conforming to LongRunningIntent.
I take a photo file as input.
Then, I wrap my work in performBackgroundTask for extended execution.
LongRunnningIntent requires the intent to report progress, so the system knows it’s still working and hasn’t stalled. And because it builds on ProgressReportingIntent, I get a built-in progress object to track my work.
I calculate the number of chunks for the file…
…and set the total count.
Then, upload each chunk…
…and update the progress as I go.
Here’s what happens when my intent runs. It can run longer and there’s a stop button right on the Live Activity, so the person can cancel it at anytime.
Though, it’d be great if my intent got a heads-up before being stopped.
CancellableIntent lets your intent clean up gracefully when cancelled – whether the person tapped cancel, the system timed out, or needed to reclaim resources.
Here’s how I can add cancellation support.
I add CancellableIntent…
…and implement the onCancel handler. When cancellation reason happens, handler gives me the reason…
…and I can use it to clean up partial uploads or cancel in-flight requests.
LongRunningIntent also supports background GPU access on supported devices for tasks like photo processing or on-device inference. Just make sure to add GPU access to your app’s entitlement.
As tasks being handled by App Intents become more and more complex, LongRunningIntent will be helpful in making things run smoothly for developers and users. Plus, it’s especially helpful for agents to finish their responses – like Codex for iOS’ release today.