Released on March 1, Workflow 1.7.1 brings the ability I’ve been waiting for—calling an existing workflow inside another workflow.

I’ve been tracking the time I spent on various personal activities, mostly my reading activity, for more than five years. Along the way, I’ve tested a number of apps and web services and always itched for a more efficient way to do the tracking. Putting aside how much productivity tracking the time can endow you, the very procedure of starting and stopping a timer with most apps is not productive at all. Sometimes I would rather not to trigger a timer, simply due to the hassle of unlocking my phone, launching the app and hitting the start button.

Everything’s changed with the advent of Workflow app on iOS.

I was amazed by the smart workflow designed by Federico Viticci, where he had been able to leverage Workflow’s interacting with Toggl API to substantially simplify the process, and I was even more surprised to see the enhancements Federico later introduced in Club Macstories Newsletter that each workflow was dedicated to an individual timer associated with a set of pre-configured options, such as project, task, tags, description, etc., with which (plus a minor change I made, tailored to my needs) I can start and stop my timer right in the iPhone’s widget by a single tap.

Never have I been so satisfied with the time tracking application.

But over time, that has created a new problem. My iPhone’s widget is packed with timer workflows ( I have about 10) that overwhelmed the other ones that I need too on a regular basis.

I stated the concern and asked Federico how to overcome this issue, possibly by composing a master workflow that would provide a list of timers, letting me select the one I’d use, so that instead of having 10 independent workflows in the widget, I would have one, which is a menu.

Federico’s solution was to take advantage of Workflow URL scheme. Each timer workflow has its unique URL address, and the master workflow can call it by opening that URL.

However, the real headache is that, opening a URL requires launching the Workflow app, before which I have to unlock my iPhone.

More actions needed. Productivity declined. So I abandoned this method.

Indeed, noticing this issue, Federico said,

This isn’t the most elegant solution (I wish the widget could execute a referenced workflow in the background without launching the app).

What Workflow’s New Feature Brings

With the 1.7.1 update, instead of opening a URL, which would inevitably ask for launching the app, Workflow can now directly call an existing workflow, a big difference. The fun part is that, since a workflow can be run entirely in the widget, it still holds when you call the workflow inside another one. In my case, shown below, I composed a master timer workflow that firstly prompts a list, and, upon selecting, run the according workflow. Everything is done in the widget without unlocking the iPhone.


More to Expect

Months ago, I wrote to the Workflow team, requesting enhancements to polish the use model, especially when it comes to composing long workflows, including:

  1. A “cancel” button, in addition to the “done” button, so that I can ditch what I have edited and start over.
  2. The ability to “comment out” certain actions.
  3. Copy and paste. This has been partly solved by the Magic Variables, but it still lies in my request list in the general sense.
  4. Fold/unfold actions, useful for reading workflows on the iPhone where the space is limited.
  5. Read-only mode.

These requests haven’t come true yet (maybe the Workflow team has better ideas in tackling with these issues), but what have come out this year, the Magic Variables and this update, make me strongly believe a lot to expect this year.