Siri Shortcuts Tutorial - Step by Step Explanation (Part 3)


Hi, everyone!  This is Lara Hammock from the Marble Jar channel and in today's video I'll present the third and final tutorial on Workflow before it became Siri Shortcuts.  It didn't change much aside from the rebranding, so the basics are almost exactly the same, but I WILL point out some differences as we go along.  In this video, I'll do a step-by-step explanation of my favorite complex shortcut: Dictate for Directions -- just keep in mind that a Workflow is the same as a Shortcut in today's app. 
There are some Workflow tutorials on YouTube that are great and that taught me quite a bit.  What I really wanted, though, was a step by step guide walking me through a complicated workflow telling me everything that workflow was doing, including the inputs and outputs.  I didn't find this, so now that I have a slightly better grasp of how workflows work, I'm doing one myself!
My 2 previous videos are a tutorial-style explainer on Workflow, Actions, Inputs, Outputs, and Variables.  If you don't already know these basic concepts, I suggest you start with those videos before watching this one.  In this video, I'll break-down my favorite and most complicated Workflow that I've created and let you know what is happening at each step of the process.  
I'm the mother of two teenagers, neither of whom is driving independently yet.  That means that I spend A LOT of time in the car driving them and occasionally myself to practices, social activities, and events.  I have a terrible sense of direction, so I rely heavily on Google Maps both to determine the quickest way to get to places and for estimated arrival time.  Most of the time, I'm in the car by the time I need to look up directions, so I wanted to create a workflow that was simple and required very little typing on my part.  The workflow that I'm about to go through has five options for directions and each one has its own automation path.  Here are the five options:
  • Home - this just gives directions to my home from wherever I happen to be in Google Maps
  • Today's Appointments - this brings up all of the appointments on my calendar today where I have put in a location.  Once I choose an appointment, it gives directions to that location in Google Maps.
  • Business Name - this allows me to dictate a business name, like Starbucks for example, and brings up a list of matching businesses close by.  Once I've chosen from the list, it gives directions to it in Google Maps.
  • Contact - this allows me to dictate a first name and brings up a list of all contacts with that first name.  Once I've chosen from the list, it gives direction to that contact’s address in Google Maps.
  • Address - this allows me to dictate a street address and gives directions in Google Maps.
The very first action in this workflow is the Choose from Menu action.  This action allows you to set all of the options that you want the user to choose from.  You can see I've put the 5 menu items here.  The prompt is the question you can choose to ask when these options are presented.  I don’t need a prompt, so I'm leaving that blank.  The Choose from Menu action takes each option that you enter and creates a workflow stream for each one.  I'll show you with a blank one.  Then for each stream, you populate the actions that you want to happen for each menu item.  The subordinate actions are indented slightly under the menu item.  If I scroll through this workflow, you can see that each of the menu items has its own stream of subordinate actions.  Let's start with the first menu item
Home
This is the most straightforward menu item.  Okay the first thing I do is set my home street address that I want to pass to the next action.  The second action is to take the address passed from the last action and show directions.  It allows me to choose in advance whether I want to use Google Maps or iOS Maps (there is no comparison for me) and what mode of transport I'll typically use.  Okay -- let's run this and choose the Home option <pause>.  Next option is
Today's Appointments
Okay -- the first action here is Find Calendar Events Where.  The output of this action is going to be all of the events in my calendar that fit the criteria that I provide.  Here is the criteria - Start date is today.  You can also choose another date or a range of dates.  I want to make sure that I only pick calendar events where the location is filled in, so I pick the field (these are all of the fields to choose from) and only pull events with something in that field, so Location is anything.  I choose how I want this list to be sorted: by start date from oldest to newest and decide not to limit the number of choices.  If I wanted to limit, I would toggle this on.  Now that I have all of the events from today with a location, I'm going to pass those events to the next action, which is to choose from a list.  Meaning, this action presents my list of events to the user and requires a choice.  There is an option to allow multiple choices, but I just want the user to select one.  Once that event is selected, it gets passed to the next action, which is Get Details of Calendar Events.  Events are made up of lots of pieces of data.  We need to pull out just the location, so this is the action that takes an event as an input, pulls out the location address from that event (or whatever other piece of data you wanted to pass on) and passes that to the next action.  So the Show Directions action takes the location address from the last action, launches Google Maps and shows the directions from your current location to that address.  Let's just reveal all of the magic variables so I can show you what variables are being passed from one action to the next.  First a bunch of calendar events, then the chosen item (in this case an event), then the Details of Calendar Events (in this case the location address).  Here, let's run this one and you can see how it works <pause>  These first 2 options are the ones I use the most by far.  Okay the next menu option is
Business Name
The first thing I do is get some text into the workflow just by putting in a Text action.  I just type in the text to pass to the next action, which is Speak Text.  Because I mostly run these while I'm in the car, I don't want to have to do a bunch of typing or reading text.  So, I want this action to speak the question.  The Speak Text action will say outloud whatever text was delivered to it in the first action.  I have the rate and pitch set and have chosen to wait until the speaking is finish to go to the next action, which is to Dictate Text.  This action is a way to get dictated text into your workflow.  So, first the workflow says, "What is the business name?" Then brings up a dictation window to accept the spoken answer.  Now the text that has been dictated is passed to the next action, "Search Local Businesses" which is a Maps action.  I enter a criterion in this action that I only want to search in a 7 mile radius.  The action comes up with a list of businesses that match the critera: specified keyword and in a 7 mile radius and passes those business results to the next action.  The next action -- Choose from List -- displays those businesses and asks the user to select one.  The business selected by the user gets passed to the next action, "Get Addresses from Input."  So this action pulls addresses out of lots of different kinds of input, in this case, a business and then passes that address to Show Directions.  Let's take a look at the flow of data using Magic Variables.  Let's choose this in the menu and see how it works <pause>  The next menu option is similar
Contact
So here I do a similar combination of actions to speak the question and have the answer dictated back.  This time the question is "What is the contact's first name?"  So, then I feed the dictated text into an action called "Find Contacts Where", which pulls out my contacts that meet the criteria: first name is the text passed through as input.  Then those contacts are passed through to the action "Choose from List", which requires the user to choose one.  The chosen contact is passed to the action "Get Details of Contacts", which pulls out the address from all of the details of the contact and passes that to the next action, "Show Directions", which opens Google Maps and shows directions from current location to that contact's address.  Again, let's just take a look at the magic variables to see what info is getting passed from one action to the next.  And I'll run it to show you how it works. <pause>  Okay -- the last menu item was
Address
Basically, this one just allows me to dictate a full street address and have the directions show up in Google Maps.  I input the text for the question "What is the address?" to pass to the Speak Text action, which speaks the question allowed.  Then I bring up a screen to accept dictated info using the Dictate Text action, which I pass to the next action, Show Directions, which opens Google Maps and presents directions from my current location to that street address.  Here's how it works.  
So that is that.  I really wanted this kind of step by step explanation of a workflow as I was learning, so I'm hoping this video will be helpful to some.  Let me know what you think!  Comments are always appreciated and thanks for watching!

Comments

Popular posts from this blog

Pros and Cons of the Headway App

Review of Toshl Personal Finance and Budgeting App

The Subtle Differences Between Sweet, Nice, & Kind