An Overview on Automation
When using a multiple of productivity apps, the number of inboxes can get overwhelming. An email from a supervisor and a related task in a task managing app. Each app serves its own purpose, but a variety of apps cause noise. This causes the stigma, that productivity geeks are busier with handling their workflows than handling their work.
So, how to avoid such situations? Automation is one way to solve this. There are more situations, where automation helps making workflows more efficient.
The following will give an overview of apps and utilities worth mentioning when talking of automation. A more hands-on approach with screenshots and examples will be part of future setup articles.
Use cases for automation
Often, there are a number of jobs, which are always tackled in a row. When creating a calendar entry, creating a project in a task manager for that meeting. When booking a hotel, creating a calendar entry for that trip. Importing scanned documents into Evernote. Creating bills for finished projects.
These things can be arbitrarily complex. Parsing the OCR contents of a document to tag scanned documents. Filtering tasks into projects based on the title, and so on.
All these things can be automated with utilities for your operating system, scripting languages, or other tools.
This is not a method for doing automation, but often the desired result of it. A template is a preset of a document or project. This could be a form inside Evernote or Word, which already contains all fields ready to be filled out in a meeting. This could also be a project in a task manager.
For example, when I have meetings at my university, I have a template for that. It creates a project with tasks for preparing the meeting handout, printing it, maybe go through the notes from the last week. Then, there are tasks for jobs after the meeting: Write down some notes, archive all things into Evernote, and finally create a project for the next meeting. Using automation, this project is created with one click, based on a corresponding calendar entry.
Unfortunately, few apps directly support templates. Of course, the big ones do. It is possible to create a preset document in Microsoft Office, and thus get such behavior in apps like Word. It is less obvious to achieve this in other productivity apps, like most GTD apps, note apps, and so on.
Help from dedicated services
A disadvantage of premium services is often a vendor lock-in. Services are decentralized, have a proprietary format, do not allow much import or export. The sync usually works with their own apps, but there is virtually no method to get information from one app or service to another.
Or is there? There are third-party services, which aim to solve this issue. IFTTT and Zapier are two of the big ones. They have integration of various online services: Note applications, task management applications, social networks, cloud storage tools, and many more.
Each integrated service provides numerous interfaces for information exchange – usually classifiable as action and triggers, or input and output.
A trigger is something like an output of a service. A certain event will cause a trigger, and start a workflow. For example, a received email causes a trigger and start a workflow to process it. A newly created note can cause a trigger to file a task for it in a different app.
An action is an input to another app or service. Appending something to a note, creating a new task, Uploading a file, etc.
Using apps like IFTTT and Zapier, triggers are chained to actions. If something happens, another thing will happen. After setting it up, it will be automated and from then on work in the background.
IFTTT is a very convenient and free service. It has numerous integration into apps, which make it a helpful supporter in creating automated workflows. It classically supports a direct flow from one trigger to one action, which is indicated by its name: IF This, Then That. It is a simple nifty service, and does its job very well.
In contrast, Zapier is more like an enterprise alternative. The catalog of integrated apps is tremendous, and it provides more convenient ways to create powerful workflows. It allows for intermediate steps, more advanced settings, more regular polling of triggers. And this comes with its price: While there is a free plan, most of the advanced stuff and integration need a costly subscription.
Custom rules can be a very powerful tool to filter through emails. Previous articles mentioned how Inbox Zero and email rules can help minimizing the amount of incoming noise.
For example, people in higher positions might be on CC or BCC of dozens of people. Often, these emails are for reference and do not need active attention instantaneously. They can be archived to a CC folder with email rules. Similar, newsletters or mailing lists can be filtered to one or multiple subfolders accordingly.
It can be helpful to process emails on a per-sender basis. Think of a supervisor or boss, where almost all directly addressed emails certainly need special attention. I have set up a rule, which forwards emails from my supervisors to the inbox of OmniFocus, my task managing app – as a silent copy. Most email providers have some custom rule settings, often hidden in some advanced menus.
Custom rules give an opportunity to automate email workflows. Emails are said to be the number one attention killer, so streamlining the inbox might be one step towards efficient work.
There are services which can set up and handle custom email rules automatically. For example, SaneBox, Unroll.me, Mailstrom. These apps analyze existing and incoming emails. Based on senders, replying behaviors, and other factors, they try to create new rules on-the-fly using machine-learning algorithms. If interested, check out our review of SaneBox.
The previous sections gave an overview on automation for services. These tools are very helpful when working with Web services, emails, and other tools which are reachable on the Web.
However, how to approach automation for local tools? In everyone’s work, there are various apps running locally. Chaining these apps together, creating more efficient workflows, can be done by scripting. This might sound intimidating, though, especially when no knowledge about programming.
It does not need to. Recently, there has been a lot of development in this area. There are relatively easy to use utilities for all kinds of purposes. Some apps include drag and drop and easy UI based editing components to create the desired workflow.
There are a variety of utilities which can help with automating jobs. In the following, a couple of helpful apps for Desktop and Mobile platforms are introduced.
Automation on Macs
On Mac, there is AppleScript. While AppleScript will be intimidating for people without programming knowledge, it is a very powerful tool. Due to the perfect integration into the API of macOS and lots of end-user apps, there are plenty of scripts already available online.
For example, the developers of OmniFocus provide their own scripts and tutorials to use AppleScript for their apps. AppleScripts will look like the following:
This is an example from the afore-mentioned OmniFocus guides. It will grab the current song in a radio app called “Radium”. Based on the track name, which is a variable provided by the Radium API, a OmniFocus task is created.
I will admit, that this screenshot looks intimidating at first, and probably also second glance. But, various scripts already available online make the work with AppleScript very example based. Often, it is easy to find a script which already exactly does, what it is supposed to do.
Small changes, here and there, and the workflow is up and running. All scripts are entirely text-based and compiled locally, so one can always look at example scripts and modify them. This way, one can enjoy the power of AppleScript without spending hours of learning its syntax and commands.
On macOS, there are a couple of other interesting tools worth mentioning when talking about productivity and automation.
TextExpander (my review) This app by SmileSoftware is a great example of a utility, which is designed to save time. It allows users to create text-snippets. Writing a short snippet like “.rt” can be made to be expanded to “Reply to this emails — “. This can be used to easily create templates for task managing apps, note apps or even full emails.
TextExpander provides a templating engine with placeholders, dynamic elements like date fields, and more. A full business email can be written in advance – and just be used with a “.mail1” shortcut. TextExpander will replace it with a full email, and dynamically ask for the appropriate contents of placeholders, and the email is ready to go:
Their app can sync across all platforms (including macOS, iOS, iPadOS and also Windows). For macOS and Windows, the keyboard snippets are automated (meaning, you define a snippet and it'll be usable more or less system-wide.) On the mobile platforms, it is not as easy as such system-wide integration is not really possible for developers. Instead, TextExpander has integrations into popular apps such as OmniFocus or Drafts, to make it still work on a per-app basis.
Hazel Another utility by a company called NoodleSoft. This app can automate files. For every file in a folder, do a certain script.
As an example says more than a thousand paragraphs: The following Hazel script will watch a folder for new files. Newly created files will be renamed in a certain pattern, added to Evernote with an embedded AppleScript script, and then moved to trash:
My use case: I am using a Scanner, which already puts newly processed documents into a Dropbox folder. The Hazel script is used to watch this Dropbox folder, process each file, and adds it to my archive (which is Evernote.) As the watched folder lies inside my Dropbox, I can even upload files from remote places, and my machine at home will archive them. Due to the complexity of Hazel, other steps can be included: Pipelining it into an OCR app, creating an OmniFocus task with it, and more.
This is just an overview of utilities, which can make life (and work) on macOS easier. All these tools are very powerful on their own. When going even more advanced, it is also possible to combine these applications. Hazel provides integration into AppleScript. The same is true for advanced TextExpander fields.
Mobile automation on iOS
On iOS, there are a couple of tools almost as powerful. Long time, the mobile platform was kind of stiff. The sandboxed nature of mobile applications did not allow efficient workflows. In recent years, this has changed for the good.
iOS by itself started providing better tools for integrating multiple apps. Of course, newer versions of iOS support very great multi-tasking, especially iOS 11 on the iPad. Furthermore, improvements of the Share extension and Siri make working with multiple apps much nicer.
The previously mentioned TextExpander, which provides an opportunity for automating text input and templating on macOS, also provides an app for iOS. Due to the sandboxed nature of iOS, not all apps are supported. There is, however, a list of more than 70 apps, which support TextExpander on iOS. These apps will get the same snippets and templating engine as available on macOS. The snippets will sync in the background and make for great platform agnostic workflows.
On top of that, there are great power tools, which help with other more advanced workflows. Apple introduced a feature called X-Callback-Url, which allows apps to send commands and information to other apps. One app, which makes perfect use of this, is called Workflow.
Originally created by the people behind DeskConnect but later bought by Apple, Shortcuts is a very powerful app to automate workflows on mobile platforms.
Similar to scripting on macOS, the Shortcuts app provides tools to chain multiple apps together. Supported applications can provide something like an API for Workflow to use. Various apps have API integration into Shortcuts. With extra functionality for string processing, dynamic input, handling basic datatypes, and loop functionality, this is almost like AppleScript on mobile devices.
A created workflow is like a script. It automate a couple of jobs, can take input from the user or apps, process data, and output the results to the screen or a receiving app. But, in comparison to scripting language, it is much more intuitive: The GUI provides drag and drop layouting of the workflow. Actions and triggers can be puzzled together, even loops are considerably easy to create.
A workflow can be triggered from the home screen, widgets, the Apple Watch, or via the share extension. With the share extension, it is possible to pre-process shared information before sending it to another app.
Shortcuts will also work with Web APIs. Premium services for productivity often have REST APIs to remotely access data and functionality. One of these is Toggl, a Web-based time tracking tool. Using their REST API, it is possible to make workflows which access reporting data, start tasks, and so on. With Shortcuts, this API can be accessed as part of iOS workflows. How cool is that? Over at MacStories, they provide a thorough guide on the possibilities of this.
In the beginning of 2017, the company and its app have been bought by Apple. There still have been major updates to the app, so the app is by no means discontinued. However, this shows Apples interest in power-user workflows on the iPad. It might also be a hint at parts of Workflows functionality being integrated into iOS in future releases.
As Shortcuts is an app on the device, it has the same limitations as other apps: sandbox boundaries. For more advanced workflows, this is solved by the iPad constantly jumping between apps. If these functionalities are integrated into the operating system at some point, workflows could have even more advanced functionality over the bounds and limitations of sandboxing.
Automation on other OS
For other operating systems, scripting languages are often not as intuitive as those available for the Apple eco-system.
In Windows, PowerShell can be a powerful tool to do things on a command line like processing text files or piping commands. To automate input, there is an app called AutoHotkey. Using it, it is possible to write scripts which automate any keyboard or mouse input. This way, using apps can be automated. Beware, that the setup is rather complex.
TextExpander, which has been introduced in the Mac automation section, is also available for Windows. After creating so-called text snippets, the input of a trigger word will substitute it with any text. Using that, it is easy to create templates for emails or formal texts. A text snippet can also contain dynamic elements like date, time, scripting elements or variables which are filled in by the app.
On virtually any Desktop platform, using Python, Bash, and similar tools have no limits on what can be done, as they qualify as full programming languages.
However, these tools lack integration into end-user apps, one of the main strength of AppleScript. Furthermore, they are usually command-line-based or text-based. They will not provide an easy UI component to set up. Without deeper programming knowledge, these tools are not suited for productivity workflows. On an advanced level, they can be powerful, but this goes far beyond the scope of what this article can provide.
Automation is a powerful tool for streamlining workflows. It makes using multiple tools more efficient so that one can focus on the work itself, rather than the productivity suite.
For combining various web services, there are IFTTT and Zapier. These services can chain all kinds of other unrelated services together. For email, custom email rules and external services like SaneBox can be a tremendous help in labeling and sorting incoming emails.
On Apple platforms, there are various tools which can help chaining tools together. On its mobile platforms, the Shortcuts app gives a great foundation. On macOS, AppleScript is a very powerful tool, which can access lots of APIs. TextExpander can sync keyboard snippets across both platforms with integration into various apps on the mobile platforms.
On non-Apple platforms, it is unfortunately not as intuitive and needs a rather advanced programming knowledge.
Disclosure: This post may contain affiliate links. This means I may make a small commission if you make a purchase.
Dr. Marc A. Kastner
I am an assistant professor working on computer vision and multimodal understanding. I am interested in task- and knowledge management. In my free time, I blog on productivity workflows and apps.
For my professional portfolio, please visit: marc-kastner.com
Creating OmniFocus projects from templates and calendar events
Today I want to showcase one of my most favorite automation workflows I am regularly using on my iPad. When preparing regular events or …Read More...
How to select the best to-do list to boost productivity
When looking at options for to-do lists, there are so many tools. How to choose the right one? What are the best options for which kind of …Read More...
Evernote web clipping plus todo lists as read-later tool
There are often things you read in web, which are actually interesting, but just come in the wrong moment. Directly before a meeting, or …Read More...