Siri Conversation - Two Way Voice Interaction / Voice Menu Selections

Yesterday I needed to capture a Slack message url to OmniFocus while on the road.

While creating a quick speak text + voice to text, I realized the string of actions: “text, speak text, dictate text, do something” get cumbersome when you’re trying to execute multiple voice interaction prompts.

Here’s the original VTT OmniFocus workflow.

  1. Text: “Action Name:”
  2. Speak text
  3. Dictate text
  4. Text: “Set a due date?”
  5. Speak text
  6. Dictate text
  7. IF
    spoken text contains “Y”
  8. Text “When is it due?”
  9. Speak text
  10. Dictate text
  11. Text “Flag it?”
  12. Speak text
  13. Dictate text
  14. IF
    spoken text contains “Y”
  15. Number “1”
  16. Number “0”
    18.-22 More logic asking if we should set the clipboard to the new OF action URL
  17. New OmniFocus item
    Name uses magic var from action name dictate, flagged uses bool magic var from is flagged dictate, due date uses magic var from due date dictated, etc.

So, the Shortcut described above works, but it’s kind of a hassle to replicate the conversation logic each time, especially across multiple Shortcuts.

The Siri Conversation Shortcut I made, download link below, modularizes a bunch of the voice logic. The workflow listed above can get trimmed to about 12 actions.

Perhaps the neatest nerd itch scratched is the ability to output a 1 or 0, in any Shortcut, with just two actions—a text action and a run Shortcut action.

Siri asks the question you specified then outputs a 1 if you speak “yes” (yeah, yup, yep, yay also return 1)
otherwise a 0 is returned, then you can write whatever conditional logic you need using the bool provided.

So that’s fun. How about if Siri would only accept certain voice input phrases? About that;

You can also pass a list of items to this Shortcut, they’ll be read out loud, and you’ll be prompted to say one of the choices. If your voice input doesn’t match on of the items, it’ll loop to read the list again and wait for your input. Then, once you’ve spoken a valid option, it’ll get passed as the output.

Want to just ask a question and input voice text? Same deal, only this time include a “:speech_balloon:” on the second line. Siri will read your question then wait for whatever you say and pass that along.

I can see this being a nice little enhancement to all sorts of Shortcuts. Like, some mornings I don’t need to hear the weather, so “Want to hear the weather?” “No thanks” and you can easily bypass your weather report.

What do you think? You like?
Say hello @pikemilsner


1 Like

Hi Pike

This is great. I’ve been using it for a while in the free text question capacity.
However I just tried to use the simpler 0 and 1 option and it’s returning 0 regardless of yes or no - is this down to a change in iOS?