The world has gone wild for Shortcuts home screens – including David and myself! In episode 11 of Automators we have gone into why you might want to try this crazy fad and how we’re using it ourselves, so – let’s dive in!
There’s numerous reasons why you might want to have Shortcuts on your home screen:
To run your shortcut, yes – an obvious one, but a worthy one.
To give you context – e.g. when I tap on my Automators icon I get the options I want when I’m wearing my Automators hat.
To run multiple actions at once – such as starting a timer.
To put one app or shortcut in multiple places, so Quip is in my Learn OmniFocus and my Automators shortcuts, but the Quip app itself could only be in one folder.
To assist less technical folks with an iOS device.
You can build these Shortcuts very simply: with a Choose from Menu and either Open App or Run Shortcut actions. I put together a short YouTube video on that for you.
One of the examples Shortcuts I talked about was my Home shortcut, this lets me choose from different scenes at different times of day – something you may want to incorporate into other Shortcuts, here’s how it works:
The trick is to format the date action to give you just the hour, and then you can nest if actions to get what you want. You can download this Shortcut sample here.
David talked about his Shortcut to take a nap – it sets an alarm and turns on Do Not Disturb. You can download that Shortcut here, it will ask you how long you want to take naps for too: Take a Nap.
David made a video where you can see how he does his different contexts with Shortcuts:
We also dived into customising Shortcuts, as promised here’s a Shortcut to put that blank character on your clipboard so you can have Shortcuts with no name: Copy Whitespace.
As we mentioned on the show, you can put Shortcuts just like these in a widget too – and here’s a bonus trick for you. Tap on Show More on your Shortcuts Widget, and then at the bottom tap Customise in Shortcuts – this lets you enable and disable Shortcuts in the widget, as well as change the order of them quickly.
Episode 8 of automators is all about filing documents automatically. We we said in the episode, one of the keys to success is good naming and structure – and I made a screencast which shows you how you can use Keyboard Maestro to rename files in a specific format that we need for our project slides at work – with incrementing numbers in the middle of the document name.
Episode 5 of automators is all about project templates, and how they can help you to be more productive. David and I are both OmniFocus users, but project templates can be used with almost every task management system out there – even Reminders!
The simplest type of project template is a project you can copy – this is easily done in both OmniFocus and Things, the advantage is it’s easy to set up, but it’s also static – what you have is what you get.
You can also store project templates somewhere else, the places I have used are:
One thing I have done is to import all of the templates I’d previously saved into Dropbox and iCloud Drive into Drafts – this was easily done by pressing and holding the + icon which then lets you import a file.
Something I use a lot when making templates for OmniFocus is TaskPaper – and I even made a Drafts Action Group to help me do so easily. What you can do with OmniFocus and TaskPaper is create a template in OmniFocus, copy it and then paste it into a text editor (like Drafts) to edit it – this allows you to put “fuzzy dates” in, such as “Thursday” or “Monday -2d”, the latter evaluating to two days before Monday. You can also include «variables» which the TaskPaper to OF action will then help you replace.
I demonstrated how to use this action group in a screencast for you:
Essay to OmniFocus
As the URL Scheme in Things doesn’t support adding headings I formatted the project in Things somewhat differently – however you can import a JSON which does support headings format so if you’re willing to get stuck in I’m sure you can figure it out!
Another Workflow/Shortcut I mentioned is the iOS implementation of these scripts:
Chris Suave: Templates Applescript for OmniFocus.
What they allow you to do is to store a project in OmniFocus and then run AppleScript, which will parse out «variables» and create a new project, with the help of the share sheet and two Workflows I recreated this functionality and wrote about it on Colter Reed’s blog: How to Fill Out OmniFocus Project Templates with Workflow | Colter Reed. What is probably interesting for you is that this is not one Workflow but two, and the second one is recursive – that is it calls itself until a condition is met, for this workflow that there are not more variables to parse. Using Workflows/Shortcuts as a function is something I rarely see but is extremely useful.
David also did a great screencast about how he uses Shortcuts to make project templates: plugin:youtube
Make sure to check out the show notes for all of the links, and I look forward to discussing this episode and all of your examples for project templates in the forums!
In the third episode of Automators we are joined by Sal Soghoian, AppleScript God, to learn about AppleScript and how to use it!
While David and I usually take it in turns to write up everything about the show and provide complete documentation, Sal’s actually done that for this week:
You can find the scripts, videos, and a complete breakdown of everything over at macOSautomation, along with all of Sal’s other things.
In this show Sal gave us 3 AppleScripts. The first takes a whole table, and converts it into a bar chart in Keynote, the second takes a row or column and makes a pie chart, and the final one takes selected rows and turns them into a chart.
The brilliance of this, is the first script is just 17 lines – that’s it!
Episode 2 of Automators is all about automating email. We all have email, and there are a lot of things you can do to automate it – from filters, to mail merges, and complete automation of sending emails.
This week’s episodes of The Automators is focused on calendar event creation. There are many ways you can automatically create calendar events, and it’s useful to be able to do so, to avoid losing information. You can also use calendar events as a trigger to do something – which we cover towards the end. Below there are details of all the automations we cover, including 4 (really, four!) screencasts.
Workflow: Calendar Event Templates
This is a very simple Workflow which asks me for the date and time of the event, and then what kind of event this is (the demo has 3 examples) – it then adjusts the time to add an appropriate length for the appointment and adds it to my calendar. This is very useful because I can never remember what floor my dentist is on or exactly where to turn to find my hairdresser – so I can add this to the notes. Even if the places you frequent are not hidden like mine are you can still use this!
You can get the workflow here: Calendar Event Templates Make sure to read on to find out about the “Run Workflow” action at the end of it.
Workflow: Add Event To Work Calendar
This workflow follows the first one, and is in fact run by it – or could be. It simply asks you if the appointment you’ve made is during working hours, and if you say yes, adds an event that starts half an hour before and ends half an hour after the appointment you’ve just created to your calendar. Make sure to tweak the calendar setting here! You can get the workflow here: Add Event To Work Calendar (Menu)
Of course, you can automate this too, this formats the date of the event as one letter (so Monday becomes M, Friday becomes F), and if it’s not Saturday or Sunday, checks if the event starts after 8 am but before 6pm – if yes it adds an event to your calendar. It’s not insanely complicated, but it’s not as simple as the Workflow above.
You can get the workflow here: Add Event To Work Calendar (Auto)
David’s Hyper Scheduling Workflow
Since February David has had an ongoing Hyper-Scheduling Experiment, which involves scheduling blocks of time in his calendar to provide a framework throughout his day. You can see his Workflow to generate some of the core blocks here.
Of course, one of the simplest ways to automate calendar event creation is repeats – and you can go from very simple up to fairly complex within that. The simplest repeats are every day/week/month/year, but if you go into the Custom... options then you can create repeats such as “On the first weekday of every month”.
Copy and paste
If repeating events count as automation (they do!) then copying and pasting events does as well.
CMD+D allows you to duplicate an event, and then you can drag and drop it.
CMD+C and then CMD+V lets you paste, if you select a new date before you paste then the event is automatically added to that day. In many apps you can even paste it in at the time you have selected.
Fantastical on iOS gives you the option to duplicate an event when you tap and hold on it, or when you swipe, and tap “More…”, BusyCal allows you to duplicate an event by force touching it. I personally prefer Fantastical as it immediately asks me for the new date where as with BusyCal you need to edit the new event.
Workflow: Copy a Calendar Event
This Workflow lets you choose from calendar events, and uses the chosen item to create a new event. It is currently set to use events from today, but you can easily change the filter in the “Find Calendar Events” action to look in the last week, the next week, or any time period of your choice.
I first mentioned this automation in episode 418 of the Mac Power Users, this is designed to help you take a list of events and quickly add them to the right calendars. As David mentioned on the podcast you could also use it to calculate dates backwards from a specific event (he used a trial as an example) to add other events or deadlines to your calendar.
The Keyboard Maestro Macro is very simple, it splits the text on your clipboard into lines, and then runs the following AppleScript on each line.
tell application "Keyboard Maestro Engine" to set myEvent to getvariable "Event"
tell application "Fantastical 2"
parse sentence myEvent with add immediately
This AppleScript merely sets a local variable to the Keyboard Maestro variable for the line, and then uses Fantastical’s AppleScript support to get it to parse the event and add it straight to your calendar. If you wanted to evaluate each event before it gets added then you would remove the with add immediately.
You can also make this system iOS friendly in two ways, the Numbers sheet itself of course works on iOS. But you can do two things with the list of events it generates, the first is to use a Workflow, Clipboard Events To Fantastical which goes through all the lines on your clipboard adding them to Fantastical for you. The second way is to use Drafts, with the Events in Fantastical action provided by Agile Tortoise.
As mentioned in the show, David has a great series of video tutorials for Fantastical where he guides you through the core features and some of the syntax options.
Adding event with AppleScript
As we mentioned in the show, AppleScript is not the most flexible when it comes to adding events to your calendar. However it is definitely possible! I highly recommend the official Apple documentation as a starting point for a script that works, There’s also a library called CalendarLib which is linked on the very helpful macosautomation.com.
Using web services like IFTTT or Zapier to automate things based on calendar events can be limited if you’re not using the “right” calendar system – so you can have IFTTT trigger things based on an event starting in Google calendar, but not in iCloud calendar. You can however use a variety of triggers from time and date, to RSS feed entries, to add events to your calendar on almost any system – as long as if it’s iCloud you have the IFTTT app installed.
In this last part of the show we talked about our two favourite automations related to calendars.
David – Meeting Confirmation
This workflow is really useful if you have meetings that you need to remind other people of, David actually has two – one for in person meetings, and one for scheduled calls. You can get them here:
I use this Workflow to help me review the events that have happened in the last week, as well as to prepare tasks for appointments in the upcoming week. This adds the calendar events from last week to a Drafts note, and combines any tasks you note down for the next week into Taskpaper and adds them to Omnifocus.
I’ve been asked several times if I have a podcast of my own, or a podcast about automation, and today I’m very excited to announce both: I’m launching a podcast with David Sparks on Relay FM called Automators.
We plan for every episode to be approximately 30-45 minutes in length, and will release them every two weeks. Every episode will be accompanied by a blog post either on my blog or on David’s where we provide all of the automations in the episode ready for download. The episodes will be released every two weeks on Fridays, which means you have the weekend ahead of you if you want to take our examples and go crazy!
This podcast is for everyone, you don’t need to be a super nerd or a programmer – we are giving you the finished automations directly so you can just use them. You simply need some imagination (to think of things to automate), and a willingness to try things.
If you want an RSS feed of the blog posts which will accompany the episodes, you can find it via Automators.fm – these will link straight to David’s blog post or my blog post, but is ideal for automation! We also have a YouTube Channel and a forum, where you can see any screencasts we make, and discuss every episode.
We created an episode 0 where we tell about the podcast, and David and I got a little carried away and made a Memoji version which you can actually watch!