Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create a Siri Intent that accepts input passed from user

I created a custom Intent with parameters like so:

enter image description here

I've donated it:

let intent = PlayIntent()
intent.color = color
let interaction = INInteraction(intent: intent, response: nil)
interaction.donate()

and it shows up correctly:

enter image description here

However, I'd like an Intent which accepts input from the user. Example, Messages.app:

enter image description here

How do I configure my custom Intent to handle input?

like image 867
David Albers Avatar asked Sep 28 '18 04:09

David Albers


People also ask

Is there an API for Siri?

The new Intents API serves to augment the strategy Apple unveiled last year at WWDC for Siri to be accessible through devices built with Apple HomeKit. Users can access the voice assistant on any approved device connected to their network.

What is a Siri intent?

Intents are the actions that can be performed by the user with Siri. With the custom intents, we can have better control over Siri Shortcuts. We can also create a custom Intents UI that can display some relevant information to the user without opening the app.


1 Answers

As far as I can tell, this functionality is not available for third-party shortcuts - by which I mean, the shortcuts not defined by the team who built the Siri Shortcuts (previously Workflow) app. All third party shortcuts show in the Shortcuts app with the text:

This action passes input through as output.

Confusingly, these built-in shortcuts often target third party apps, like Instagram or Overcast. It can be hard to tell which apps' shortcuts have been added by the app developers, and which have been added by the Workflow developers.

Alas.


References:

Shortcuts: A New Vision for Siri and iOS Automation on Mac Stories:

From what I've been able to gather so far, Siri in iOS 12 doesn't currently support the ability to pass an input message to a custom shortcut activated with a user phrase, and it's unlikely to gain such functionality in the first version of iOS 12. This means that Siri will only be a launcher for custom shortcuts, not an actual interface that can pass user commands for specific parameters at runtime.

Also, this tweet:

Here’s the thing about iOS 12 W̶o̶r̶k̶f̶l̶o̶w̶ Shortcuts. Workflow thrives on getting input, and passing along variables to other actions down the chain. But third-party Siri Shortcuts don’t allow for any data input or outputs.

like image 193
Andrew Bennet Avatar answered Sep 20 '22 15:09

Andrew Bennet