Creating Project Templates for Things 3 with Shortcuts and Keyboard Maestro

If there’s one thing I’ve missed since moving from OmniFocus to Things, it’s the ability to use project templates. It’s hard to beat Omnifocus’s support for the TaskPaper format. Project templates can be created in a flash and added by simple text expansion tools.

That being said, it’s also hard to beat the design of Things, and for that reason, I set out to learn how to convert my templates.

In migrating to Things, I decided a number of them would be better off just scheduled as repeating projects in Things, which cut my list in half before I even started. Working at a university, most of my work tends to repeat each semester, but the actual dates of semesters tend to fluctuate slightly, so my projects tend to do so as well. I can, however, count on those projects happening roughly around the same weeks each year. With Omnifocus 2, it wasn’t possible to schedule a project to repeat yearly on say the first Monday of November, but it was in Things 3. It’s worth noting that repeats like this were added to Omnifocus 3, so if I were still using it, I’d have moved these templates back into Omnifocus too.

Unlike Omnifocus’s TaskPaper format, templates in Things 3 are possible through a URL scheme. If you’re interested in testing it out, Cultured Code has a really nice Link Builder to help you get started. While this works great for static projects and actions, it doesn’t let me create the variable templates I was trying to create.

Naturally, I turned to the trusty Keyboard Maestro to see if I could pass variables into a Things URL. It turns out Keyboard Maestro’s variable format doesn’t really get along well with Things’ URL scheme though. All those percentage signs make for a confused mess. I even found a post on Keyboard Maestro’s forums asking for Keyboard Maestro to play nicely with Things URLs, which I nervously bumped 8 months later out of desperation.

After hours of frustration trying to get it to work and searching relentlessly for a solution, I stumbled upon a blog post that used Alfred instead. While I was at least able to get this working, entering the variables was nowhere near as user-friendly as having the dialog boxes that I had been used to while using Keyboard Maestro. That being said, if you’re an Alfred fan, this may be just what you’re looking for!

Things Templates Using Shortcuts

At some point, I conceded that Keyboard Maestro wasn’t going to happen and tried my hand at creating them with Apple Shortcuts. Let me just say Shortcuts handled Things URLs beautifully. Having little to show for all my time dabbling with Shortcuts other than my Spotify playlist shortcut, I was surprised, to say the least.

The basic shortcut is only 5 actions (I’ve used my Book Project to help illustrate.):

  1. Ask for Input (e.g. What the’s title of the book?)
  2. Replace text (This finds spaces in whatever you inputted and replaces them with %20)
  3. Set Variable (In this case, to bookTitle) – I’m going to skip forward onto the remainder of the shortcut here for simplicity’s sake, but it’s safe to say you could keep reusing steps 1-3 to prompt for as many variables as you need. You can use them for any field supported by the URL scheme including (Notes, Tags, Deadlines, etc.) so there’s plenty of room for exploration.
  4.  URL (This is where you’d put your URL you got from Cultured Code’s Link Builder unless you’ve got the URL scheme down to which I’ll say Kudos! This is also where you’ll be replacing the fill-in areas with your variables from earlier. Admittedly this is kind of a pain because the URL is long, and the URL field in Shortcuts is a single line, but copy and paste works quite well if you’re using a keyboard.)
  5. Open URL – You’re done.

I was able to recreate all of my templates in Shortcuts fairly quickly by duplicating and then modifying this shortcut, and I can easily run them from Spotlight by typing in the name of the shortcut.

While I was glad to have my templates back in some form, it was fiddly having to grab my iPhone or iPad to generate a template when I was already on my computer.

Back to trying to get Keyboard Maestro to work…

Things Templates with Keyboard Maestro

Thankfully in the months since I’d bumped that post on the Keyboard Maestro forum, a kind soul by the name of gglick came to my rescue. (Note to self: Pay better attention to forum replies.) I really cannot take any credit for this because he or she really did the leg work to make everything work. Even better, the way it’s set up makes the template super easy to update – even easier than Omnifocus’s TaskPaper format in my opinion.

I’ll give gglick credit by linking to the post if you’re interested in the macro, but in short, the macro is 4 actions:

  1. Prompt the user for input (Note: Unlike with Shortcuts, you can add all the variables you want in this step.)
  2. Set Variable to Text (In this case, Keyboard Maestro is going to be doing most of the link formatting, so you can pretty much write out all your tasks in plain text with the exception of a few bits like the variables and the starting syntax.)
  3. Filter Variable with Percent Encode for URL (This turns all the spaces into %20 like Step 2 of the Shortcut earlier.)
  4. Open URL (Note: the URL you’re opening is actually the Variable you made in Step 2.)

As I did with Omnifocus, I’ve set up a macro palette to display the templates that I can trigger via the same keyboard shortcut (⌘+F4) I used with Omnifocus saving me from having to retrain any muscle memory. All this is is a macro containing the action “Show Macro Group”.

I know I spent countless hours trying to figure this out, so I’m sharing this in hopes it saves someone else time. Happy templating!

Photo by Andrew Neel on Unsplash

Advertisements

Creating Checklist Templates in Omnifocus

As a planner person, I LOVE checklists. I enjoy checking things off, but I really enjoy the feeling of knowing I haven’t forgotten anything. I’m also an efficiency junky, and I try to streamline things wherever possible which is probably why I like checklists even more. As David Allen says in his book Getting Things Done, “There is no reason ever to have the same thought twice, unless you like having that thought.” There are very few things I enjoy thinking about over and over again, and checklists mean I don’t need to waste my time and energy thinking about planning things I do regularly more than once.

Most of my checklists are for things that repeat regularly like finalizing the schedule for my student employees which happens every Spring, Summer, Fall, and Winter or getting new pay rates approved twice a year. These happen pretty regularly, but there are a lot of moving pieces involving different people, so if I don’t get moving on them by a certain time, I run risk of having an office without employees scheduled to work. I don’t want that, nor do I want the stress of missing something in the process that looming over me especially when these things all happen at the most chaotic times of the year. These checklists are set as repeating list in Omnifocus and help to make my life *slightly* less stressful.

Much to my dismay, some things in life happen over and over again but not regularly. Having the checklist saves me time, but having it repeat regularly wouldn’t work. These are things like a preparing for trip or bringing a new employee on board. The process is pretty much the same every time, I just don’t necessarily go on a vacation every 6 months {although I may try…} or bring a new employee on board exactly every 3 months.

In the past, I saved these lists randomly with no rhyme or reason. I had checklists saved as a Google documents, others in Microsoft Word, and some in Evernote. Trying to remember where one might be was a task in itself. Having to create a task to find a check list was silly, so in an effort to simplify, I wanted to have them in one place, and since Omnifocus is my place for tasks, it made sense to keep these checklists of tasks there as well.

In my last Omnifocus post, I went over my project hierarchy in detail, but I skipped over the “Templates” sections promising to go over them later. My templates folders are where I keep my randomly recurring checklists. I have separate template folders for both work and personal tasks, but you could also keep them all together in one folder. Each template checklist is saved as its own project, and I set the status to “On Hold” since I’m not actually working on them which prevents them from showing as available tasks.

To illustrate how I use them, let’s consider the following scenario of hiring a new student. After I’ve decided to hire a new student, I simply go to my “New Employee Checklist” template, right click it in the sidebar and select Copy to make a copy of it, and paste the copy into my Student Management single action list. From there, the only change I make is to add the new employee’s name in parentheses to the end of the checklist title. Once I’ve done that, I have a ready made list of everything I need to do from getting that new employee’s payroll paperwork submitted all the way up to making sure they’ve got all the required accesses for their first day on the job within just a few clicks.

I use a similar process when taking a trip, but this checklist is a bit more detailed. My “Taking a Trip” template includes sections for preparations, packing (broken down into categories), and things to do when I get back like unpack. The packing section includes the standard items I normally take with me on every trip, but also includes placeholders so I can list clothes for each day of the trip, and placeholders to remind me of extras I might forget like a bikini and flip flops for a hotel’s indoor pool or gear for snowboarding. The beauty of this is I get a generic list of everything I need to do before and after I leave that I can add to as I see fit. It’s also a place to keep all those things I always forget to do like turn the alarm clock off before I leave.

My use of templates is fairly straight forward and simple – just a project on hold that I copy and paste as necessary. They are there to serve mainly as reminders that I don’t mind tweaking here and there. For uber power users of Omnifocus that are really interested in the idea of templates, I’d recommend checking out Chris Suave’s Templates.scpt which lets you set variables and all sorts of crazy fun things that show you the power Omnifocus has. (Note: These were made for Omnifocus 1. I’m not sure if they will work with Omnifocus 2.)

Signature Update